同时访问多个传输协议

传输协议必须正确安装在系统上,并在 Windows 套接字中注册,以便应用程序可以访问该协议。 Ws2_32.dll库导出一组函数来简化注册过程。 这包括创建新注册和删除现有注册。

创建新注册时,调用方 (,即堆栈供应商的安装脚本) 提供一个或多个填充 WSAPROTOCOL_INFO 结构,其中包含有关协议的完整信息集。 有关详细信息,请参阅 Windows 套接字 2 SPI。 以这种方式安装的任何传输堆栈称为 Windows 套接字服务提供程序。

在具有 Service Pack 2 的 Windows XP (SP2) 、Windows Server 2003 Service Pack 1 (SP1) 以及 Windows Vista 及更高版本上。 可以使用以下命令在命令提示符中显示包含已安装传输和命名空间提供程序列表的 Winsock 目录:

netsh winsock show catalog

Microsoft Windows 软件开发工具包 (SDK) 包括 Sporder.exe,使用户能够查看和修改枚举服务提供商的顺序。 使用 Sporder.exe,用户可以手动建立特定的 TCP/IP 协议堆栈作为默认 TCP/IP 提供程序(如果存在多个此类堆栈)。

Sporder.exe 应用程序使用从 Sporder.dll 导出的函数对服务提供程序重新排序。 因此,安装应用程序可以使用 Sporder.dll 提供的接口以编程方式重新排序服务提供程序。