SAN 不需要的 Windows Sockets SPI 函数

本部分介绍不需要 SAN 服务提供商实现的 Windows 套接字 SPI 的功能。 这些函数在 Ws2spi.h 中定义。

WSPAddressToString
Windows 套接字交换机使用 TCP/IP 提供程序将 SOCKADDR 结构的所有组件转换为可读数字字符串,该字符串表示套接字的 IP 地址。

WSPAsyncSelect
如有必要,Windows 套接字交换机在内部使用其会话协议来处理套接字的网络事件的通知。

WSPCancelBlockingCall
Windows 套接字开关在内部处理正在进行的阻止请求的取消。 因此,它永远不会发出取消对 SAN 服务提供商 DLL 的阻止调用。 Windows 套接字开关可以:

通过关闭 SAN 套接字来取消未完成的连接请求。 SAN 服务提供程序 DLL 应中止连接请求。

取消未完成的发送和接收请求,方法是放弃这些请求的数据(如果交换机在内部缓冲该数据),或者等待这些请求完成(如果这些请求是 RDMA 传输到应用程序缓冲区或从应用程序缓冲区传输)。 对于长时间的 RDMA 传输,交换机可以完全关闭连接。

Microsoft Windows SDK中的 Windows 套接字 SPI 文档警告,如果取消阻止调用,则应用程序不能依赖于要保留的连接。 在这种情况下,唯一在阻止请求取消后保证在套接字上成功的调用是 WSPCloseSocket

WSPGetPeerName 当交换机在 WSPConnect 调用中与对等方建立连接或接受与 WSPAccept 调用中的对等方的连接时,Windows 套接字交换机将缓存对等方的 IP 地址。 如有必要,开关会向应用程序提供此缓存值。

WSPGetSockName 当交换机将地址与 WSPBind 调用中的套接字关联或接受与 WSPAccept 调用中的对等方的连接时,Windows 套接字交换机将缓存套接字的本地 IP 地址。 如有必要,开关会向应用程序提供此缓存值。

WSPJoinLeaf Windows 套接字交换机专门使用 TCP/IP 提供程序来处理多点会话。

WSPRecvDisconnect Windows 套接字交换机在内部处理套接字上的数据接收终止,并从远程方检索任何传入的断开连接数据。

WSPRecvFrom 当前版本的 Windows 套接字直通不支持 SAN 服务提供程序处理使用用户数据报协议接收数据报的套接字 (UDP) 语义。 因此,Windows 套接字交换机在连接的套接字上调用 SAN 服务提供商的 WSPRecv 函数,以使用传输控制协议 (TCP) 语义接收流数据。

WSPSelect 如有必要,Windows 套接字交换机在内部与 TCP/IP 提供程序合作使用其会话协议来确定套接字的状态。

WSPSendDisconnect Windows 套接字交换机在内部处理套接字的连接终止,并向远程方发送断开连接数据。

WSPSendTo 当前版本的 Windows 套接字直通不支持 SAN 服务提供程序处理使用用户数据报协议发送数据报的套接字 (UDP) 语义。 因此,Windows 套接字交换机在连接的套接字上调用 SAN 服务提供商的 WSPSend 函数,以使用传输控制协议 (TCP) 语义发送流数据。

WSPShutdown Windows 套接字交换机在内部禁用套接字上的数据的接收和传输。

WSPStartup Windows 套接字开关不调用 WSPStartup 来启动 SAN 服务提供商的操作。 交换机改用 SAN 服务提供商的 WSPStatupEx 函数。

WSPStringToAddress Windows 套接字交换机使用 TCP/IP 提供程序将表示套接字 IP 地址的人读数字字符串转换为套接字地址结构, (SOCKADDR) 适合传递给采用此类结构的 Windows 套接字例程。