_CorValidateImage 函式

驗證受控模組映像,並在載入之後通知作業系統載入器。

語法

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

參數

ImageBase
[in] 要驗證為受控程式碼映像起始位置的指標。 映像必須已經載入記憶體中。

FileName
[in] 映像的檔案名。

傳回值

此函式會傳回標準值 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAIL,以及下列值。

傳回值 描述
STATUS_INVALID_IMAGE_FORMAT 映像無效。 此值具有 HRESULT 0xC000007BL。
STATUS_SUCCESS 映像有效。 此值具有 HRESULT 0x00000000L。

備註

在 Windows XP 和更新版本中,作業系統載入器會檢查通用物件檔案格式 (COFF) 標頭中的 COM 描述元目錄位元,以檢查受控模組。 設定位元表示受控模組。 如果載入器偵測到受控模組,則會載入 MsCorEE.dll 並呼叫 _CorValidateImage,這會執行下列動作:

  • 確認映像是有效的受控模組。

  • 將映像中進入點變更為 Common Language Runtime (CLR) 中的進入點。

  • 針對 64 位元版本的 Windows,會將記憶體中的映像從 PE32 格式轉換為 PE32+ 格式,以便進行修改。

  • 載入受控模組映像時傳回載入器。

針對可執行映像,作業系統載入器接著會呼叫 _CorExeMain 函式,不論可執行檔中指定的進入點為何。 針對 DLL 組件映像,載入器會呼叫 _CorDllMain 函式。

_CorExeMain_CorDllMain 會執行下列動作:

  • 初始化 CLR。

  • 從組件的 CLR 標頭找出受控進入點。

  • 開始執行。

載入器會在卸載受控模組映像時呼叫 _CorImageUnloading 函式。 不過,此函式不會執行任何動作;只會傳回。

規格需求

平台:請參閱系統需求

標頭:Cor.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 1.0 起提供

另請參閱