Initialisation de DLL non-MFC
Pour initialiser des DLL non-MFC, le code source de la DLL doit contenir une fonction appelée DllMain.Le code suivant présente une structure de base qui donne une idée de ce que pourrait être la définition de 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;
}
[!REMARQUE]
La documentation du Kit de développement logiciel Windows relative à DllEntryPoint indique que le nom réel de la fonction de point d'entrée doit être spécifié sur la ligne de commande de l'éditeur de liens à l'aide de l'option /ENTRY.Avec Visual C++, il n'est pas nécessaire d'utiliser l'option /ENTRY si le nom de la fonction de point d'entrée est DllMain.En fait, si vous utilisez l'option /ENTRY et donnez à la fonction de point d'entrée un nom autre que DllMain, la bibliothèque Runtime C ne sera pas initialisée correctement.
Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?
La spécification de fonction pour DllMain (Kit de développement logiciel Windows)
Comportement de la bibliothèque Runtime C et DllMainCRTStartup