Partager via


WTSQuerySessionInformationA, fonction (wtsapi32.h)

Récupère les informations de session de 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 vers 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 est en cours d’exécution (ou la session active) spécifiez WTS_CURRENT_SESSION. Spécifiez uniquement WTS_CURRENT_SESSION lors de l’obtention d’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 de requête. Pour plus d’informations, consultez autorisations des services Bureau à distance. Pour modifier les autorisations sur une session, utilisez l’outil d’administration 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 de retour

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’erreur étendues, appelez GetLastError.

Remarques

Pour récupérer l’ID de session de la session active lorsque les services Bureau à distance s’exécutent, 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 s’exécutent pas, 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 est « 0 », la session est attachée à la console physique.

Note

L’en-tête wtsapi32.h définit WTSQuerySessionInformation 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
serveur minimum pris en charge Windows Server 2008
plateforme cible Windows
d’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