Windows Sockets 2扩展库函数简要参考(三十八)

2010-12-30 21:01:20 · 作者: · 浏览: 31754
的缓冲区。

lpFromlen:指向from缓冲区大小的指针,仅当指定了lpFrom才需要。

lpOverlapped:指向WSAOVERLAPPED结构的指针(对于非重叠套接口则忽略)。

lpCompletionRoutine:一个指向接收操作完成后调用的完成例程的指针。(对于非重叠套接口则忽略)。

 

返回值:

  若无错误发生且接收操作立即完成,则WSARecvFrom()函数返回所接收的字节数。如果连接结束,则返回0。请注意在这种情况下完成指示(启动指定的完成例程或设置一个事件对象)将早已发生。否则的话,将返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。错误代码WSA_IO_PENDING表示重叠操作成功启动,过后将有完成指示。任何其他的错误表示重叠操作未能成功地启动,以后也不会有完成指示。

  如果设置了MSG_INTERRUPT标志,则返回值的含义变化。零表示成功,具体含义同上。否则的话,返回值直接包含如下所示的错误代码。由于中断环境中无法调用WSAGetLastError(),故是必需的。请注意仅适用于Win16环境,仅适用于PROTOCOL_INFO结构中设置了XP1_INTERRUPT位的协议。

 

错误代码:

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

WSAENETDOWN               网络子系统失效。

WSAEFAULT                      lpFromlen参数非法;lpFrom缓冲区太小,无法容纳远端地