WTSEnumerateSessionsA function (wtsapi32.h)

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


BOOL WTSEnumerateSessionsA(
  [in]  HANDLE             hServer,
  [in]  DWORD              Reserved,
  [in]  DWORD              Version,
  [out] PWTS_SESSION_INFOA *ppSessionInfo,
  [out] DWORD              *pCount


[in] 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.

[in] Reserved

This parameter is reserved. It must be zero.

[in] Version

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

[out] 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.

[out] 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.



The wtsapi32.h header defines WTSEnumerateSessions as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll
API set ext-ms-win-session-wtsapi32-l1-1-0 (introduced in Windows 8)

See also