LPWSPSENDDISCONNECT 回调函数 (ws2spi.h)

LPWSPSendDisconnect 函数启动套接字的连接终止并发送断开连接数据。

语法

LPWSPSENDDISCONNECT Lpwspsenddisconnect;

int Lpwspsenddisconnect(
  [in]  SOCKET s,
  [in]  LPWSABUF lpOutboundDisconnectData,
  [out] LPINT lpErrno
)
{...}

参数

[in] s

标识套接字的描述符。

[in] lpOutboundDisconnectData

指向传出断开连接数据的指针。

[out] lpErrno

指向错误代码的指针。

返回值

如果未发生错误, 则 LPWSPSendDisconnect 返回零。 否则,返回值 SOCKET_ERROR,并在 lpErrno 中提供特定的错误代码。

错误代码 含义
WSAENETDOWN
网络子系统失败。
WSAENOPROTOOPT
参数 lpOutboundDisconnectData 不为 null,并且服务提供程序不支持断开连接数据。
WSAEINPROGRESS
正在阻止 Windows 套接字调用,或者服务提供程序仍在处理回调函数。
WSAENOTCONN
仅) 面向连接的套接字 (套接字未连接。
WSAENOTSOCK
:描述符不是套接字。
WSAEFAULT
lpOutboundDisconnectData 参数并不完全包含在用户地址空间的有效部分。

注解

在面向连接的套接字上使用 LPWSPSendDisconnect 函数来禁用传输,并启动连接终止以及断开连接数据的传输(如果有)。

成功发出此函数后,不允许后续发送。

lpOutboundDisconnectData 参数(如果不为 null)指向包含要发送到远程方的传出断开连接数据的缓冲区。

请注意, LPWSPSendDisconnect 不会关闭套接字,在调用 LPWSPCloseSocket 之前,不会释放附加到套接字的资源。

注意

无论套接字上的SO_LINGER设置如何, LPWSPSendDisconnect 函数都不会阻止。 Windows 套接字 SPI 客户端不应依赖于在断开连接后能够重复使用套接字。 具体而言,Windows 套接字提供程序不需要支持在此类套接字上使用 LPWSPConnect

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 ws2spi.h

另请参阅

LPWSPConnect

LPWSPSocket