_CorValidateImage Function

Memvalidasi gambar modul terkelola, dan memberi tahu pemuat sistem operasi setelah dimuat.

Syntax

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

Parameters

ImageBase [di] Penunjuk ke lokasi awal gambar untuk divalidasi sebagai kode terkelola. Gambar harus sudah dimuat ke dalam memori.

FileName [di] Nama file gambar.

Return Value

Fungsi ini mengembalikan nilai E_INVALIDARGstandar , , E_OUTOFMEMORY, E_UNEXPECTEDdan E_FAIL, serta nilai berikut.

Return value Description
STATUS_INVALID_IMAGE_FORMAT Gambar tidak valid. Nilai ini memiliki HRESULT 0xC000007BL.
STATUS_SUCCESS Gambar valid. Nilai ini memiliki HRESULT 0x00000000L.

Remarks

Di Windows XP dan versi yang lebih baru, pemuat sistem operasi memeriksa modul terkelola dengan memeriksa bit Direktori Deskriptor COM di header format file objek umum (COFF). Bit yang ditetapkan menunjukkan modul terkelola. Jika loader mendeteksi modul terkelola, load MsCorEE.dll dan panggilan _CorValidateImage, yang melakukan tindakan berikut:

  • Mengonfirmasi bahwa gambar adalah modul terkelola yang valid.

  • Mengubah titik entri dalam gambar menjadi titik masuk dalam runtime bahasa umum (CLR).

  • Untuk Windows versi 64-bit, memodifikasi gambar yang ada dalam memori dengan mengubahnya dari format PE32 ke PE32+.

  • Kembali ke loader saat gambar modul terkelola dimuat.

Untuk gambar yang dapat dieksekusi, loader sistem operasi kemudian memanggil fungsi _CorExeMain , terlepas dari titik masuk yang ditentukan dalam executable. Untuk gambar rakitan DLL, loader memanggil fungsi _CorDllMain .

_CorExeMain atau _CorDllMain melakukan tindakan berikut:

  • Menginisialisasi CLR.

  • Menemukan titik entri terkelola dari header CLR assembly.

  • Begins execution.

Loader memanggil fungsi _CorImageUnloading saat gambar modul terkelola dibongkar. Namun, fungsi ini tidak melakukan tindakan apa pun; itu hanya kembali.

Requirements

Platform: Lihat Persyaratan Sistem.

Header: Cor.h

Perpustakaan: Disertakan sebagai sumber daya dalam MsCorEE.dll

Versi .NET Framework: Tersedia sejak 1.0