ICLRIoCompletionManager::OnComplete 方法

通知公共语言运行时 (CLR) 通过调用 IHostIoCompletionManager::Bind 方法进行的 I/O 请求的状态。

HRESULT OnComplete (
    [in] DWORD dwErrorCode,
    [in] DWORD NumberOfBytesTransferred,
    [in] void* pvOverlapped
);

参数

  • dwErrorCode
    [in] 一个 HRESULT 值,该值指示该绑定操作的状态。

    • S_OK 指示操作成功完成。

    • HOST_E_INTERRUPTED 指示调用在完成之前被终止。

    • E_FAIL 指示发生了未知的、不可恢复的灾难性故障。

  • NumberOfBytesTransferred
    [in] 在处理该 I/O 请求的过程中传送的字节数。

  • pvOverlapped
    [in] 一个指向传递到 IHostIoCompletionManager::Bind 方法调用的 OVERLAPPED 结构的指针。

返回值

HRESULT

说明

S_OK

OnComplete 已成功返回。

HOST_E_CLRNOTAVAILABLE

CLR 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。

HOST_E_TIMEOUT

调用超时。

HOST_E_NOT_OWNER

调用方不拥有锁。

HOST_E_ABANDONED

事件在被阻止的线程或纤程正在等待它时被取消。

E_FAIL

发生了未知的灾难性故障。 在某方法返回 E_FAIL 后,CLR 便无法再在进程中使用。 对宿主方法的后续调用都将返回 HOST_E_CLRNOTAVAILABLE。

备注

如果宿主实现 I/O 完成抽象,则 CLR 使用 IHostIoCompletionManager 的方法通过宿主进行 I/O 请求。 然后宿主调用 OnComplete 方法以通知运行时此类请求的结果。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.h

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

ICLRIoCompletionManager 接口

IHostIoCompletionManager 接口

IHostThreadPoolManager 接口