Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
DLL-Einstiegspunktfunktion kann nicht verwaltet werden; Kompilieren auf systemeigene
Bemerkungen
DllMain kann nicht in MSIL kompiliert werden; sie muss auf systemeigenem Computer kompiliert werden.
Lösung:
Kompilieren Sie die Datei, die den Einstiegspunkt ohne /clr enthält.
Setzen Sie den Einstiegspunkt in einen
#pragma unmanagedAbschnitt.
Weitere Informationen finden Sie unter:
Beispiel
Im folgenden Beispiel wird LNK1306 generiert.
// LNK1306.cpp
// compile with: /clr /link /dll /entry:NewDllMain
// LNK1306 error expected
#include <windows.h>
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
Verwenden Sie zum Beheben dieses Problems nicht die Option "/clr", um diese Datei zu kompilieren, oder verwenden Sie eine #pragma Direktive, um die Einstiegspunktdefinition in einen nicht verwalteten Abschnitt einzufügen, wie in diesem Beispiel gezeigt:
// LNK1306fix.cpp
// compile with: /clr /link /dll /entry:NewDllMain
#include <windows.h>
#pragma managed(push, off)
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
#pragma managed(pop)