Ao inicializar os DLLs não-MFC
Para inicializar as DLLs não - MFC, o seu código-fonte do DLL deve conter uma função chamada DllMain. O código a seguir apresenta um esqueleto básico mostrando que a definição de DllMain pode parecer com:
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch( ul_reason_for_call ) {
case DLL_PROCESS_ATTACH:
...
case DLL_THREAD_ATTACH:
...
case DLL_THREAD_DETACH:
...
case DLL_PROCESS_DETACH:
...
}
return TRUE;
}
Observação |
---|
O Windows SDK documentações DllEntryPoint diz que o nome real da função de ponto de entrada deve ser especificado no vinculador de linha de comando com a opção /ENTRY. Com o Visual C++, você não precisará usar a opção de /ENTRY se o nome da sua função de ponto de entrada é DllMain. Na verdade, se você usar a opção de /ENTRY e o nome do seu ponto de entrada funcionar algo diferente de DllMain, a biblioteca de tempo de execução c não será inicializada adequadamente. |
O que você deseja saber mais a respeito?
Função de ponto de entrada da biblioteca de vínculo dinâmico (SDK do Windows)
O comportamento da biblioteca de tempo de execução c e _DllMainCRTStartup