ICLRValidator::Validate 方法
在指定的文件中验证可迁移可执行文件 (PE) 或 Microsoft 中间语言 (MSIL)。
HRESULT Validate (
[in] IVEHandler *veh,
[in] unsigned long ulAppDomainId,
[in] unsigned long ulFlags,
[in] unsigned long ulMaxError,
[in] unsigned long token,
[in] LPWSTR fileName,
[in, size_is(ulSize)] BYTE *pe,
[in] unsigned long ulSize
);
参数
veh
[in] 一个指向处理验证错误的 IVEHandler 实例的指针。ulAppDomainId
[in] 当前 AppDomain 的标识符。ulFlags
[in] ValidatorFlags 值的组合,指示应执行的验证的种类。ulMaxError
[in] 在退出验证之前允许的最大错误数。token
[in] 未使用。fileName
要验证的文件的名称。pe
[in] 指向文件缓冲区的指针。ulSize
[in] 要验证的文件的大小,以字节为单位。
返回值
HRESULT |
说明 |
---|---|
S_OK |
Validate 已成功返回。 |
HOST_E_CLRNOTAVAILABLE |
公共语言运行时 (CLR) 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。 |
HOST_E_TIMEOUT |
调用超时。 |
HOST_E_NOT_OWNER |
调用方不拥有锁。 |
HOST_E_ABANDONED |
事件在被阻止的线程或纤程正在等待它时被取消。 |
E_FAIL |
发生了未知的灾难性故障。 如果某方法返回 E_FAIL,CLR 便无法再在进程中使用。 对宿主方法的后续调用都将返回 HOST_E_CLRNOTAVAILABLE。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**IValidator.idl、IValidator.h
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0