返回指定套接口上一个重叠操作的结果。
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且输入/输出操作尚未完成。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。