Invocando Scripts

La sección anterior, Parámetros reemplazables con (el Secretario del preprocesador), examinaron mapas de reemplazo y presentó dos de los métodos del Secretario, AddReplacement y ClearReplacements. El Secretario tiene ocho otros métodos específicos de secuencias de comandos. Ocho de estos métodos se describen en la tabla siguiente e invocar al Secretario en una determinada secuencia de comandos.

Método / Descripción de la sintaxis
ResourceRegister HRESULT ResourceRegister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType );

Registra la secuencia de comandos contenida en el recurso de un módulo. resFileName indica la ruta de acceso UNC al módulo de sí mismo. nID y szType contienen el identificador y el tipo, el recurso, respectivamente.

ResourceUnregister HRESULT ResourceUnregister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType );

Anula el registro de la secuencia de comandos contenida en el recurso de un módulo. resFileName indica la ruta de acceso UNC al módulo de sí mismo. nID y szType contienen el identificador y el tipo, el recurso, respectivamente.

ResourceRegisterSz HRESULT ResourceRegisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType );

Registra la secuencia de comandos contenida en el recurso de un módulo. resFileName indica la ruta de acceso UNC al módulo de sí mismo. szID y szType contienen el identificador de cadena del recurso y el tipo, respectivamente.

ResourceUnregisterSz HRESULT ResourceUnregisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType );

Anula el registro de la secuencia de comandos contenida en el recurso de un módulo. resFileName indica la ruta de acceso UNC al módulo de sí mismo. szID y szType contienen el identificador de cadena del recurso y el tipo, respectivamente.

FileRegister HRESULT FileRegister (LPCOLESTR nombre de archivo );

Registra la secuencia de comandos en un archivo. fileName es una ruta de acceso UNC a un archivo que contiene una secuencia de comandos de recursos (o es).

FileUnregister HRESULT FileUnregister (LPCOLESTR nombre de archivo );

Anula el registro de la secuencia de comandos en un archivo. fileName es una ruta de acceso UNC a un archivo que contiene una secuencia de comandos de recursos (o es).

StringRegister HRESULT StringRegister (LPCOLESTR datos );

Registra la secuencia de comandos en una cadena. datos contiene la secuencia de comandos.

StringUnregister HRESULT StringUnregister (LPCOLESTR datos );

Anula el registro de la secuencia de comandos en una cadena. datos contiene la secuencia de comandos.


ATL utiliza los dos primeros métodos que se muestran en la tabla (ResourceRegister y ResourceUnregister) en atlimpl.cpp:

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

Si (HIWORD(lpszRes)==0)
{
   Si (bRegister)
     hRes = p - > ResourceRegister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
   otra cosa
     hRes = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
}
otra cosa
{
   Si (bRegister)
     hRes = p - > ResourceRegisterSz (pszModule, lpszRes, szType);
   otra cosa
     hRes = p - > ResourceUnregisterSz (pszModule, lpszRes, szType);
}

Tenga en cuenta que szModule contiene el valor adquirido de GetModuleFileName.

Los dos métodos que se muestran en la tabla, ResourceRegisterSz y ResourceUnregisterSz, son similares a los ResourceRegister y ResourceUnregister, pero le permiten especificar un identificador de cadena.

Los métodos FileRegister y FileUnregister son útiles si no desea que la secuencia de comandos en un recurso o si desea que la secuencia de comandos en su propio archivo. Los métodos StringRegister y StringUnregister permiten el archivo .rgs almacenarse en una cadena asignadas dinámicamente.

Index