なぜGetOverlappedResult
ファイルハンドルが必要なのですか?
WaitForSingleObject(overlapped->hEvent)
オーバーラップした I/O が終了するまでイベントを待機するだけで十分なように思えGetOverlappedResult
ますが、ファイル ハンドルは何に使用されるのでしょうか。
なぜGetOverlappedResult
ファイルハンドルが必要なのですか?
WaitForSingleObject(overlapped->hEvent)
オーバーラップした I/O が終了するまでイベントを待機するだけで十分なように思えGetOverlappedResult
ますが、ファイル ハンドルは何に使用されるのでしょうか。
ドキュメントの備考セクションは、いつhFile
必要になるかを説明しているようです。
OVERLAPPED 構造体の hEvent メンバーが NULL の場合、システムは hFile ハンドルの状態を使用して、操作が完了したことを通知します。この目的でファイル、名前付きパイプ、または通信デバイス ハンドルを使用することはお勧めできません。同じファイル、名前付きパイプ、または通信デバイスに対して複数の同時オーバーラップ操作が実行されると混乱が生じる可能性があるため、イベント オブジェクトを使用する方が安全です。この状況では、オブジェクトの状態がシグナル状態になった原因となった操作を知る方法はありません。