Compartilhar via


AfxInitExtensionModule

telefonar Essa função em 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 irá conter 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 que foram inicializados pela extensão DLL sistema autônomo parte de construção de objeto estático normal executada antes da DllMain é inserido.

  • hModule
    Uma alça do módulo DLL de extensão.

Valor de retorno

TRUE se a extensão DLL for inicializado 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;

AfxInitExtensionModule faz uma cópia da DLL HMODULE e captura tempo de execução-classes de DLLs do (CRuntimeClass estruturas), bem sistema autônomo seu objeto () fábricasCOleObjectFactory objetos) para uso posterior quando o CDynLinkLibrary objeto é criado.

DLLs de extensão do MFC precisa fazer duas coisas em seus DllMain função:

  • De telefonarAfxInitExtensionModule e verifique se o valor retornado.

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

Você pode chamar AfxTermExtensionModule Para limpar a DLL de extensão quando cada processo desanexa da DLL de extensão (que acontece quando o processo for encerrado, ou quando a DLL está descarregada sistema autônomo resultado de um AfxFreeLibrary telefonar).

Requisitos

Cabeçalho: afxdll_.h

Consulte também

Conceitos

Macros do MFC e globais

Referência

AfxTermExtensionModule