我在一个线程里接受连接,然后投递到工作线程,根据操作标志在工作线程里用
WSARecv接受数据,iRet = WSARecv(pNewOverlapPlus->sConnectSocket,
&pNewOverlapPlus->wsaBuf,1,
&pNewOverlapPlus>dwRecvBytes,
                                     &ulFlags,
                                    &pNewOverlapPlus->overlapped,
                                     NULL);          
ulFlags 为MSG_PARTIAL 调用返回值表示正在接受,当发生接受完成通知时
返回值iRet变为997,在msdn里表示Overlapped I/O operation is in progress.  ERROR_IO_PENDING ,pNewOverlapPlus是_OVERLAPPEDPLUS 的结构体指针。之前我清空了overlapped域,我在发生完成通知时没有收到传过来的数据  接受字节数为0 这是怎么回事
typedef struct _OVERLAPPEDPLUS {
OVERLAPPED   overlapped;
//连接句柄
SOCKET   sConnectSocket;
//操作代码
int   OpCode;
WSABUF   wsaBuf;
//发送接受缓存区
char   szBuff[DATA_BUFSIZE];
//发送长度
DWORD   dwSendBytes;
//接受长度
DWORD   dwRecvBytes;

}TOVERLAPPEDPLUS,*TPOVERLAPPEDPLUS;
前段时间我调试多正常,这几天忙昨天再调试时出问题的,先谢了。