2013-01-24 33 views
1

WriteFileEx的MSDN页面说它不能用于IOCP模型,因为它有一个参数来指定完成例程。如果文件句柄已与I/O完成端口关联,则WriteFileEx将失败。如果在IOCP模型中指定了WSASend的lpCompletionRoutine,该怎么办?

但是,WSASend允许调用者指定完成例程作为其最后一个参数,而此函数可用于IOCP模型。

我用IOCP检查了WinSock的几个例子,发现最后一个参数lpCompletionRoutine始终为空。这是强制性的吗?

回答

1

的文件说,唯一的一点是:

,完成例程遵循相同的规则,规定适用于Windows文件I/O完成例程。

这可能表明您不能将IOCP和lpCompletionRoutine混合在一起,例如WriteFileEx()。另一方面,你为什么要想要混合在一起呢?完成端口获得结果,或者完成例程完成。为什么你需要使用两者?

+0

我只是想知道为什么MSDN没有明确地将这个问题记录为WriteFileEx。 – xmllmx

相关问题