我尝试使用新线程池API使用命名管道。我的代码大部分时间都在工作,但是在调用StartThreadpoolIo时我得到间歇性的无效参数异常。我已经确认TP_IO尚未关闭,并且句柄有效;所以我对于出了什么问题感到茫然。
有谁知道其他条件导致无效参数异常?
答案 0 :(得分:0)
好吧,由于我对此没有任何输入,因此我将实现更改为在OVERLAPPED结构中使用该事件,而改用TP_WAIT。
此实现中存在一个错误,当您使用重叠的io时,所有读写操作都应该重叠。我在网上找到的示例将使用同步ReadFile来完成读取消息的内容,这是错误。
我现在认为,基于TP_IO的实现中的这种同步读取是导致异常的原因。但我无法确认。