Verwenden der Remotedesktopverbindungsbroker-Client-API

Die Client-API des Remotedesktopverbindungsbrokers ermöglicht es Drittanbietern, den Verbindungsbroker zu nutzen, um die Verarbeitung von Verbindungen zu beschleunigen, die ihr Protokoll zum Herstellen einer Verbindung mit virtuellen Computern oder Remotedesktopservern in einer Farm verwenden.

Anweisungen

Schritt 1: Abrufen der IConnectionBrokerClient-Schnittstelle

Führen Sie bei der Initialisierung Ihrer Anwendung oder ihres Protokollanbieters die folgenden Schritte aus.

  1. Rufen Sie die Funktion CBCreateClientInstance auf, um die IConnectionBrokerClient-Schnittstelle abzurufen.
  2. Behalten Sie die IConnectionBrokerClient-Schnittstelle so lange bei, wie Sie sie benötigen.
  3. Wenn die IConnectionBrokerClient-Schnittstelle nicht mehr benötigt wird, rufen Sie die Release-Methode auf.

Schritt 2: Anfordern der Zielinformationen

Wenn Ihr Protokollanbieter eine eingehende Verbindungsanforderung empfängt, führen Sie die folgenden Schritte aus, um die IConnectionBrokerClient::GetTargetInfo-Methode aufzurufen. Diese Methode ruft vom Verbindungsbroker den entsprechenden Server ab, zu dem die Verbindung umgeleitet werden soll.

  1. Erstellen Sie ein Ereignis, das mit der CreateEvent-Funktion oder einer ähnlichen Funktion signalisiert werden kann, die für den hStatusEvent-Parameter verwendet werden soll.
  2. Ordnen Sie Arbeitsspeicher für die Parameter pTargetInfo und pResult zu. Diese Speicherblöcke müssen an Ort und Stelle bleiben, bis diese gesamte Sequenz abgeschlossen ist.
  3. Füllen Sie eine CB_CONNECTION_INFO-Struktur aus, die alle Informationen zur eingehenden Verbindung enthält.
  4. Rufen Sie die GetTargetInfo-Methode auf, und übergeben Sie alle erforderlichen Parameter. Dies ist eine asynchrone Methode, die eine instance der IConnectionBrokerRequest-Schnittstelle zurückgibt.
  5. Warten Sie, bis das hStatusEvent-Ereignis festgelegt wurde.
  6. Wenn das hStatusEvent-Ereignis festgelegt ist, rufen Sie die IConnectionBrokerRequest::CheckStatus-Methode auf, um die status der Anforderung zu bestimmen.
  7. Wenn CheckStatusCB_STATUS_REQUEST_COMPLETED zurückgibt, enthalten die Parameter pTargetInfo und pResult ihre Informationen. Sie können aus der Warteschleife ausbrechen, da der hStatusEvent-Parameter nicht mehr verwendet wird.
  8. Verwenden Sie die Informationen in der CB_TARGET_INFO-Struktur , die durch den pTargetInfo-Parameter dargestellt wird, um zu bestimmen, wohin die eingehende Verbindung umgeleitet werden soll.
  9. Lassen Sie die IConnectionBrokerRequest-Schnittstelle frei .
  10. Schließen Sie das hStatusEvent-Ereignishandle , oder Sie können es für nachfolgende Verbindungsanforderungen wiederverwenden.