IOCP 中WSARecvFrom返回10045的问题

今天在编写IOCP程序时,遇到了这个问题,在VS2008上调试时返回10045,但是让它不调试执行的时候却正常。在网上查找,发现相应的资料不多。后来我把perhandle和pIOdata的弄成全局变量,还是不行;真是弄的我百思不得其解。

    后来我在MSDN上发现这一句话:The lpFlags parameter is both an input and an output parameter, allowing applications to sense the output state of the MSG_PARTIAL flag bit. Be aware that the MSG_PARTIAL flag bit is not supported by all protocols.突然想到我的pIOdata中的flag变量没有初始化,会不会是因为这个原因导致传入的flag不是0,从而让WSARecvFrom函数认为不支持改特征从而返回10045呢?经验证后果然如此!

      看来真是细节决定成败啊!

你可能感兴趣的:(input,output)