Compartir a través de


Función WTSEnumerateSessionsExW (wtsapi32.h)

Recupera una lista de sesiones en un servidor de host de sesión de Escritorio remoto (host de sesión de Escritorio remoto) o en un servidor de host de virtualización de Escritorio remoto (host de virtualización de Escritorio remoto).

Sintaxis

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

Parámetros

[in] hServer

Identificador del servidor de destino. Especifique un identificador devuelto por la función WTSOpenServer o WTSOpenServerEx . Para enumerar las sesiones en el servidor host de sesión de Escritorio remoto en el que se ejecuta la aplicación, especifique WTS_CURRENT_SERVER_HANDLE.

[in, out] pLevel

Este parámetro está reservado. Establezca siempre este parámetro en uno. En la salida, WTSEnumerateSessionsEx no cambia el valor de este parámetro.

[in] Filter

Este parámetro está reservado. Establezca siempre este parámetro en cero.

[out] ppSessionInfo

Puntero a una variable PWTS_SESSION_INFO_1 que recibe un puntero a una matriz de estructuras de WTS_SESSION_INFO_1 . Cada estructura de la matriz contiene información sobre una sesión en el servidor host de sesión de Escritorio remoto especificado. Si obtuvo un identificador para un servidor host de virtualización de Escritorio remoto llamando a la función WTSOpenServerEx , la matriz contiene información sobre las sesiones de las máquinas virtuales del servidor. Cuando haya terminado de usar la matriz, ábrela llamando a la función WTSFreeMemoryEx . También debe establecer el puntero en NULL.

[out] pCount

Puntero a una variable DWORD que recibe el número de estructuras de WTS_SESSION_INFO_1 devueltas en el búfer ppSessionInfo .

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 ampliada de los errores, llame a la función GetLastError.

Comentarios

Para obtener información sobre las sesiones que se ejecutan en máquinas virtuales en un servidor host de virtualización de Escritorio remoto, debe obtener el identificador llamando a la función WTSOpenServerEx . Para liberar el búfer devuelto, llame a la función WTSFreeMemoryEx y establezca el parámetro WTSClassType en WTSTypeSessionInfoLevel1.

Para enumerar una sesión, debe tener el permiso Información de consulta para esa sesión. Para obtener más información, consulte Permisos de Servicios de Escritorio remoto. Para modificar permisos en una sesión, use la herramienta administrativa Configuración de Servicios de Escritorio remoto.

Para enumerar las sesiones que se ejecutan en una máquina virtual hospedada en un servidor host de virtualización de Escritorio remoto, debe ser miembro del grupo Administradores en el servidor host de virtualización de Escritorio remoto.

Nota

El encabezado wtsapi32.h define WTSEnumerateSessionsEx 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 7
Servidor mínimo compatible Windows Server 2008 R2
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

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1