AfxInitExtensionModule

BOOL &AFXAPI AfxInitExtensionModule ( AFX_EXTENSION_MODULEamp ; État, HMODULE hModule );

Valeur de retour

TRUE si la DLL d'extension est initialisé avec succès ; sinon, FALSE.

Paramètres

état

Une référence à la structure AFX_EXTENSION_MODULE qui contiendra l'État du module d'extension DLL après l'initialisation. L'État comprend une copie des objets de la classe runtime qui ont été initialisés par la DLL d'extension dans le cadre de la construction d'objet statique normale exécutée avant que DllMain est entré.

hModule

Un handle du module de la DLL d'extension.

Remarques

Appelez cette fonction dans d'une DLL d'extension DllMain pour initialiser la DLL. Par exemple:

statique AFX_EXTE&NSION_MODULE extensionDLL ;
extern « C » int APIENTRY
DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
 nbsp ; Si (dwReason == DLL_PROCESS_ATTACH)
   {
      / / Initialisation unique de extension DLL
      if (!.AfxInitExtensionModule (extensionDLL, hInstance))
         return 0 ;...

AfxInitExtensionModule effectue une copie de la DLL HMODULE et capture la DLL runtime-classes (structuresCRuntimeClass ) ainsi que ses fabriques d'objets (objetsCOleObjectFactory ) pour les utiliser plus tard, lors de la création de l'objet CDynLinkLibrary.

Les DLL d'extension MFC doivent faire deux choses à leur fonction DllMain:

Vous pouvez appeler AfxTermExtensionModule pour nettoyer la DLL d'extension lors de chaque processus se détache de la DLL d'extension (qui se produit lorsque la sortie du processus, ou lorsque la DLL est déchargée à la suite d'un appel de AfxFreeLibrary ).

Voir aussi  ;AfxTermExtensionModule

Index