AfxTermExtensionModule

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

Index