共用方式為


ICLRIoCompletionManager::OnComplete 方法

通知 I/O 要求狀態的 Common Language Runtime (CLR),這個要求是透過呼叫 IHostIoCompletionManager::Bind 方法所產生。

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] OVERLAPPED 結構的指標,此結構已傳遞到 IHostIoCompletionManager::Bind 方法的呼叫中。

傳回值

HRESULT

描述

S_OK

OnComplete 已成功傳回。

HOST_E_CLRNOTAVAILABLE

CLR 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

HOST_E_TIMEOUT

呼叫已逾時。

HOST_E_NOT_OWNER

呼叫端不具備鎖定功能。

HOST_E_ABANDONED

已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。

E_FAIL

發生未知的重大錯誤。 在方法傳回 E_FAIL 之後,處理序中就無法再使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。

備註

如果主應用程式 (Host) 實作 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 介面