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

備註

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 標頭會根據 UNICODE 預處理器常數的定義,將 WTSSetUserConfig 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wtsapi32.h
程式庫 Wtsapi32.lib
Dll Wtsapi32.dll

另請參閱

WTSQueryUserConfig

WTS_CONFIG_CLASS