【发布时间】:2012-04-23 11:08:17
【问题描述】:
我调用方法win32::WriteFile 然后我调用
WaitForSingleObject( handle, INFINITE )
使用与WriteFile 调用中相同的句柄。
是否有可能有一些场景让我永远等待......而WriteFile 不会完成他的写作?我要写 512 kB,我假设我的硬件没有问题。
我希望得到FAIL 而不是永远等待。
【问题讨论】:
-
您必须使用带有一些标志的 OVERLAPPED IO 才能进行非阻塞写入系统调用。
-
那我不明白你的问题......也许你可以改写它或发布一些代码来澄清。
-
'我在 WriteFile 中使用的相同句柄' - 你的意思是我在 _OVERLAPPED struct hEvent 字段中使用的相同句柄?
-
对管道的写入将挂起,直到管道缓冲区有空间(或读取端关闭)。如果用户已暂停控制台,则写入控制台将挂起。可能还有其他情况。
标签: c++ winapi visual-c++