Partager via


WTSEnumerateSessionsExA, fonction (wtsapi32.h)

Récupère une liste de sessions sur un serveur hôte de session Bureau à distance (hôte de session Bureau à distance) ou un serveur hôte de virtualisation Bureau à distance (hôte de virtualisation bureau à distance).

Syntaxe

BOOL WTSEnumerateSessionsExA(
  [in]      HANDLE               hServer,
  [in, out] DWORD                *pLevel,
  [in]      DWORD                Filter,
  [out]     PWTS_SESSION_INFO_1A *ppSessionInfo,
  [out]     DWORD                *pCount
);

Paramètres

[in] hServer

Handle pour le serveur cible. Spécifiez un handle retourné par la fonction WTSOpenServer ou WTSOpenServerEx . Pour énumérer les sessions sur le serveur hôte de session Bureau à distance sur lequel l’application s’exécute, spécifiez WTS_CURRENT_SERVER_HANDLE.

[in, out] pLevel

Ce paramètre est réservé. Définissez toujours ce paramètre sur un. En sortie, WTSEnumerateSessionsEx ne modifie pas la valeur de ce paramètre.

[in] Filter

Ce paramètre est réservé. Définissez toujours ce paramètre sur zéro.

[out] ppSessionInfo

Pointeur vers une variable PWTS_SESSION_INFO_1 qui reçoit un pointeur vers un tableau de structures WTS_SESSION_INFO_1 . Chaque structure du tableau contient des informations sur une session sur le serveur hôte de session Bureau à distance spécifié. Si vous avez obtenu un handle pour un serveur hôte de virtualisation des services Bureau à distance en appelant la fonction WTSOpenServerEx , le tableau contient des informations sur les sessions sur les machines virtuelles sur le serveur. Lorsque vous avez terminé d’utiliser le tableau, libérez-le en appelant la fonction WTSFreeMemoryEx . Vous devez également définir le pointeur sur NULL.

[out] pCount

Pointeur vers une variable DWORD qui reçoit le nombre de structures WTS_SESSION_INFO_1 retournées dans la mémoire tampon ppSessionInfo .

Valeur retournée

Si la fonction réussit, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez la fonction GetLastError.

Remarques

Pour obtenir des informations sur les sessions en cours d’exécution sur des machines virtuelles sur un serveur hôte de virtualisation des services Bureau à distance, vous devez obtenir le handle en appelant la fonction WTSOpenServerEx . Pour libérer la mémoire tampon retournée, appelez la fonction WTSFreeMemoryEx et définissez le paramètre WTSClassType sur WTSTypeSessionInfoLevel1.

Pour énumérer une session, vous devez disposer de l’autorisation Informations sur la requête pour cette session. Pour plus d’informations, consultez Autorisations des services Bureau à distance. Pour modifier les autorisations sur une session, utilisez l’outil d’administration Configuration des services Bureau à distance.

Pour énumérer les sessions en cours d’exécution sur une machine virtuelle hébergée sur un serveur hôte de virtualisation des services Bureau à distance, vous devez être membre du groupe Administrateurs sur le serveur hôte de virtualisation des services Bureau à distance.

Notes

L’en-tête wtsapi32.h définit WTSEnumerateSessionsEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Serveur minimal pris en charge Windows Server 2008 R2
Plateforme cible Windows
En-tête wtsapi32.h
Bibliothèque Wtsapi32.lib
DLL Wtsapi32.dll
Ensemble d’API ext-ms-win-session-wtsapi32-l1-1-0 (introduit dans Windows 8)

Voir aussi

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1