Uso de la API de cliente del Agente de conexión a Escritorio remoto

La API de cliente del Agente de conexión a Escritorio remoto permite a los proveedores de protocolos de terceros aprovechar el Agente de conexión para acelerar el control de las conexiones que usan su protocolo para conectarse a máquinas virtuales o servidores de Escritorio remoto en una granja de servidores.

Instructions

Paso 1: Obtener la interfaz IConnectionBrokerClient

Cuando se inicialice la aplicación o el proveedor de protocolos, realice los pasos siguientes.

  1. Llame a la función CBCreateClientInstance para obtener la interfaz IConnectionBrokerClient .
  2. Mantenga la interfaz IConnectionBrokerClient siempre que lo necesite.
  3. Cuando ya no se necesite la interfaz IConnectionBrokerClient , llame al método Release .

Paso 2: Solicitar la información de destino

Cuando el proveedor de protocolo recibe una solicitud de conexión entrante, realice los pasos siguientes para llamar al método IConnectionBrokerClient::GetTargetInfo . Este método obtiene, desde el Agente de conexión, el servidor adecuado para redirigir la conexión.

  1. Cree un evento que se pueda señalar mediante createEvent o una función similar que se usará para el parámetro hStatusEvent .
  2. Asigne memoria para los parámetros pTargetInfo y pResult . Estos bloques de memoria deben permanecer en su lugar hasta después de que se complete toda esta secuencia.
  3. Rellene una estructura de CB_CONNECTION_INFO que contenga toda la información sobre la conexión entrante.
  4. Llame al método GetTargetInfo y pase todos los parámetros necesarios. Se trata de un método asincrónico que devolverá una instancia de la interfaz IConnectionBrokerRequest .
  5. Espere a que se establezca el evento hStatusEvent .
  6. Cada vez que se establece el evento hStatusEvent , llame al método IConnectionBrokerRequest::CheckStatus para determinar el estado de la solicitud.
  7. Cuando CheckStatus devuelve CB_STATUS_REQUEST_COMPLETED, los parámetros pTargetInfo y pResult contendrán su información. Puede interrumpir el bucle de espera porque ya no se usará el parámetro hStatusEvent .
  8. Use la información de la estructura CB_TARGET_INFO representada por el parámetro pTargetInfo para determinar dónde redirigir la conexión entrante.
  9. Libere la interfaz IConnectionBrokerRequest .
  10. Cierre el identificador de eventos hStatusEvent o puede reutilizarlo para las solicitudes de conexión posteriores.