次の方法で共有


ICLRIoCompletionManager::OnComplete メソッド

IHostIoCompletionManager::Bind メソッドの呼び出しを使用して作成された I/O 要求の状態を共通言語ランタイム (CLR) に通知します。

構文

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 がプロセスに読み込まれていないか、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 要求の結果がランタイムに通知されます。

必要条件

:システム要件」を参照してください。

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目