共用方式為


_CorValidateImage Function

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

Syntax

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

Parameters

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

FileName [in]映像的檔名。

Return Value

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

Return value Description
STATUS_INVALID_IMAGE_FORMAT 映射無效。 此值具有 HRESULT 0xC000007BL。
STATUS_SUCCESS 映射有效。 此值具有 HRESULT 0x00000000L。

Remarks

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

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

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

  • 若為64位版本的Windows,請將映像從PE32轉換為PE32+格式來修改記憶體中的映像。

  • 載入 Managed 模組映射時,會傳回載入器。

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

_CorExeMain_CorDllMain 執行下列動作:

  • 初始化 CLR。

  • 從元件的 CLR 標頭中找出 Managed 進入點。

  • Begins execution.

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

Requirements

平台:請參閱系統需求

Header: Cor.h

圖書館: 包含在 MsCorEE.dll 中作為資源

.NET Framework 版本: 自 1.0 起可用