_CorValidateImage-Funktion
Ü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.