WTSEnumerateSessionsExA 函式 (wtsapi32.h)

擷取指定遠端桌面會話主機 (RD 工作階段主機) 伺服器或遠端桌面虛擬化主機 (RD 虛擬主機) 伺服器上的會話清單。

語法

BOOL WTSEnumerateSessionsExA(
  [in]      HANDLE               hServer,
  [in, out] DWORD                *pLevel,
  [in]      DWORD                Filter,
  [out]     PWTS_SESSION_INFO_1A *ppSessionInfo,
  [out]     DWORD                *pCount
);

參數

[in] hServer

目標伺服器的句柄。 指定 WTSOpenServerWTSOpenServerEx 函式所傳回的句柄。 若要列舉應用程式執行所在 RD 工作階段主機伺服器上的工作階段,請指定 WTS_CURRENT_SERVER_HANDLE

[in, out] pLevel

此參數已保留備用。 一律將此參數設定為一個。 輸出時, WTSEnumerateSessionsEx 不會變更此參數的值。

[in] Filter

此參數已保留備用。 一律將此參數設定為零。

[out] ppSessionInfo

PWTS_SESSION_INFO_1變數的指標,可接收WTS_SESSION_INFO_1結構的陣列指標。 數位中的每個結構都包含指定之 RD 工作階段主機伺服器上的工作階段相關信息。 如果您藉由呼叫 WTSOpenServerEx 函式取得 RD 虛擬化主機伺服器的句柄,數位會包含伺服器上虛擬機上會話的相關信息。 當您完成使用陣列時,請呼叫 WTSFreeMemoryEx 函 式來釋放數位。 您也應該將指標設定為 NULL

[out] pCount

DWORD 變數的指標,可接收 ppSessionInfo 緩衝區中傳回的WTS_SESSION_INFO_1結構數目。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError 函 式。

備註

若要取得 RD 虛擬化主機伺服器上虛擬機上執行之工作階段的相關信息,您必須呼叫 WTSOpenServerEx 函 式來取得句柄。 若要釋放傳回的緩衝區,請呼叫 WTSFreeMemoryEx 函 式,並將 WTSClassType 參數設定為 WTSTypeSessionInfoLevel1

若要列舉會話,您必須擁有該會話的查詢信息許可權。 如需詳細資訊,請參閱 遠端桌面服務許可權。 若要修改會話的許可權,請使用遠端桌面服務組態系統管理工具。

若要列舉在裝載於 RD 虛擬化主機伺服器上的虛擬機上執行的工作階段,您必須是 RD 虛擬化主機伺服器上的 Administrators 群組成員。

注意

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

規格需求

需求
最低支援的用戶端 Windows 7
最低支援的伺服器 Windows Server 2008 R2
目標平台 Windows
標頭 wtsapi32.h
程式庫 Wtsapi32.lib
Dll Wtsapi32.dll
API 集合 ext-ms-win-session-wtsapi32-l1-1-0 (於 Windows 8)

另請參閱

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1