Freigeben über


_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.

Siehe auch