Inicializar DLLs normais
Porque DLLs normais têm uma CWinApp de objeto, eles devem executar suas tarefas de inicialização e encerramento no mesmo local de um aplicativo MFC: na InitInstance e ExitInstance funções de membro a dll CWinApp-classe derivada.Como o MFC oferece uma DllMain função é chamada pelo _DllMainCRTStartup para PROCESS_ATTACH e PROCESS_DETACH, você não deve escrever seu próprio DllMain função.O MFC fornecido DllMain chamadas de função InitInstance quando sua DLL é carregado e chama ExitInstance antes que a DLL é descarregada.
Uma DLL regular pode manter o controle de vários threads chamando TlsAlloc e TlsGetValue no seu InitInstance função.Estas funções permitem a DLL rastrear dados específicos de segmento.
Na sua DLL regular dinamicamente vinculado a MFC, se você estiver usando qualquer OLE do MFC, banco de dados MFC (ou DAO), ou suporte a MFC Sockets, respectivamente, o MFC debug extensão DLLs MFCOxxD.dll, MFCDxxD.dll, e MFCNxxD.dll (onde xx é o número de versão) são vinculados automaticamente.Você deve chamar uma das seguintes funções de inicialização predefinidas para cada uma dessas DLLs que você está usando na sua DLL regulares CWinApp::InitInstance.
Tipo de suporte do MFC |
Função de inicialização para chamar |
---|---|
MFC OLE (MFCOxxD.dll) |
AfxOleInitModule |
Banco de dados MFC (MFCDxxD.dll) |
AfxDbInitModule |
MFC Sockets (MFCNxxD.dll) |
AfxNetInitModule |
O que você deseja fazer?
O que você deseja saber mais sobre?
O comportamento de biblioteca de tempo de execução c e _DllMainCRTStartup
Usando o banco de dados OLE e DLLs de extensão do Sockets em DLLs normais
Wrappers (MFC técnico Observação 58) do armazenamento local de thread