共用方式為


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
目標平臺 窗戶
標頭 wtsapi32.h
連結庫 Wtsapi32.lib
DLL Wtsapi32.dll
API 集 ext-ms-win-session-wtsapi32-l1-1-0 (在 Windows 8 中引進)

另請參閱

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1