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

此参数为保留参数。 始终将此参数设置为 1。 输出时, 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 虚拟化主机服务器上的管理员组的成员。

注意

wtsapi32.h 标头将 WTSEnumerateSessionsEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-session-wtsapi32-l1-1-0 (

另请参阅

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1