Windows Sockets 2扩展库函数简要参考(四十二)

2010-12-30 21:01:20 · 作者: · 浏览: 31747
ufferCount, LPDWORD lpNumberOfBytesSent,

          int iFlags, LPWSAOVERLAPPED lpOverlapped,

          LPWSAOVERLAPPED_COMPLETION_ROUTINE

          lpCompletionRoutine );

 

s:标识一个已连接套接口的描述字。

lpBuffers:一个指向WSABUF结构数组的指针。每个WSABUF结构包含缓冲区的指针和缓冲区的大小。

dwBufferCountlpBuffers数组中WSABUF结构的数目。

lpNumberOfBytesSent:如果发送操作立即完成,则为一个指向所发送数据字节数的指针。

iFlags:标志位。

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

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

 

返回值:

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

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