完成商品的几个疑问

xiayadong 2010-06-21 09:24:24
1.投递重叠操作产生错误,并且产生的错误非WSA_IO_PENDING(也就是投递失败),完成端口是否会收到关于此次重叠操作的结果?
2.关于GetQueuedCompletionStatus的返回值处理的问题:
MSDN中指出了有3种情况,其中一种是:
If *lpOverlapped is NULL and the function does not dequeue a completion packet from the completion port, the return value is zero. The function does not store information in the variables pointed to by the lpNumberOfBytes and lpCompletionKey parameters. To get extended error information, call GetLastError. If the function did not dequeue a completion packet because the wait timed out, GetLastError returns WAIT_TIMEOUT.

如果 *lpOverlapped为NULL, 且函数没能从完成端口取出一个完成包,返回值则为0。函数则不会在lpNumberOfBytes and lpCompletionKey所指向的参数中存储信息。调用GetLastError, 可以得到一个扩展错误信息。如果因为等待超时而未能出列一个完成包,GetLastError返回WAIT_TIMEOUT.

请教何时会产生这种情况?应该如何处理这种情况?
...全文
26 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
关注!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧