Supervisión de conexiones y desconexiones de sesión
Para una aplicación de servicio, como una aplicación de servidor de canal virtual, para supervisar las conexiones y desconexiones de sesión, debe registrarla con Servicios de Escritorio remoto. Para registrar la aplicación con Servicios de Escritorio remoto, almacene el nombre de la aplicación del servidor de canal virtual en el Registro agregando una subclave en la siguiente ubicación:
HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\TerminalServer\Addins
La subclave puede tener cualquier nombre. Debe tener un valor de REG_SZ , Name, que contenga el nombre simbólico de la aplicación.
Name = AddinName
La longitud máxima de la subclave y el valor de Name es de 99 caracteres.
La subclave también debe tener un valor REG_DWORD que indique el tipo de aplicación de servidor.
Type = AddinType
AddinType debe ser el valor siguiente.
Valor | Significado |
---|---|
3 | Aplicación en modo de usuario, espacio de sesión. |
El registro de la aplicación de servicio solo surte efecto en las sesiones creadas después de realizar el registro.
Para cada aplicación de servicio registrada, Los Servicios de Escritorio remoto señalizarán un conjunto de objetos de evento cuando un cliente se conecte o desconecte de la sesión. Cada complemento de canal virtual debe registrarse y crear los eventos de notificación llamando a CreateEvent. Los nombres de estos objetos de evento cumplen el siguiente formato.
AddinName-Reconnect
AddinName-Disconnect
AddinName es la cadena especificada en el valor Name de la subclave del Registro en la que se registra la aplicación de servidor. La creación de estos eventos en una sesión hace que se creen en un directorio de eventos especial por sesión. El directorio de eventos proporciona seguridad agregada al impedir que las aplicaciones de otras sesiones modifiquen el estado de estos eventos.
Para controlar si se reciben eventos RECONNECT y DISCONNECT en el servidor, puede colocar la marca RemoteControlPersistent en el Registro bajo la clave siguiente:
HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\TerminalServer\Addins\addinname
La marca habilita o deshabilita los eventos RECONNECT y DISCONNECT cuando se inicia o detiene una sesión de cliente. La sintaxis del valor de REG_DWORD es la siguiente.
RemoteControlPersistent = flag
El valor de la marca puede ser uno o cero. Cero es el valor predeterminado. Si se establece en uno, no se notificará a la aplicación de servicio si se inicia o se detiene la sesión del cliente. Si se establece en cero, se señala un evento RECONNECT cuando se inicia la sesión del cliente y se señala un evento DISCONNECT cuando se detiene la sesión del cliente.
El formato de nombre de objeto de evento anterior todavía se admite en Windows Server 2008 para la compatibilidad con versiones anteriores. Se recomienda usar el formato más reciente de Windows Server 2008 porque es más seguro.
El formato de evento anterior es el siguiente.
Global\AddinName-SessionId-Reconnect
Global\AddinName-SessionId-Disconnect
AddinName es la cadena especificada en el valor Name de la subclave del Registro en la que se registra la aplicación de servidor. SessionId es el identificador de sesión de una sesión de cliente.