Partager via


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;
}

Notes

La documentation du Kit de développement logiciel (SDK) 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 ?

Voir aussi

Concepts

Initialisation d'une DLL