WSCUnInstallNameSpace 函数 (ws2spi.h)

WSCUnInstallNameSpace 函数卸载指示的名称空间提供程序。

语法

INT WSCUnInstallNameSpace(
  [in] LPGUID lpProviderId
);

参数

[in] lpProviderId

指向要卸载的名称空间提供程序的全局唯一标识符 (GUID) 的指针。

返回值

如果未发生错误, WSCUnInstallNameSpace 将返回 零) (NO_ERROR。 否则,如果函数失败,它将返回 SOCKET_ERROR ,必须使用 WSAGetLastError 函数检索相应的错误代码。

错误代码 含义
WSAEFAULT
lpProviderId 参数指向不在用户地址空间有效部分的内存。
WSAEINVAL
指定的命名空间提供程序标识符无效。
WSASYSCALLFAILURE
不应失败的系统调用失败。
WSA_NOT_ENOUGH_MEMORY
可用内存不足。 如果内存不足,无法分配新的目录条目,则返回此错误。

注解

命名空间配置函数不会影响已运行的应用程序。 新安装的名称空间提供程序对应用程序不可见,名称空间提供程序的激活状态也将不可见。 调用 WSCUnInstallNameSpace 后启动的应用程序将看到这些更改。

成功后, WSCUnInstallNameSpace 将尝试通过调用 WSAProviderConfigChange 向已注册更改通知的所有相关应用程序发出警报。

WSCUnInstallNameSpace 函数只能由以 Administrators 组成员身份登录的用户调用。 如果 WSCUnInstallNameSpace 由不是 Administrators 组成员的用户调用,则函数调用将失败,并在 lpErrno 参数中返回WSANO_RECOVERY

对于在 Windows Vista 或 Windows Server 2008 上运行的计算机,此功能也可能因为用户帐户控制 (UAC) 而失败。 如果包含此函数的应用程序由以管理员组成员身份登录(而不是内置管理员)的用户执行,则此调用将失败,除非应用程序已在清单文件中标记为 requestedExecutionLevel 设置为 requireAdministrator。 如果 Windows Vista 或 Windows Server 2008 上的应用程序缺少此清单文件,则作为管理员组成员(而不是内置管理员)登录的用户必须在增强的 shell 中执行应用程序,因为内置管理员 (RunAs 管理员) 才能使此功能成功。

此函数的调用方必须删除完全卸载服务提供程序所需的任何其他文件或服务提供程序特定的配置信息。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ws2spi.h
Library Ws2_32.lib
DLL Ws2_32.dll

另请参阅

WSAProviderConfigChange

WSCDeinstallProvider

WSCEnumProtocols

WSCInstallNameSpace

WSCUnInstallNameSpace32