4

为什么GetOverlappedResult需要文件句柄?

等待事件似乎WaitForSingleObject(overlapped->hEvent)就足够了,这样重叠的 I/O 就完成了,那么GetOverlappedResult文件句柄有什么用呢?

4

1 回答 1

3

文档的备注部分似乎解释了何时hFile需要:

如果 OVERLAPPED 结构的 hEvent 成员为 NULL,则系统使用 hFile 句柄的状态来指示操作何时完成。不鼓励为此目的使用文件、命名管道或通信设备句柄。使用事件对象更安全,因为在同一文件、命名管道或通信设备上执行多个同时重叠的操作时可能会发生混淆。在这种情况下,无法知道是哪个操作导致对象的状态发出信号。

于 2013-05-24T08:32:27.493 回答