privatevoid &AFXAPI AfxTermExtensionModule ( AFX_EXTENSION_MODULEamp; Estado, BOOL bola = Falso );
Parâmetros
estado
Uma referência para a estrutura AFX_EXTENSION_MODULE que contém o estado do módulo DLL de extensão.
bola Se TRUE, limpeza de todos os módulos DLL de extensão. Limpeza de outra forma, somente o módulo DLL atual.
Observações
Chame essa função para permitir MFC para limpeza a extensão DLL quando cada processo desanexa da DLL (o que acontece quando o processo é encerrado ou quando a DLL é descarregada como resultado de uma chamada AfxFreeLibrary ). AfxTermExtensionModule excluirá qualquer armazenamento local conectado ao módulo e remover todas as entradas do cache de mapa de mensagem. Por exemplo:
extensionDLL AFX_EXTE&NSION_MODULE estático;
extern "C" int APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
nbsp; se (dwReason = = DLL_PROCESS_ATTACH)
{
/ / Inicialização única de DLL de extensão se (!AfxInitExtensionModule (extensionDLL, hInstance))
return 0;
/ / TODO: executar outras tarefas de inicialização aqui
}
else if (dwReason = = DLL_PROCESS_DETACH)
{
/ / Extensão DLL por processo de rescisão
AfxTermExtensionModule(extensionDLL);
/ / TODO: executar outras tarefas de limpeza aqui
}
retornar 1; / / ok
}
Se seu aplicativo carrega e libera DLLs de extensão dinamicamente, certifique-se de chamar AfxTermExtensionModule. Desde a maioria extensão DLLs não são dinamicamente carregados (geralmente, eles são vinculados através de suas bibliotecas de Importarar), a chamada AfxTermExtensionModule geralmente não é necessária.
DLLs de extensão MFC precisará chamar AfxInitExtensionModule em seus DllMain. Se a DLL será ser exportando CRuntimeClass objetos ou tem seus próprios recursos personalizados, você também precisará criar um objeto de CDynLinkLibrary em DllMain.
Co&nsulte tambémnbsp;AfxInitExtensionModule