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.
Instrucciones
Paso 1: Obtener la interfaz IConnectionBrokerClient
Cuando se inicialice la aplicación o el proveedor de protocolos, realice los pasos siguientes.
- Llame a la función CBCreateClientInstance para obtener la interfaz IConnectionBrokerClient .
- Mantenga la interfaz IConnectionBrokerClient siempre que lo necesite.
- 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.
- Cree un evento que se pueda señalar mediante createEvent o una función similar que se usará para el parámetro hStatusEvent .
- 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.
- Rellene una estructura de CB_CONNECTION_INFO que contenga toda la información sobre la conexión entrante.
- 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 .
- Espere a que se establezca el evento hStatusEvent .
- Cada vez que se establece el evento hStatusEvent , llame al método IConnectionBrokerRequest::CheckStatus para determinar el estado de la solicitud.
- 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 .
- 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.
- Libere la interfaz IConnectionBrokerRequest .
- Cierre el identificador de eventos hStatusEvent o puede reutilizarlo para las solicitudes de conexión posteriores.