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
指向包含域控制器或 RD 会话主机服务器名称的以 null 结尾的字符串的指针。 指定 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 |
目标平台 | 窗户 |
标头 | wtsapi32.h |
库 | Wtsapi32.lib |
DLL | Wtsapi32.dll |