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

请参见

参考

ICLRValidator 接口