Función WTSQuerySessionInformationA (wtsapi32.h)

Recupera información de sesión para la sesión especificada en el servidor de host de sesión de Escritorio remoto (host de sesión de Escritorio remoto) especificado. Se puede usar para consultar información de sesión en servidores host de sesión de Escritorio remoto y local.

Sintaxis

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

Parámetros

[in] hServer

Identificador de un servidor host de sesión de Escritorio remoto. Especifique un identificador abierto por la función WTSOpenServer o especifique WTS_CURRENT_SERVER_HANDLE para indicar el servidor host de sesión de Escritorio remoto en el que se ejecuta la aplicación.

[in] SessionId

Identificador de sesión de Servicios de Escritorio remoto. Para indicar la sesión en la que se ejecuta la aplicación que realiza la llamada (o la sesión actual), especifique WTS_CURRENT_SESSION. Especifique solo WTS_CURRENT_SESSION al obtener información de sesión en el servidor local. Si WTS_CURRENT_SESSION se especifica al consultar información de sesión en un servidor remoto, la información de sesión devuelta será incoherente. No use los datos devueltos.

Puede usar la función WTSEnumerateSessions para recuperar los identificadores de todas las sesiones en un servidor host de sesión de Escritorio remoto especificado.

Para consultar la información de la sesión de otro usuario, debe tener el permiso Información de consulta. Para obtener más información, vea Permisos de Servicios de Escritorio remoto. Para modificar permisos en una sesión, use la herramienta administrativa Configuración de Servicios de Escritorio remoto.

[in] WTSInfoClass

Valor de la enumeración WTS_INFO_CLASS que indica el tipo de información de sesión que se va a recuperar en una llamada a la función WTSQuerySessionInformation .

[out] ppBuffer

Puntero a una variable que recibe un puntero a la información solicitada. El formato y el contenido de los datos dependen de la clase de información especificada en el parámetro WTSInfoClass . Para liberar el búfer devuelto, llame a la función WTSFreeMemory .

[out] pBytesReturned

Puntero a una variable que recibe el tamaño, en bytes, de los datos devueltos en ppBuffer.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Para recuperar el identificador de sesión de la sesión actual cuando se ejecuta Servicios de Escritorio remoto, llame a WTSQuerySessionInformation y especifique WTS_CURRENT_SESSION para el parámetro SessionId y WTSSessionId para el parámetro WTSInfoClass . El identificador de sesión se devolverá en el parámetro ppBuffer . Si los Servicios de Escritorio remoto no se están ejecutando, se producirá un error en las llamadas a WTSQuerySessionInformation . En esta situación, puede recuperar el identificador de sesión actual llamando a la función ProcessIdToSessionId .

Para determinar si la aplicación se ejecuta en la consola física, debe especificar WTS_CURRENT_SESSION para el parámetro SessionId y WTSClientProtocolType como parámetro WTSInfoClass . Si ppBuffer es "0", la sesión se adjunta a la consola física.

Nota

El encabezado wtsapi32.h define WTSQuerySessionInformation como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wtsapi32.h
Library Wtsapi32.lib
Archivo DLL Wtsapi32.dll
Conjunto de API ext-ms-win-session-wtsapi32-l1-1-0 (introducido en Windows 8)

Consulte también

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS