WSCEnableNSProvider 函数 (ws2spi.h)
WSCEnableNSProvider 函数更改给定命名空间提供程序的状态。 它旨在使最终用户能够更改命名空间提供程序的状态。
语法
INT WSCEnableNSProvider(
[in] LPGUID lpProviderId,
[in] BOOL fEnable
);
参数
[in] lpProviderId
指向命名空间提供程序的全局唯一标识符 (GUID) 的指针。
[in] fEnable
一个布尔值,如果 为 TRUE,则提供程序设置为活动状态。 如果 为 FALSE,则禁用提供程序,并且将不可用于查询操作或服务注册。
返回值
如果未发生错误, WSCEnableNSProvider 函数将返回 NO_ERROR (零) 。 否则,如果函数失败,它将返回 SOCKET_ERROR ,必须使用 WSAGetLastError 函数检索相应的错误代码。
错误代码 | 含义 |
---|---|
lpProviderId 参数指向不在用户地址空间有效部分的内存。 | |
指定的命名空间提供程序标识符无效。 | |
不应失败的系统调用失败。 | |
可用内存不足。 如果内存不足,无法分配新的目录条目,则返回此错误。 |
注解
WSCEnableNSProvider 函数旨在用于更改命名空间提供程序的状态。 独立软件供应商 (ISV) 通常不应为了激活自己的另一个 ISV 命名空间提供程序而取消激活另一个 ISV 命名空间提供程序。 选择应该留给用户。
WSCEnableNSProvider 函数不会影响已运行的应用程序。 新安装的命名空间提供程序对应用程序不可见,命名空间提供程序的激活状态更改也不会可见。 调用 WSCEnableNSProvider 后启动的应用程序将看到这些更改。
WSCEnableNSProvider 函数只能由以 Administrators 组成员身份登录的用户调用。 如果 WSCEnableNSProvider 由不是 Administrators 组成员的用户调用,则函数调用将失败。
对于运行 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 |