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.