Partilhar via


AfxInitExtensionModule

Chamar essa função em uma DLL de extensão DllMain para inicializar a DLL.

BOOL AFXAPI AfxInitExtensionModule(
   AFX_EXTENSION_MODULE& state,
   HMODULE hModule 
);

Parâmetros

  • state
    Uma referência para o Estrutura AFX_EXTENSION_MODULE estrutura que contém o estado do módulo DLL de extensão após a inicialização.O estado inclui uma cópia dos objetos de classe em tempo de execução foi inicializada pela extensão DLL como parte da construção de objeto estático normal executada antes de DllMain é inserido.

  • hModule
    Identificador do módulo DLL de extensão.

Valor de retorno

TRUE se a extensão DLL é inicializada com êxito; Caso contrário, FALSE.

Comentários

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;

AfxInitExtensionModulefaz uma cópia da dll HMODULE e classes de tempo de execução da DLL de captura (CRuntimeClass estruturas), bem como seus fábricas de objeto (COleObjectFactory objetos) para usar posteriormente, quando o CDynLinkLibrary objeto é criado.

Extensão do MFC DLLs precise fazer duas coisas em seus DllMain função:

  • Chamar AfxInitExtensionModule e verifique o valor de retorno.

  • Criar um CDynLinkLibrary de objeto se a DLL estará exportando Estrutura CRuntimeClass objetos ou tem seus próprios recursos personalizados.

Você pode chamar AfxTermExtensionModule para limpar a extensão DLL quando cada processo desanexa da DLL de extensão (que acontece quando o processo é encerrado ou quando a DLL é descarregada como resultado de uma AfxFreeLibrary de chamada).

Requisitos

Cabeçalho: afxdll_.h

Consulte também

Referência

AfxTermExtensionModule

Conceitos

Globais e Macros do MFC