打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
返回指定套接口上一个重叠操作的结果。
userphoto

2014.02.13

关注

返回指定套接口上一个重叠操作的结果。

WSAGetOverlappedResult() - 简述:


          #include <winsock2.h>

          BOOL WSAAPI WSAGetOverlappedResult( SOCKET s,
          LPWSAOVERLAPPED lpOverlapped, LPDWORD
          lpcbTransfer, BOOL fWait, LPDWORD lpdwFlags );

s:标识套接口。这就是调用重叠操作(WSARecv()、 WSARecvFrom()WSASend()WSASendTo() 或WSAIoctl())时指定的那个套接口。
lpOverlapped:指向调用重叠操作时指定的WSAOVERLAPPED结构。
lpcbTransfer:指向一个32位变量,该变量用于存放一个发送或接收操作实际传送的字节数,或WSAIoctl()传送的字节数。
fWait:指定函数是否等待挂起的重叠操作结束。若为真TRUE则函数在操作完成后才返回。若为假FALSE且函数挂起,则函数返回FALSE,WSAGetLastError()函数返回                    WSA_IO_INCOMPLETE。
lpdwFlags:指向一个32位变量,该变量存放完成状态的附加标志位。如果重叠操作为                    WSARecv()或WSARecvFrom(),则本参数包含lpFlags参数所需的结果。

WSAGetOverlappedResult() - 返回值:


  如果函数成功,则返回值为真TRUE。它意味着重叠操作已经完成,lpcbTransfer所指向的值已经被刷新。应用程序可调用WSAGetLastError()来获取重叠操作的错误信息。
  如果函数失败,则返回值为假FALSE。它意味着要么重叠操作未完成,要么由于一个或多个参数的错误导致无法决定完成状态。失败时,lpcbTransfer指向的值不会被刷新。应用程序可用WSAGetLastError()来获取失败的原因。

错误代码:
WSANOTINITIALISED                在调用本API之前应成功调用WSAStartup()。
WSAENETDOWN                        网络子系统失效。
WSAENOTSOCK                         描述字不是一个套接口。
WSA_INVALID_HANDLE        WSAOVERLAPPED结构的hEvent域未包含一个有效的事件对象句柄。
WSA_INVALID_PARAMETER        有不可接受的参数。
WSA_IO_INCOMPLETE        fWait假FALSE且输入/输出操作尚未完成。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
winsock 函数声明大全
C#面试题和答案
Onvif开发之客户端鉴权获取参数篇
使用 PHP 获取并解析 JSON 显示在页面中
网络游戏的封包技术揭密
通达信接口文件在哪?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服