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 中提供特定的错误代码。
错误代码 | 含义 |
---|---|
网络子系统失败。 | |
参数 lpOutboundDisconnectData 不为 null,并且服务提供程序不支持断开连接数据。 | |
正在阻止 Windows 套接字调用,或者服务提供程序仍在处理回调函数。 | |
仅) 面向连接的套接字 (套接字未连接。 | |
:描述符不是套接字。 | |
lpOutboundDisconnectData 参数并不完全包含在用户地址空间的有效部分。 |
注解
在面向连接的套接字上使用 LPWSPSendDisconnect 函数来禁用传输,并启动连接终止以及断开连接数据的传输(如果有)。
成功发出此函数后,不允许后续发送。
lpOutboundDisconnectData 参数(如果不为 null)指向包含要发送到远程方的传出断开连接数据的缓冲区。
请注意, LPWSPSendDisconnect 不会关闭套接字,在调用 LPWSPCloseSocket 之前,不会释放附加到套接字的资源。
注意
无论套接字上的SO_LINGER设置如何, LPWSPSendDisconnect 函数都不会阻止。 Windows 套接字 SPI 客户端不应依赖于在断开连接后能够重复使用套接字。 具体而言,Windows 套接字提供程序不需要支持在此类套接字上使用 LPWSPConnect 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | ws2spi.h |