La section précédente, à l'aide des paramètres remplaçables (le préprocesseur de Registrar), discute des cartes de remplacement et introduit deux des méthodes du registraire, AddReplacement et ClearReplacements. Le registraire a huit autres méthodes spécifiques à l'écriture de scripts. Les huit de ces méthodes sont décrites dans le tableau suivant et invoquent le registraire, sur un scénario particulier.
| Méthode | Syntaxe/Description |
| ResourceRegister | HRESULT ResourceRegister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType ); Enregistre le script contenu dans les ressources d'un module. resFileName indique le chemin d'accès UNC pour le module lui-même. nID et szType contiennent respectivement ID et le type de la ressource. |
| ResourceUnregister | HRESULT ResourceUnregister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType ); Annule l'inscription de script contenu dans les ressources d'un module. resFileName indique le chemin d'accès UNC pour le module lui-même. nID et szType contiennent respectivement ID et le type de la ressource. |
| ResourceRegisterSz | HRESULT ResourceRegisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType ); Enregistre le script contenu dans les ressources d'un module. resFileName indique le chemin d'accès UNC pour le module lui-même. szID et szType contiennent respectivement identificateur de chaîne de la ressource et le type. |
| ResourceUnregisterSz | HRESULT ResourceUnregisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType ); Annule l'inscription de script contenu dans les ressources d'un module. resFileName indique le chemin d'accès UNC pour le module lui-même. szID et szType contiennent respectivement identificateur de chaîne de la ressource et le type. |
| FileRegister | HRESULT FileRegister (LPCOLESTR fileName ); Enregistre le script dans un fichier. nom de fichier est un chemin d'accès UNC d'un fichier qui contient (ou est) un script de ressources. |
| FileUnregister | HRESULT FileUnregister (LPCOLESTR fileName ); Annule l'enregistrement du script dans un fichier. nom de fichier est un chemin d'accès UNC d'un fichier qui contient (ou est) un script de ressources. |
| StringRegister | HRESULT StringRegister (LPCOLESTR données ); Enregistre le script dans une chaîne. le script lui-même contient des données . |
| StringUnregister | HRESULT StringUnregister (LPCOLESTR données ); Annule l'enregistrement du script dans une chaîne. le script lui-même contient des données . |
ATL utilise les deux premières méthodes indiquées dans le tableau (ResourceRegister et ResourceUnregister) en atlimpl.cpp:
LPCOLESTR szType = OLESTR("REGISTRY") ;
GetModuleFileName (H-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) ;
autre
hRes = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType) ;
}
autre
{
Si (bRegister)
hRes = p - > ResourceRegisterSz (pszModule, lpszRes, szType) ;
autre
hRes = p - > ResourceUnregisterSz (pszModule, lpszRes, szType) ;
}
Notez que szModule contient la valeur acquise de GetModuleFileName.
Les deux méthodes indiquées dans le tableau, ResourceRegisterSz et ResourceUnregisterSz, sont semblables aux ResourceRegister et ResourceUnregister, mais vous permettent de spécifier un identificateur de chaîne.
Les méthodes FileRegister et FileUnregister sont utiles si vous ne souhaitez pas le script d'une ressource, ou si vous souhaitez que le script dans son propre fichier. Les méthodes StringRegister et StringUnregister permettent le fichier .rgs être stockées dans une chaîne allouée dynamiquement.