Partilhar via


AfxTermExtensionModule

Chamar esta função para permitir MFC para limpeza a extensão DLL quando cada processo desanexa da DLL (que acontece quando o processo é encerrado ou quando a DLL é descarregada como resultado de uma AfxFreeLibrary de chamada).

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

Parâmetros

  • state
    Uma referência para o AFX_EXTENSION_MODULE estrutura que contém o estado do módulo de DLL de extensão.

  • Bola
    Se TRUE, limpe todos os módulos DLL de extensão.Limpeza caso contrário, somente o módulo DLL atual.

Comentários

AfxTermExtensionModuleexcluirá qualquer armazenamento local conectado ao módulo e remova todas as entradas do cache de mapa de mensagem.Por exemplo:

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
}

Se seu aplicativo carrega e libera DLLs de extensão dinamicamente, certifique-se de chamar AfxTermExtensionModule.Desde que a maioria dos extensão DLLs não são carregadas dinamicamente (geralmente, eles são vinculados por meio de suas bibliotecas de importação), a chamada para AfxTermExtensionModule não é necessário.

Extensão do MFC DLLs necessário chamar AfxInitExtensionModule em seus DllMain.Se a DLL será exportando CRuntimeClass objetos ou tem seus próprios recursos personalizados, você também precisa criar um CDynLinkLibrary de objeto em DllMain.

Requisitos

Cabeçalho: afxdll_.h

Consulte também

Referência

AfxInitExtensionModule

Conceitos

Globais e Macros do MFC