Interfaz IWRdsProtocolConnection (wtsprotocol.h)

Expone los métodos a los que llama el servicio Servicios de Escritorio remoto para configurar una conexión de cliente. El protocolo debe implementar esta interfaz para controlar las solicitudes de conexión de los clientes. Cuando el agente de escucha de protocolo recibe una solicitud de conexión de un cliente, debe crear un objeto IWRdsProtocolConnection y pasarlo al servicio servicios de Escritorio remoto llamando al método IWRdsProtocolListenerCallback::OnConnected . En respuesta, el servicio agrega una referencia al objeto IWRdsProtocolConnectionCallback y devuelve un puntero a él. Cuando la conexión ya no es necesaria, el protocolo debe liberar el puntero.

Durante una secuencia de conexión, el servicio Servicios de Escritorio remoto llama a los métodos siguientes en el orden indicado.

  1. GetLogonErrorRedirector
  2. AcceptConnection
  3. GetClientData
  4. GetClientMonitorData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticateClientToSession
  8. NotifySessionId
  9. GetInputHandles
  10. GetVideoHandle
  11. ConnectNotify
  12. NotifyCommandProcessCreated
  13. IsUserAllowedToLogon
  14. SessionArbitrationEnumeration
  15. LogonNotify
Si el servicio Servicios de Escritorio remoto necesita volver a conectarse después de llamar a SessionArbitrationEnumeration, se vuelve a conectar llamando a los métodos siguientes en el orden indicado:
  1. DisconnectNotify (se llama en la nueva sesión que se creó).
  2. NotifySessionId (se llama en la sesión existente).
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
Para desconectarse, el servicio Servicios de Escritorio remoto llama a los métodos siguientes en el orden indicado:
  1. PreDisconnect
  2. DisconnectNotify
  3. Close
El servicio Servicios de Escritorio remoto puede llamar a los métodos siguientes en cualquier momento después de establecer una conexión:

Herencia

La interfaz IWRdsProtocolConnection hereda de la interfaz IUnknown . IWRdsProtocolConnection también tiene estos tipos de miembros:

Métodos

La interfaz IWRdsProtocolConnection tiene estos métodos.

 
IWRdsProtocolConnection::AcceptConnection

Dirige el protocolo para continuar con la solicitud de conexión.
IWRdsProtocolConnection::AuthenticateClientToSession

Especifica una sesión a la que se debe volver a conectar la conexión.
IWRdsProtocolConnection::Close

Cierra una conexión una vez desconectada la sesión.
IWRdsProtocolConnection::ConnectNotify

Indica el protocolo que se ha inicializado la sesión.
IWRdsProtocolConnection::CreateVirtualChannel

Solicita que el protocolo cree un canal virtual.
IWRdsProtocolConnection::D isconnectNotify

Notifica al protocolo que se ha desconectado la sesión.
IWRdsProtocolConnection::GetClientData

Solicita la configuración del cliente desde el protocolo.
IWRdsProtocolConnection::GetClientMonitorData

Recupera el número de monitores y el número de monitor principal en el cliente.
IWRdsProtocolConnection::GetInputHandles

Obtiene los identificadores de los dispositivos de entrada y salida para el protocolo.
IWRdsProtocolConnection::GetLastInputTime

Recupera la última vez que el protocolo recibió la entrada del usuario.
IWRdsProtocolConnection::GetLicenseConnection

Recupera un objeto IWRdsProtocolLicenseConnection que se usa para iniciar el proceso de licencias de cliente.
IWRdsProtocolConnection::GetLogonErrorRedirector

Recupera una interfaz IWRdsProtocolLogonErrorRedirector que especifica cómo debe controlar el protocolo los errores de inicio de sesión del cliente.
IWRdsProtocolConnection::GetProtocolStatus

Recupera información sobre el estado del protocolo.
IWRdsProtocolConnection::GetShadowConnection

Recupera una referencia al objeto de conexión shadow del protocolo.
IWRdsProtocolConnection::GetUserCredentials

Devuelve las credenciales de usuario.
IWRdsProtocolConnection::GetVideoHandle

Obtiene el identificador del dispositivo de vídeo para el protocolo.
IWRdsProtocolConnection::IsUserAllowedToLogon

Determina a partir del protocolo si un usuario puede iniciar sesión en una sesión.
IWRdsProtocolConnection::LogonNotify

Se le llama cuando el usuario ha iniciado sesión en la sesión.
IWRdsProtocolConnection::NotifyCommandProcessCreated

Notifica al protocolo que se ha creado e inicializado el proceso de Winlogon.exe.
IWRdsProtocolConnection::NotifySessionId

Envía el identificador de la nueva sesión al protocolo.
IWRdsProtocolConnection::P reDisconnect

Notifica al protocolo que la sesión está a punto de desconectarse.
IWRdsProtocolConnection::QueryProperty

Recupera un valor de propiedad del protocolo.
IWRdsProtocolConnection::SessionArbitrationEnumeration

Se llama después del arbitraje para permitir que el protocolo especifique las sesiones que se van a volver a conectar.
IWRdsProtocolConnection::SetErrorInfo

Establece la información de error en el protocolo.

Comentarios

Para evitar un posible interbloqueo al llamar a cualquiera de los métodos de esta interfaz, no debe realizar ninguna llamada a función o método que dará lugar directa o indirectamente a una API de Servicios de Escritorio remoto a la que se llama. Si necesita realizar cualquier llamada saliente, debe iniciar un subproceso nuevo y realizar la llamada saliente desde el nuevo subproceso.

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Windows
Encabezado wtsprotocol.h