命名空间提供程序配置和安装

如前所述,命名空间提供程序的安装应用程序必须调用 WSCInstallNameSpaceWSCInstallNameSpaceEx 以注册 Ws2_32.dll并提供静态配置信息。 若要在 64 位平台上安装到 32 位目录中,命名空间提供程序必须调用 WSCInstallNameSpace32WSCInstallNameSpaceEx32。 Ws2_32.dll使用此信息来完成其路由功能,并在 实现 WSAEnumNameSpaceProvidersWSAEnumNameSpaceProvidersEx 时。 WSCUnInstallNameSpace 函数用于从注册表中删除命名空间提供程序,而 WSCEnableNSProvider 函数用于在活动状态和非活动状态之间切换提供程序。

在 64 位平台上, WSCUnInstallNameSpace32WSCEnableNSProvider32 是处理 32 位目录的类似函数。

这三个操作的结果对当前加载和运行的应用程序不可见。 只有这些操作发生后开始执行的应用程序才会受到这些操作的影响。

此体系结构显式支持在单个 DLL 中实例化多个命名空间提供程序, 但是,每个此类提供程序都必须具有唯一的命名空间提供程序标识符 (GUID) 分配,并且对 WSCInstallNameSpaceWSCInstallNameSpaceEx 的单独调用必须针对每个实例化 (在 64 位平台上,32 位目录的函数是 WSCInstallNameSpace32WSCInstallNameSpaceEx32) 。 此类提供程序可以确定调用哪个实例化,因为命名空间提供程序 (NSP) 标识符在每个 NSP 函数中显示为参数。