Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

AfxTermExtensionModule

 

Appelez cette fonction pour permettr à MFC de nettoyer la DLL d'extension chaque fois qu'un processus se détache de la DLL d'extension (ce qui se produit lors de la sortie du processus ou quand la DLL est déchargée à la suite d'un appel à AfxFreeLibrary).


      void AFXAPI AfxTermExtensionModule(
   AFX_EXTENSION_MODULE& state,
   BOOL bAll  = FALSE 
);

state

Une référence à la structure AFX_EXTENSION_MODULE qui contient l'état du module DLL d'extension.

boule

Si TRUE, nettoyage des modules de DLL d'extension.Sinon, nettoyage uniquement du module DLL actuel.

AfxTermExtensionModule supprime tout stockage local associé au module et supprime toutes les entrées du cache de la table des messages.Par exemple :

static AFX_EXTENSION_MODULE NVC_MFC_DLLDLL = { NULL, NULL };
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
	// Remove this if you use lpReserved
	UNREFERENCED_PARAMETER(lpReserved);

	if (dwReason == DLL_PROCESS_ATTACH)
	{
		TRACE0("NVC_MFC_DLL.DLL Initializing!\n");

		// Extension DLL one-time initialization
		if (!AfxInitExtensionModule(NVC_MFC_DLLDLL, hInstance))
			return 0;

		new CMyDynLinkLibrary(NVC_MFC_DLLDLL);

	}
	else if (dwReason == DLL_PROCESS_DETACH)
	{
		TRACE0("NVC_MFC_DLL.DLL Terminating!\n");

		// Terminate the library before destructors are called
		AfxTermExtensionModule(NVC_MFC_DLLDLL);
	}
	return 1;   // ok
}

Si votre application charge et libère les DLL d'extension dynamiquement, veillez à appeler AfxTermExtensionModule.Comme la plupart des DLL d'extension ne sont pas chargés dynamiquement (généralement, ils sont liés via les bibliothèques d'importation), l'appel à AfxTermExtensionModule n'est généralement pas nécessaire.

Les DLL d'extension de MFC doivent appeler AfxInitExtensionModule dans leur DllMain.Si la DLL exporte des objets de CRuntimeClass ou possède ses propres ressources personnalisées, vous devez également créer un objet de CDynLinkLibrary dans DllMain.

Configuration requise

En-tête : afxdll_.h

Afficher: