4

なぜGetOverlappedResultファイルハンドルが必要なのですか?

WaitForSingleObject(overlapped->hEvent)オーバーラップした I/O が終了するまでイベントを待機するだけで十分なように思えGetOverlappedResultますが、ファイル ハンドルは何に使用されるのでしょうか。

4

1 に答える 1

3

ドキュメントの備考セクションは、いつhFile必要になるかを説明しているようです。

OVERLAPPED 構造体の hEvent メンバーが NULL の場合、システムは hFile ハンドルの状態を使用して、操作が完了したことを通知します。この目的でファイル、名前付きパイプ、または通信デバイス ハンドルを使用することはお勧めできません。同じファイル、名前付きパイプ、または通信デバイスに対して複数の同時オーバーラップ操作が実行されると混乱が生じる可能性があるため、イベント オブジェクトを使用する方が安全です。この状況では、オブジェクトの状態がシグナル状態になった原因となった操作を知る方法はありません。

于 2013-05-24T08:32:27.493 に答える