_CorValidateImage — Funkcja
Weryfikuje obrazy modułów zarządzanych i powiadamia moduł ładujący systemu operacyjnego po ich załadowaniu.
Składnia
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parametry
ImageBase
[w] Wskaźnik do początkowej lokalizacji obrazu w celu zweryfikowania jako kodu zarządzanego. Obraz musi być już załadowany do pamięci.
FileName
[w] Nazwa pliku obrazu.
Wartość zwracana
Ta funkcja zwraca wartości E_INVALIDARG
standardowe , , E_OUTOFMEMORY
E_UNEXPECTED
i E_FAIL
, a także następujące wartości.
Wartość zwracana | Opis |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
Obraz jest nieprawidłowy. Ta wartość ma wartość HRESULT 0xC000007BL. |
STATUS_SUCCESS |
Obraz jest prawidłowy. Ta wartość ma wartość HRESULT 0x00000000L. |
Uwagi
W systemie Windows XP i nowszych wersjach moduł ładujący systemu operacyjnego sprawdza moduły zarządzane, sprawdzając bit katalogu deskryptora COM w nagłówku wspólnego formatu pliku obiektów (COFF). Bit zestawu wskazuje zarządzany moduł. Jeśli moduł ładujący wykryje zarządzany moduł, ładuje MsCorEE.dll i wywołuje _CorValidateImage
metodę , która wykonuje następujące akcje:
Potwierdza, że obraz jest prawidłowym modułem zarządzanym.
Zmienia punkt wejścia na obrazie do punktu wejścia w środowisku uruchomieniowym języka wspólnego (CLR).
W przypadku 64-bitowych wersji systemu Windows modyfikuje obraz, który jest w pamięci, przekształcając go z PE32 do formatu PE32+ .
Powraca do modułu ładującego po załadowaniu zarządzanych obrazów modułów.
W przypadku obrazów wykonywalnych moduł ładujący systemu operacyjnego wywołuje funkcję _CorExeMain , niezależnie od punktu wejścia określonego w pliku wykonywalnego. W przypadku obrazów zestawów DLL moduł ładujący wywołuje funkcję _CorDllMain .
_CorExeMain
lub _CorDllMain
wykonuje następujące akcje:
Inicjuje clR.
Lokalizuje zarządzany punkt wejścia z nagłówka CLR zestawu.
Rozpoczyna wykonywanie.
Moduł ładujący wywołuje funkcję _CorImageUnloading podczas zwalniania obrazów modułów zarządzanych. Jednak ta funkcja nie wykonuje żadnej akcji; to po prostu zwraca.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: Cor.h
Biblioteki: Uwzględnione jako zasób w MsCorEE.dll
wersje .NET Framework: dostępne od wersji 1.0