Como usar a API de cliente do Agente de Conexão de Área de Trabalho Remota
A API de cliente do Agente de Conexão de Área de Trabalho Remota permite que fornecedores de protocolo de terceiros aproveitem o Agente de Conexão para agilizar o tratamento de conexões que usam seu protocolo para se conectar a máquinas virtuais ou servidores de Área de Trabalho Remota em um farm.
Instruções
Etapa 1: obter a interface IConnectionBrokerClient
Quando seu aplicativo ou provedor de protocolo for inicializado, execute as etapas a seguir.
- Chame a função CBCreateClientInstance para obter a interface IConnectionBrokerClient .
- Mantenha a interface IConnectionBrokerClient enquanto precisar dela.
- Quando a interface IConnectionBrokerClient não for mais necessária, chame o método Release .
Etapa 2: Solicitar as informações de destino
Quando o provedor de protocolo receber uma solicitação de conexão de entrada, execute as seguintes etapas para chamar o método IConnectionBrokerClient::GetTargetInfo . Esse método obtém, do Agente de Conexão, o servidor apropriado para o qual redirecionar a conexão.
- Crie um evento que possa ser sinalizado usando o CreateEvent, ou função semelhante, a ser usado para o parâmetro hStatusEvent .
- Aloque memória para os parâmetros pTargetInfo e pResult . Esses blocos de memória devem permanecer em vigor até que toda essa sequência seja concluída.
- Preencha uma estrutura CB_CONNECTION_INFO que contém todas as informações sobre a conexão de entrada.
- Chame o método GetTargetInfo , passando todos os parâmetros necessários. Esse é um método assíncrono que retornará uma instância da interface IConnectionBrokerRequest .
- Aguarde até que o evento hStatusEvent seja definido.
- Sempre que o evento hStatusEvent for definido, chame o método IConnectionBrokerRequest::CheckStatus para determinar o status da solicitação.
- Quando CheckStatus retornar CB_STATUS_REQUEST_COMPLETED, os parâmetros pTargetInfo e pResult conterão suas informações. Você pode sair do loop de espera porque o parâmetro hStatusEvent não será mais usado.
- Use as informações na estrutura CB_TARGET_INFO representada pelo parâmetro pTargetInfo para determinar para onde redirecionar a conexão de entrada.
- Libere a interface IConnectionBrokerRequest .
- Feche o identificador de evento hStatusEvent ou reutilize-o para solicitações de conexão subsequentes.