次の方法で共有


_CorValidateImage Function

マネージド モジュール イメージを検証し、読み込まれた後にオペレーティング システム ローダーに通知します。

Syntax

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

Parameters

ImageBase [in]マネージド コードとして検証するイメージの開始位置へのポインター。 イメージは既にメモリに読み込まれている必要があります。

FileName [in]イメージのファイル名。

Return Value

この関数は、 E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTED、および E_FAILの標準値と、次の値を返します。

Return value Description
STATUS_INVALID_IMAGE_FORMAT イメージが無効です。 この値には HRESULT 0xC000007BL があります。
STATUS_SUCCESS イメージは有効です。 この値の HRESULT は 0x000000000L です。

Remarks

Windows XP 以降のバージョンでは、オペレーティング システム ローダーは、共通オブジェクト ファイル形式 (COFF) ヘッダーの COM 記述子ディレクトリ ビットを調べることで、マネージド モジュールをチェックします。 セット ビットは、マネージド モジュールを示します。 ローダーがマネージド モジュールを検出すると、MsCorEE.dll が読み込まれ、 _CorValidateImageが呼び出され、次のアクションが実行されます。

  • イメージが有効なマネージド モジュールであることを確認します。

  • イメージ内のエントリ ポイントを共通言語ランタイム (CLR) のエントリ ポイントに変更します。

  • 64 ビット バージョンの Windows では、メモリ内のイメージを PE32 から PE32+ 形式に変換して変更します。

  • マネージド モジュール イメージが読み込まれるときにローダーに戻ります。

実行可能イメージの場合、オペレーティング システム ローダーは、実行可能ファイルで指定されたエントリ ポイントに関係なく、 _CorExeMain 関数を呼び出します。 DLL アセンブリ イメージの場合、ローダーは _CorDllMain 関数を呼び出します。

_CorExeMain または _CorDllMain は、次のアクションを実行します。

  • CLR を初期化します。

  • アセンブリの CLR ヘッダーからマネージド エントリ ポイントを検索します。

  • Begins execution.

ローダーは、マネージド モジュール イメージがアンロードされるときに 、_CorImageUnloading 関数を呼び出します。 ただし、この関数はアクションを実行しません。返されるだけです。

Requirements

:システム要件」を参照してください。

Header: Cor.h

図書館: MsCorEE.dll にリソースとして含まれる

.NET Framework のバージョン: 1.0 以降で利用可能