Richiamando gli script

Sezione precedente, Utilizzando parametri sostituibili (preprocessore del Registrar), discusso map e ha introdotto due dei metodi del Registrar AddReplacement e ClearReplacements. Il Cancelliere ha otto altri metodi specifici per lo scripting. Tutti e otto di questi metodi sono descritti nella tabella seguente e richiamare il Cancelliere su un particolare script.

Metodo. Descrizione della sintassi
ResourceRegister HRESULT ResourceRegister (LPCOLESTR NomeFileris, UINT nID, LPCOLESTR Tipodm );

Registra lo script contenuto nella risorsa di un modulo. NomeFileris indica il percorso UNC del modulo stesso. nID e Tipodm contengono rispettivamente della risorsa ID e tipo,.

ResourceUnregister HRESULT ResourceUnregister (LPCOLESTR NomeFileris, UINT nID, LPCOLESTR Tipodm );

Annulla la registrazione di script contenuto nella risorsa di un modulo. NomeFileris indica il percorso UNC del modulo stesso. nID e Tipodm contengono rispettivamente della risorsa ID e tipo,.

ResourceRegisterSz HRESULT ResourceRegisterSz (LPCOLESTR NomeFileris, LPCOLESTR IDdm, LPCOLESTR Tipodm );

Registra lo script contenuto nella risorsa di un modulo. NomeFileris indica il percorso UNC del modulo stesso. IDdm e Tipodm contengono rispettivamente identificatore di stringa della risorsa e il tipo.

ResourceUnregisterSz HRESULT ResourceUnregisterSz (LPCOLESTR NomeFileris, LPCOLESTR IDdm, LPCOLESTR Tipodm );

Annulla la registrazione di script contenuto nella risorsa di un modulo. NomeFileris indica il percorso UNC del modulo stesso. IDdm e Tipodm contengono rispettivamente identificatore di stringa della risorsa e il tipo.

FileRegister HRESULT FileRegister (LPCOLESTR nomefile );

Registra lo script in un file. nome del file è un percorso UNC in un file che contiene (o è) uno script di risorsa.

FileRegister HRESULT FileRegister (LPCOLESTR nomefile );

Annulla la registrazione di script in un file. nome del file è un percorso UNC in un file che contiene (o è) uno script di risorsa.

StringRegister HRESULT StringRegister (LPCOLESTR dati );

Registra lo script in una stringa. dati contiene lo script stesso.

StringUnregister HRESULT StringUnregister (LPCOLESTR dati );

Annulla la registrazione di script in una stringa. dati contiene lo script stesso.


ATL utilizza i primi due metodi indicati nella tabella (ResourceRegister e ResourceUnregister) in Atlimpl:

LPCOLESTR Tipodm = OLESTR("REGISTRY");
GetModuleFileName (pM-gt; m_hInstResource, szModule,  MAX_PATH);
LPOLESTR pszModule = T2OLE(szModule);

Se (HIWORD(lpszRes)==0)
{
   Se (bRegistrazione immediata dei bollettini)
     HRESULT = p - > ResourceRegister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), Tipodm);
   altro
     HRESULT = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), Tipodm);
}
altro
{
   Se (bRegistrazione immediata dei bollettini)
     HRESULT = p - > ResourceRegisterSz (pszModule, lpszRes, Tipodm);
   altro
     HRESULT = p - > ResourceUnregisterSz (pszModule, lpszRes, Tipodm);
}

Si noti che szModule contiene il valore acquisito da GetModuleFileName.

I prossimi due metodi indicati nella tabella, ResourceRegisterSz e ResourceUnregisterSz, sono simili a ResourceRegister e ResourceUnregister, ma consentono di specificare un identificatore di stringa.

I metodi FileRegister e FileRegister sono utili se non si desidera che lo script in una risorsa, o se si desidera che lo script in un proprio file. I metodi StringRegister e StringUnregister consentono il file RGS per essere memorizzata in una stringa allocata dinamicamente.

Index