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。

注解

WTSQueryUserConfigWTSSetUserConfig 函数传递服务器名称而不是句柄,因为用户帐户信息通常驻留在域控制器上。 若要设置用户配置信息,请使用主域控制器。 可以调用 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

另请参阅

WTSQueryUserConfig

WTS_CONFIG_CLASS