为什么GetOverlappedResult需要文件句柄?

时间:2013-05-24 03:45:20

标签: c winapi visual-c++ overlapped-io

为什么GetOverlappedResult需要文件句柄?

似乎WaitForSingleObject(overlapped->hEvent)应该足以等待事件,以便重叠的I / O完成,那么GetOverlappedResult使用文件句柄是什么?

1 个答案:

答案 0 :(得分:3)

documentation的评论部分似乎解释了何时需要hFile

  

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