Función WTSVirtualChannelOpenEx (wtsapi32.h)
Crea un canal virtual de forma similar a WTSVirtualChannelOpen.
Esta API admite la creación de canales virtuales estáticos (SVC) y de canal virtual dinámico (DVC). Si el parámetro flags es cero, se comporta igual que WTSVirtualChannelOpen. Se puede abrir un DVC especificando la marca adecuada. Después de crear una DVC, puede usar las mismas funciones para Lectura, Escritura, Consulta o Cerrar que se usan para SVC.
Sintaxis
HANDLE WTSVirtualChannelOpenEx(
[in] DWORD SessionId,
[in] LPSTR pVirtualName,
[in] DWORD flags
);
Parámetros
[in] SessionId
Identificador de sesión de Servicios de Escritorio remoto. Para indicar la sesión actual, especifique WTS_CURRENT_SESSION. 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 poder abrir un canal virtual en la sesión de otro usuario, debe tener el permiso Canales virtuales. 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] pVirtualName
En el caso de un SVC, apunta a una cadena terminada en NULL que contiene el nombre del canal virtual. La longitud de un nombre SVC se limita a CHANNEL_NAME_LEN caracteres, sin incluir el valor NULL de terminación.
En el caso de un DVC, apunta a una cadena terminada en null que contiene el nombre del punto de conexión del agente de escucha. La longitud de un nombre DVC se limita a MAX_PATH caracteres.
[in] flags
Para abrir el canal como SVC, especifique cero para este parámetro. Para abrir el canal como DVC, especifique WTS_CHANNEL_OPTION_DYNAMIC.
Al abrir un DVC, puede especificar una configuración de prioridad para los datos que se transfieren especificando uno de los valores WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX en combinación con el valor de WTS_CHANNEL_OPTION_DYNAMIC .
WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS
Deshabilita la compresión de este DVC. Debe especificar este valor en combinación con el valor WTS_CHANNEL_OPTION_DYNAMIC .
WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (valor predeterminado)
Prioridad baja. Los datos se enviarán en ambos lados con prioridad baja. Use este nivel de prioridad para las transferencias de bloques de todos los tamaños, donde la velocidad de transferencia no es importante. En casi todos (95%) casos, el canal debe abrirse con esta marca.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED
Prioridad media. Use este nivel de prioridad para enviar mensajes de control cortos que deben tener prioridad sobre los datos de los canales de prioridad baja.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH
Prioridad alta. Use este nivel de prioridad para los datos críticos y que afectan directamente a la experiencia del usuario. El tamaño de la transferencia puede variar. Los datos de visualización se dividen en esta categoría.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL
Prioridad en tiempo real. Use este nivel de prioridad solo en los casos en los que la transferencia de datos sea absolutamente crítica. El tamaño de transferencia de datos debe limitarse a unos cientos de bytes por mensaje.
Valor devuelto
NULL al error con GetLastError establecido.
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) |