Freigeben über


Initialisieren MFC-fremder DLLs

Um MFC-fremde DLLs zu initialisieren, muss der DLL-Quellcode eine Funktion mit dem Namen DllMain enthalten. Der folgende Code stellt ein grundlegendes Gerüst dar, das veranschaulicht, wie die Definition von DllMain aussehen könnte:

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

Hinweis

Laut Windows SDK-Dokumentation für DllEntryPoint muss der tatsächliche Name der Einstiegspunktfunktion mit der /ENTRY-Option in der Linkerbefehlszeile angegeben werden.In Visual C++ brauchen Sie die /ENTRY-Option jedoch nicht zu verwenden, wenn der Name der Einstiegspunktfunktion DllMain lautet.Vielmehr wird die C-Laufzeitbibliothek nicht ordnungsgemäß initialisiert, wenn Sie die /ENTRY-Option verwenden und die Einstiegspunktfunktion nicht den Namen Dllmain aufweist.

Worüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

Initialisieren einer DLL