2011-09-11 16 views

回答

1

假设您正在讨论命名管道,通常的方法是进行重叠读取,并在拨打WaitForSingleObject(或WaitForMultipleObjects)时指定超时。当/如果超时过期,等待将返回WAIT_TIMEOUT而不是WAIT_OBJECT_0

+0

我如何重叠阅读? –

+0

@Erik:在创建命名管道时指定'FILE_FLAG_OVERLAPPED',并在调用'ReadFile'(或任何数量的其他可能性,例如'ReadFileEx'')时传递'OVERLAPPED'结构 - 微软已经完成了多次迭代I/O)。 –