WTSSetUserConfigA 函数 (wtsapi32.h)
修改指定域控制器或远程桌面会话主机 (RD 会话主机) 服务器上的指定用户的配置信息。
语法
BOOL WTSSetUserConfigA(
[in] LPSTR pServerName,
[in] LPSTR pUserName,
[in] WTS_CONFIG_CLASS WTSConfigClass,
[in] LPSTR pBuffer,
[in] DWORD DataLength
);
参数
[in] pServerName
指向以 null 结尾的字符串的指针,该字符串包含域控制器或 RD 会话主机服务器的名称。 指定 WTS_CURRENT_SERVER_NAME 以指示运行应用程序的 RD 会话主机服务器。
[in] pUserName
指向以 null 结尾的字符串的指针,该字符串包含正在设置其配置的用户的名称。
[in] WTSConfigClass
指定要为用户设置的信息类型。 此参数可以是 WTS_CONFIG_CLASS 枚举类型的值之一。 WTS_CONFIG_CLASS文档介绍了 ppBuffer 中为每个信息类型指定的数据的格式。
[in] pBuffer
指向用于修改指定用户的配置的数据的指针。
[in] DataLength
pBuffer 缓冲区的大小(以 TCHAR 为单位)。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
WTSQueryUserConfig 和 WTSSetUserConfig 函数传递服务器名称而不是句柄,因为用户帐户信息通常驻留在域控制器上。 若要设置用户配置信息,请使用主域控制器。 可以调用 NetGetDCName 函数来获取主域控制器的名称。 若要查询用户配置信息,可以使用 NetGetAnyDCName 函数获取主域控制器或备份域控制器的名称。
任何域控制器都可以设置或查询用户配置信息。 使用 DsGetDcName 函数检索域控制器的名称。
如果 WTSConfigClass 参数的值对应于 WTS_CONFIG_CLASS 枚举中的整数值,请定义要设置为 DWORD 的值。 然后在调用 WTSSetUserConfig 时将值强制转换为 LPWSTR,如以下示例所示:
WTSSetUserConfig( strServer.GetBuffer(0),
m_strName.GetBuffer(0),
WTSUserConfigfAllowLogonTerminalServer,
(LPWSTR) &dwEnable,
sizeof(DWORD));
注意
wtsapi32.h 标头将 WTSSetUserConfig 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wtsapi32.h |
Library | Wtsapi32.lib |
DLL | Wtsapi32.dll |