Udostępnij przez


_CorValidateImage Function

Weryfikuje obrazy modułów zarządzanych i powiadamia moduł ładujący systemu operacyjnego po ich załadowaniu.

Syntax

STDAPI _CorValidateImage (
   [in] PVOID* ImageBase,
   [in] LPCWSTR FileName
);

Parameters

ImageBase [in] Wskaźnik do lokalizacji początkowej obrazu w celu zweryfikowania jako kodu zarządzanego. Obraz musi być już załadowany do pamięci.

FileName [in] Nazwa pliku obrazu.

Return Value

Ta funkcja zwraca standardowe wartości E_INVALIDARG, , E_OUTOFMEMORYE_UNEXPECTEDi E_FAIL, a także następujące wartości.

Return value Description
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.

Remarks

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 _CorValidateImagemetodę , która wykonuje następujące akcje:

  • Potwierdza, że obraz jest prawidłowym modułem zarządzanym.

  • Zmienia punkt wejścia na obrazie na punkt 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+ .

  • Wraca do modułu ładującego po załadowaniu obrazów modułu zarządzanego.

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.

  • Begins execution.

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.

Requirements

Platformy: zobacz Wymagania systemowe.

Header: Cor.h

Biblioteka: Uwzględnione jako zasób w MsCorEE.dll

Wersje programu .NET Framework: Dostępne od wersji 1.0