Поделиться через


Использование клиентского API брокера подключений к удаленному рабочему столу

Клиентский API брокера подключений к удаленному рабочему столу позволяет сторонним поставщикам протоколов использовать брокер подключений для ускорения обработки подключений, использующих протокол для подключения к виртуальным машинам или серверам удаленных рабочих столов в ферме.

Инструкции

Шаг 1. Получение интерфейса IConnectionBrokerClient

После инициализации поставщика приложения или протокола выполните следующие действия.

  1. Вызовите функцию CBCreateClientInstance , чтобы получить интерфейс IConnectionBrokerClient .
  2. Сохраняйте интерфейс IConnectionBrokerClient до тех пор, пока он вам нужен.
  3. Если интерфейс IConnectionBrokerClient больше не нужен, вызовите метод Release .

Шаг 2. Запрос целевой информации

Когда поставщик протокола получает входящий запрос на подключение, выполните следующие действия, чтобы вызвать метод IConnectionBrokerClient::GetTargetInfo . Этот метод получает от брокера подключений соответствующий сервер для перенаправления подключения.

  1. Создайте событие, которое можно сообщить с помощью функции CreateEvent или аналогичной функции, используемой для параметра hStatusEvent .
  2. Выделите память для параметров pTargetInfo и pResult . Эти блоки памяти должны оставаться на месте до завершения всей последовательности.
  3. Заполните структуру CB_CONNECTION_INFO , содержащую все сведения о входящем подключении.
  4. Вызовите метод GetTargetInfo , передав все необходимые параметры. Это асинхронный метод, который возвращает экземпляр интерфейса IConnectionBrokerRequest .
  5. Дождитесь установки события hStatusEvent .
  6. Каждый раз, когда задано событие hStatusEvent , вызовите метод IConnectionBrokerRequest::CheckStatus , чтобы определить состояние запроса.
  7. Когда CheckStatus возвращает CB_STATUS_REQUEST_COMPLETED, параметры pTargetInfo и pResult будут содержать их сведения. Вы можете прервать цикл ожидания, так как параметр hStatusEvent больше не будет использоваться.
  8. Используйте сведения в структуре CB_TARGET_INFO , представленной параметром pTargetInfo , чтобы определить, куда следует перенаправлять входящее подключение.
  9. Отпустите интерфейс IConnectionBrokerRequest .
  10. Закройте дескриптор событий hStatusEvent или вы можете повторно использовать его для последующих запросов на подключение.