如何使用远程桌面连接代理客户端 API

远程桌面连接代理客户端 API 允许第三方协议供应商利用连接代理加快处理使用其协议连接到场中的虚拟机或远程桌面服务器的连接。

说明

步骤 1:获取 IConnectionBrokerClient 接口

初始化应用程序或协议提供程序时,请执行以下步骤。

  1. 调用 CBCreateClientInstance 函数以获取 IConnectionBrokerClient 接口。
  2. 根据需要保留 IConnectionBrokerClient 接口。
  3. 不再需要 IConnectionBrokerClient 接口时,调用 Release 方法。

步骤 2:请求目标信息

当协议提供程序收到传入连接请求时,请执行以下步骤来调用 IConnectionBrokerClient::GetTargetInfo 方法。 此方法从连接代理获取相应的服务器,以便将连接重定向到。

  1. 创建可以使用 CreateEvent 或类似函数发出信号的事件,以用于 hStatusEvent 参数。
  2. pTargetInfopResult 参数分配内存。 这些内存块必须保持原位,直到完成此整个序列之后。
  3. 填写包含传入连接的所有信息 的CB_CONNECTION_INFO 结构。
  4. 调用 GetTargetInfo 方法,传递所有必需的参数。 这是一种异步方法,将返回 IConnectionBrokerRequest 接口的实例。
  5. 等待 设置 hStatusEvent 事件。
  6. 每当设置 hStatusEvent 事件时,调用 IConnectionBrokerRequest::CheckStatus 方法来确定请求的状态。
  7. CheckStatus 返回CB_STATUS_REQUEST_COMPLETED时,pTargetInfopResult 参数将包含其信息。 可以中断等待循环,因为不再使用 hStatusEvent 参数。
  8. 使用 pTargetInfo 参数表示的CB_TARGET_INFO结构中的信息来确定将传入连接重定向到的位置。
  9. 释放 IConnectionBrokerRequest 接口。
  10. 关闭 hStatusEvent 事件句柄,也可以将其重新用于后续连接请求。