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

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

Instructions

步骤 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 事件句柄,或将其重复用于后续连接请求。