Partager via


WTSQuerySessionInformationA, fonction (wtsapi32.h)

Récupère les informations de session pour la session spécifiée sur le serveur hôte de session Bureau à distance (hôte de session Bureau à distance) spécifié. Il peut être utilisé pour interroger les informations de session sur les serveurs hôtes de session Bureau à distance locaux et distants.

Syntaxe

BOOL WTSQuerySessionInformationA(
  [in]  HANDLE         hServer,
  [in]  DWORD          SessionId,
  [in]  WTS_INFO_CLASS WTSInfoClass,
  [out] LPSTR          *ppBuffer,
  [out] DWORD          *pBytesReturned
);

Paramètres

[in] hServer

Handle pour un serveur hôte de session Bureau à distance. Spécifiez un handle ouvert par la fonction WTSOpenServer ou spécifiez WTS_CURRENT_SERVER_HANDLE pour indiquer le serveur hôte de session Bureau à distance sur lequel votre application s’exécute.

[in] SessionId

Identificateur de session des services Bureau à distance. Pour indiquer la session dans laquelle l’application appelante s’exécute (ou la session active), spécifiez WTS_CURRENT_SESSION. Spécifiez uniquement WTS_CURRENT_SESSION lors de l’obtention des informations de session sur le serveur local. Si WTS_CURRENT_SESSION est spécifié lors de l’interrogation des informations de session sur un serveur distant, les informations de session retournées sont incohérentes. N’utilisez pas les données retournées.

Vous pouvez utiliser la fonction WTSEnumerateSessions pour récupérer les identificateurs de toutes les sessions sur un serveur hôte de session Bureau à distance spécifié.

Pour interroger des informations pour la session d’un autre utilisateur, vous devez disposer de l’autorisation Informations sur la requête. 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.

[in] WTSInfoClass

Valeur de l’énumération WTS_INFO_CLASS qui indique le type d’informations de session à récupérer dans un appel à la fonction WTSQuerySessionInformation .

[out] ppBuffer

Pointeur vers une variable qui reçoit un pointeur vers les informations demandées. Le format et le contenu des données dépendent de la classe d’informations spécifiée dans le paramètre WTSInfoClass . Pour libérer la mémoire tampon retournée, appelez la fonction WTSFreeMemory .

[out] pBytesReturned

Pointeur vers une variable qui reçoit la taille, en octets, des données retournées dans ppBuffer.

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 GetLastError.

Remarques

Pour récupérer l’ID de session de la session active lors de l’exécution des services Bureau à distance, appelez WTSQuerySessionInformation et spécifiez WTS_CURRENT_SESSION pour le paramètre SessionId et WTSSessionId pour le paramètre WTSInfoClass . L’ID de session est retourné dans le paramètre ppBuffer . Si les services Bureau à distance ne sont pas en cours d’exécution, les appels à WTSQuerySessionInformation échouent. Dans ce cas, vous pouvez récupérer l’ID de session actuel en appelant la fonction ProcessIdToSessionId .

Pour déterminer si votre application s’exécute sur la console physique, vous devez spécifier WTS_CURRENT_SESSION pour le paramètre SessionId et WTSClientProtocolType comme paramètre WTSInfoClass . Si ppBuffer a la valeur « 0 », la session est attachée à la console physique.

Notes

L’en-tête wtsapi32.h définit WTSQuerySessionInformation en tant qu’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 Vista
Serveur minimal pris en charge Windows Server 2008
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

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS