_CorValidateImage 関数
マネージド モジュール イメージを検証し、それらが読み込まれると、オペレーティング システム ローダーに通知します。
構文
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
パラメーター
ImageBase
[in] マネージド コードとして検証するイメージの開始位置へのポインター。 イメージは既にメモリに読み込まれている必要があります。
FileName
[in] イメージのファイル名。
戻り値
関数により標準値 E_INVALIDARG
、E_OUTOFMEMORY
、E_UNEXPECTED
、E_FAIL
および次の値が返されます。
戻り値 | 説明 |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
イメージが無効です。 この値には HRESULT 0xC000007BL が含まれています。 |
STATUS_SUCCESS |
イメージが有効です。 この値には HRESULT 0x00000000L が含まれています。 |
解説
Windows XP 以降のバージョンでは、オペレーティング システム ローダーによって、Common Object File Format (COFF) ヘッダーの COM 記述子ディレクトリ ビットを調べて、マネージド モジュールがチェックされます。 セット ビットはマネージド モジュールを示します。 ローダーによってマネージド モジュールが検出されると、MsCorEE.dll が読み込まれ _CorValidateImage
が呼び出されます。これにより、次のアクションが実行されます。
ファイル イメージが有効なマネージド モジュールであることを確認します。
イメージのエントリ ポイントを共通言語ランタイム (CLR) のエントリ ポイントに変更します。
64 ビット バージョンの Windows では、メモリ内のイメージを PE32 から PE32+ 形式に変換することによって変更します。
マネージド モジュール イメージが読み込まれたときに、ローダーに返します。
実行可能イメージの場合、次にオペレーティング システム ローダーによって、実行可能ファイルで指定されたエントリポイントに関係なく、_CorExeMain 関数が呼び出されます。 DLL アセンブリ イメージの場合、ローダーにより _CorDllMain 関数が呼び出されます。
_CorExeMain
または _CorDllMain
により、次のアクションが実行されます。
CLR を初期化します。
アセンブリの CLR ヘッダーからマネージド エントリ ポイントを検索します。
実行を開始します。
マネージド モジュール イメージがアンロードされるときにローダーにより、_CorImageUnloading 関数が呼び出されます。 ただし、この関数は何のアクションも実行しません。単に返すだけです。
必要条件
:「システム要件」を参照してください。
ヘッダー: Cor.h
ライブラリ: リソースとして MsCorEE.dll に含まれている
.NET Framework のバージョン: 1.0 以降で使用可能
関連項目
.NET