Inizializzazione di DLL non MFC
Per inizializzare le DLL non MFC, il codice sorgente della DLL deve contenere una funzione denominata DllMain. Il codice riportato di seguito presenta uno schema di base che illustra la definizione della funzione DllMain.
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;
}
Nota
Nella documentazione di Windows SDK per DllEntryPoint viene dichiarato che occorre specificare il nome effettivo della funzione di punto di ingresso nella riga di comando del linker con l'opzione /ENTRY.In Visual C++ non occorre utilizzare l'opzione /ENTRY se il nome della funzione di punto di ingresso è DllMain.Se si utilizza l'opzione /ENTRY e si assegna un nome diverso da DllMain alla funzione di punto di ingresso, infatti, la libreria di runtime C non verrà inizializzata correttamente.