Comment utiliser l’API cliente Broker de connexion Bureau à distance

L’API cliente Service Broker de connexion Bureau à distance permet aux fournisseurs de protocole tiers d’exploiter le répartiteur de connexions pour accélérer la gestion des connexions qui utilisent leur protocole pour se connecter à des machines virtuelles ou à des serveurs Bureau à distance dans une batterie de serveurs.

Instructions

Étape 1 : Obtenir l’interface IConnectionBrokerClient

Lorsque votre application ou fournisseur de protocole est initialisé, procédez comme suit.

  1. Appelez la fonction CBCreateClientInstance pour obtenir l’interface IConnectionBrokerClient .
  2. Conservez l’interface IConnectionBrokerClient tant que vous en avez besoin.
  3. Lorsque l’interface IConnectionBrokerClient n’est plus nécessaire, appelez la méthode Release .

Étape 2 : Demander les informations cibles

Lorsque votre fournisseur de protocole reçoit une demande de connexion entrante, procédez comme suit pour appeler la méthode IConnectionBrokerClient::GetTargetInfo . Cette méthode obtient, à partir du Répartiteur de connexions, le serveur approprié pour rediriger la connexion vers.

  1. Créez un événement qui peut être signalé à l’aide de la fonction CreateEvent ou similaire à utiliser pour le paramètre hStatusEvent .
  2. Allouer de la mémoire pour les paramètres pTargetInfo et pResult . Ces blocs de mémoire doivent rester en place jusqu’à ce que cette séquence entière soit terminée.
  3. Renseignez une structure CB_CONNECTION_INFO qui contient toutes les informations relatives à la connexion entrante.
  4. Appelez la méthode GetTargetInfo , en passant tous les paramètres requis. Il s’agit d’une méthode asynchrone qui retourne une instance de l’interface IConnectionBrokerRequest .
  5. Attendez que l’événement hStatusEvent devienne défini.
  6. Chaque fois que l’événement hStatusEvent est défini, appelez la méthode IConnectionBrokerRequest::CheckStatus pour déterminer l’état de la requête.
  7. Lorsque CheckStatus retourne CB_STATUS_REQUEST_COMPLETED, les paramètres pTargetInfo et pResult contiennent leurs informations. Vous pouvez sortir de la boucle d’attente, car le paramètre hStatusEvent n’est plus utilisé.
  8. Utilisez les informations de la structure CB_TARGET_INFO représentée par le paramètre pTargetInfo pour déterminer où rediriger la connexion entrante.
  9. Relâchez l’interface IConnectionBrokerRequest .
  10. Fermez le handle d’événement hStatusEvent , ou vous pouvez le réutiliser pour les demandes de connexion suivantes.