更新:2007 年 11 月
加载托管模块映像时通知加载程序。
在 Windows XP 中,操作系统加载程序通过检查通用对象文件格式 (COFF) 头中的某个位来检查是否有托管模块。一个设置位表示一个托管模块。如果加载程序要检测托管模块,则加载 Mscoree.dll。_CorValidateImage 通知加载程序何时加载托管模块映像,而 _CorImageUnloading 通知加载程序何时卸载托管模块映像。_CorValidateImage 执行以下操作:
确保代码是有效的托管代码。
将映像中的入口点更改为运行库中的入口点。
对于 64 位版本的 Windows,_CorValidateImage 会修改内存中的映像,将其从 PE32 格式转换为 PE32+ 格式。
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。
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**Cor.h
**库:**作为一项资源包含在 MsCorEE.dll 中
**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0