共用方式為


_CorValidateImage 函式

驗證 Managed 模組映像,並在載入這些映像後通知作業系統載入器。

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

參數

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

  • FileName
    [in] 影像的檔名。

傳回值

這個函式會傳回標準值 E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED 和 E_FAIL,以及下列的值。

傳回值

描述

STATUS_INVALID_IMAGE_FORMAT

影像無效。 這個值具有 HRESULT 0xC000007BL。

STATUS_SUCCESS

影像有效。 這個值具有 HRESULT 0x00000000L。

備註

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

  • 確認該映像是有效的 Managed 模組。

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

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

  • 在 Managed 模組映像載入時,回到載入器。

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

_CorExeMain_CorDllMain 會執行下列動作:

  • 初始化 CLR。

  • 找出組件之 CLR 標頭的 Managed 進入點。

  • 開始執行。

卸載 Unmanaged 模組影像時,載入器會呼叫 _CorImageUnloading 函式。 不過,這個函式不會執行任何動作 ,它只會傳回。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**Cor.h

程式庫:包含做為 MsCorEE.dll 中的資源

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

其他資源

中繼資料全域靜態函式