WTSEnumerateSessionsA function

Retrieves a list of sessions on a Remote Desktop Session Host (RD Session Host) server.

Syntax

BOOL WTSEnumerateSessionsA(
  IN HANDLE          hServer,
  IN DWORD           Reserved,
  IN DWORD           Version,
  PWTS_SESSION_INFOA *ppSessionInfo,
  DWORD              *pCount
);

Parameters

hServer

A handle to the RD Session Host server.

Note  You can use the WTSOpenServer or WTSOpenServerEx functions to retrieve a handle to a specific server, or WTS_CURRENT_SERVER_HANDLE to use the RD Session Host server that hosts your application.
 

Reserved

This parameter is reserved. It must be zero.

Version

The version of the enumeration request. This parameter must be 1.

ppSessionInfo

A pointer to an array of WTS_SESSION_INFO structures that represent the retrieved sessions. To free the returned buffer, call the WTSFreeMemory function.

Session permissions:  

  • To enumerate a session, you must enable the query information permission. For more information, see Remote Desktop Services Permissions.
  • To change permissions on a session, use the Remote Desktop Services Configuration administrative tool.
  • To enumerate sessions running on a virtual machine hosted on a RD Virtualization Host server, you must be a member of the Administrators group on the RD Virtualization Host server.

pCount

A pointer to the number of WTS_SESSION_INFO structures returned in the ppSessionInfo parameter.

Return Value

Returns zero if this function fails. If this function succeeds, a nonzero value is returned.

To get extended error information, call GetLastError.

Remarks

For more information, and an extended example on how to use this function, see the following kb article.

Requirements

   
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll

See Also

WTS_SESSION_INFO