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.
Überprüft Images des verwalteten Moduls, und benachrichtigt das Betriebssystemladeprogramm, nachdem sie geladen wurden.
Syntax
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parameter
ImageBase
[in] Ein Zeiger auf die Anfangsposition des Images, die als verwalteter Code überprüft werden soll. Das Image muss bereits in den Arbeitsspeicher geladen sein.
FileName
[in] Der Dateiname des Images.
Rückgabewert
Diese Funktion gibt die Standardwerte E_INVALIDARG
, E_OUTOFMEMORY
, E_UNEXPECTED
und E_FAIL
sowie die folgenden Werte zurück.
Rückgabewert | Beschreibung |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
Das Image ist ungültig. Dieser Wert weist für HRESULT 0xC000007BL auf. |
STATUS_SUCCESS |
Das Image ist gültig. Dieser Wert weist für HRESULT 0x00000000L auf. |
Bemerkungen
In Windows XP und höheren Versionen sucht das Betriebssystemladeprogramm nach verwalteten Modulen, indem das COM-Deskriptorverzeichnisbit im COFF-Header (Common Object File Format) untersucht wird. Ein Set-Bit gibt ein verwaltetes Modul an. Wenn das Ladeprogramm ein verwaltetes Modul erkennt, lädt es die Datei „MsCorEE.dll“ und ruft _CorValidateImage
auf, wodurch die folgenden Aktionen ausgeführt werden:
Bestätigt, dass das Image ein gültiges verwaltetes Modul ist.
Ändert den Einstiegspunkt im Image in einen Einstiegspunkt in der Common Language Runtime (CLR).
Ändert bei 64-Bit-Versionen von Windows das Image im Arbeitsspeicher vom Format PE32 in das Format PE32+.
Kehrt zum Ladeprogramm zurück, wenn die Images des verwalteten Moduls geladen werden.
Bei ausführbaren Images ruft das Betriebssystemladeprogramm dann die _CorExeMain-Funktionauf, unabhängig vom Einstiegspunkt, der in der ausführbaren Datei angegeben ist. Für DLL-Assemblyimages ruft das Ladeprogramm die _CorDllMain-Funktion auf.
_CorExeMain
bzw. _CorDllMain
führt die folgenden Aktionen aus:
Initialisiert die CLR.
Sucht den verwalteten Einstiegspunkt aus dem CLR-Header der Assembly.
Beginnt mit der Ausführung.
Das Ladeprogramm ruft die _CorImageUnloading-Funktion auf, wenn Images des verwalteten Moduls entladen werden. Diese Funktion führt jedoch keine Aktion aus. Es wird lediglich ein Wert zurückgegeben.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: Cor.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit Version 1.0 verfügbar.