请输入您要查询的百科知识:

 

词条 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参数所需的结果。

§ 返回值:

如果函数成功,则返回值为真TRUE。它意味着重叠操作已经完成,lpcbTransfer所指向的值已经被刷新。应用程序可调用WSAGetLastError()来获取重叠操作的错误信息。

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

错误代码:

WSANOTINITIALISED                在调用本API之前应成功调用WSAStartup()。

WSAENETDOWN                        网络子系统失效。

WSAENOTSOCK                         描述字不是一个套接口。

WSA_INVALID_HANDLE        WSAOVERLAPPED结构的hEvent域未包含一个有效的事件对象句柄。

WSA_INVALID_PARAMETER        有不可接受的参数。

WSA_IO_INCOMPLETE        fWait假FALSE且输入/输出操作尚未完成。

另请参阅: WSACreateEvent(), WSAWaitForMultipleEvents(),WSARecv(), WSARecvFrom(), WSASend(), WSASendTo(),WSAConnect(), WSAAccept(), WSAIoctl().

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/20 3:49:20