为什么GetOverlappedResult
需要文件句柄?
似乎WaitForSingleObject(overlapped->hEvent)
应该足以等待事件,以便重叠的I / O完成,那么GetOverlappedResult
使用文件句柄是什么?
答案 0 :(得分:3)
documentation的评论部分似乎解释了何时需要hFile
:
如果OVERLAPPED结构的hEvent成员为NULL,则系统使用hFile句柄的状态来指示操作何时完成。不鼓励使用文件,命名管道或通信设备句柄。使用事件对象更安全,因为在同一文件,命名管道或通信设备上执行多个同时重叠操作时可能会出现混淆。在这种情况下,无法知道哪个操作导致对象的状态发出信号。