リモート デスクトップ接続ブローカー クライアント API を使用する方法
リモート デスクトップ接続ブローカー クライアント API を使用すると、サード パーティのプロトコル ベンダーは、接続ブローカーを利用して、そのプロトコルを使用してファーム内の仮想マシンまたはリモート デスクトップ サーバーに接続する接続の処理を迅速化できます。
Instructions
手順 1: IConnectionBrokerClient インターフェイスを取得する
アプリケーションまたはプロトコル プロバイダーが初期化されたら、次の手順を実行します。
- CBCreateClientInstance 関数を呼び出して、IConnectionBrokerClient インターフェイスを取得します。
- 必要な限り、 IConnectionBrokerClient インターフェイスを保持します。
- IConnectionBrokerClient インターフェイスが不要になったら、Release メソッドを呼び出します。
手順 2: ターゲット情報を要求する
プロトコル プロバイダーが受信接続要求を受信したら、次の手順を実行して IConnectionBrokerClient::GetTargetInfo メソッドを呼び出します。 このメソッドは、接続ブローカーから、接続をリダイレクトする適切なサーバーを取得します。
- HStatusEvent パラメーターに使用する CreateEvent または同様の関数を使用してシグナルを送信できるイベントを作成します。
- pTargetInfo パラメーターと pResult パラメーターにメモリを割り当てます。 これらのメモリ ブロックは、このシーケンス全体が完了するまで残しておく必要があります。
- 受信接続に関するすべての情報を含む CB_CONNECTION_INFO 構造体に入力します。
- GetTargetInfo メソッドを呼び出し、必要なすべてのパラメーターを渡します。 これは、 IConnectionBrokerRequest インターフェイスのインスタンスを返す非同期メソッドです。
- hStatusEvent イベントが設定されるまで待ちます。
- hStatusEvent イベントが設定されるたびに、IConnectionBrokerRequest::CheckStatus メソッドを呼び出して要求の状態を確認します。
- CheckStatus がCB_STATUS_REQUEST_COMPLETEDを返すと、pTargetInfo パラメーターと pResult パラメーターには情報が含まれます。 hStatusEvent パラメーターは使用されなくなったため、待機ループから抜け出すことができます。
- pTargetInfo パラメーターで表されるCB_TARGET_INFO構造体の情報を使用して、受信接続のリダイレクト先を決定します。
- IConnectionBrokerRequest インターフェイスを解放します。
- hStatusEvent イベント ハンドルを閉じるか、後続の接続要求に再利用できます。