在使用IOCP(I/O Completion Ports)时,您应该将WSAOVERLAPPED的hEvent设置为NULL。这是因为在使用IOCP时,WSAOVERLAPPED的hEvent成员不会被使用。相反,IOCP会使用WSAOVERLAPPED结构中的Internal和InternalHigh成员来存储完成状态和完成字节数。
如果您将hEvent设置为WSAEVENT对象的有效句柄,那么您将使用另一种I/O模型,即事件驱动I/O(EDIO)。在这种情况下,您需要使用WSAEventSelect函数来指定要监视的事件,并使用WSAWaitForMultipleEvents函数来等待事件。
总之,如果您使用IOCP,请将WSAOVERLAPPED的hEvent设置为NULL。如果您使用EDIO,请将hEvent设置为WSAEVENT对象的有效句柄,并使用WSAEventSelect和WSAWaitForMultipleEvents函数来监视和等待事件。
没有搜到相关的文章