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
目标服务器的句柄。 指定由 WTSOpenServer 或 WTSOpenServerEx 函数返回的句柄。 若要枚举运行应用程序的 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 虚拟化主机服务器上的管理员组的成员。
注意
wtsapi32.h 标头将 WTSEnumerateSessionsEx 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 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 中引入) |