Compartilhar via


Interface IWRdsProtocolConnection (wtsprotocol.h)

Expõe métodos chamados pelo serviço de Serviços de Área de Trabalho Remota para configurar uma conexão de cliente. Seu protocolo deve implementar essa interface para lidar com solicitações de conexão de clientes. Quando o ouvinte de protocolo recebe uma solicitação de conexão de um cliente, ele deve criar um objeto IWRdsProtocolConnection e passá-lo para o serviço de Serviços de Área de Trabalho Remota chamando o método IWRdsProtocolListenerCallback::OnConnected . Em resposta, o serviço adiciona uma referência ao objeto IWRdsProtocolConnectionCallback e retorna um ponteiro para ele. Quando a conexão não for mais necessária, o protocolo deverá liberar o ponteiro.

Durante uma sequência de conexão, os métodos a seguir são chamados pelo serviço de Serviços de Área de Trabalho Remota na ordem listada.

  1. GetLogonErrorRedirector
  2. AcceptConnection
  3. GetClientData
  4. GetClientMonitorData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticateClientToSession
  8. NotifySessionId
  9. GetInputHandles
  10. GetVideoHandle
  11. ConnectNotify
  12. NotifyCommandProcessCreated
  13. IsUserAllowedToLogon
  14. SessionArbitrationEnumeration
  15. LogonNotify
Se o serviço de Serviços de Área de Trabalho Remota precisar se reconectar depois de chamar SessionArbitrationEnumeration, ele se reconectará chamando os seguintes métodos na ordem listada:
  1. DisconnectNotify (chamado na nova sessão que foi criada.)
  2. NotifySessionId (chamado na sessão existente.)
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
Para se desconectar, o serviço Serviços de Área de Trabalho Remota chama os seguintes métodos na ordem listada:
  1. Pré-conexão
  2. DisconnectNotify
  3. Fechar
O serviço Serviços de Área de Trabalho Remota pode chamar os seguintes métodos a qualquer momento depois que uma conexão tiver sido estabelecida:

Herança

A interface IWRdsProtocolConnection herda da interface IUnknown . IWRdsProtocolConnection também tem estes tipos de membros:

Métodos

A interface IWRdsProtocolConnection tem esses métodos.

 
IWRdsProtocolConnection::AcceptConnection

Direciona o protocolo para continuar com a solicitação de conexão.
IWRdsProtocolConnection::AuthenticateClientToSession

Especifica uma sessão à qual a conexão deve ser reconectada.
IWRdsProtocolConnection::Close

Fecha uma conexão depois que a sessão é desconectada.
IWRdsProtocolConnection::ConnectNotify

Sinaliza o protocolo de que a sessão foi inicializada.
IWRdsProtocolConnection::CreateVirtualChannel

Solicita que o protocolo crie um canal virtual.
IWRdsProtocolConnection::D isconnectNotify

Notifica o protocolo de que a sessão foi desconectada.
IWRdsProtocolConnection::GetClientData

Solicita as configurações do cliente do protocolo.
IWRdsProtocolConnection::GetClientMonitorData

Recupera o número de monitores e o número do monitor primário no cliente.
IWRdsProtocolConnection::GetInputHandles

Obtém os identificadores para dispositivos de entrada/saída para o protocolo.
IWRdsProtocolConnection::GetLastInputTime

Recupera a última vez que o protocolo recebeu a entrada do usuário.
IWRdsProtocolConnection::GetLicenseConnection

Recupera um objeto IWRdsProtocolLicenseConnection que é usado para iniciar o processo de licenciamento do cliente.
IWRdsProtocolConnection::GetLogonErrorRedirector

Recupera uma interface IWRdsProtocolLogonErrorRedirector que especifica como o protocolo deve lidar com erros de logon do cliente.
IWRdsProtocolConnection::GetProtocolStatus

Recupera informações sobre o protocolo status.
IWRdsProtocolConnection::GetShadowConnection

Recupera uma referência ao objeto de conexão de sombra do protocolo.
IWRdsProtocolConnection::GetUserCredentials

Retorna as credenciais do usuário.
IWRdsProtocolConnection::GetVideoHandle

Obtém o identificador do dispositivo de vídeo para o protocolo.
IWRdsProtocolConnection::IsUserAllowedToLogon

Determina no protocolo se um usuário tem permissão para fazer logon em uma sessão.
IWRdsProtocolConnection::LogonNotify

Chamado quando o usuário fez logon na sessão.
IWRdsProtocolConnection::NotifyCommandProcessCreated

Notifica o protocolo de que o processo de Winlogon.exe foi criado e inicializado.
IWRdsProtocolConnection::NotifySessionId

Envia o identificador da nova sessão para o protocolo.
IWRdsProtocolConnection::P reDisconnect

Notifica o protocolo de que a sessão está prestes a ser desconectada.
IWRdsProtocolConnection::QueryProperty

Recupera um valor de propriedade do protocolo.
IWRdsProtocolConnection::SessionArbitrationEnumeration

Chamado após a arbitragem para permitir que o protocolo especifique as sessões a serem reconectadas.
IWRdsProtocolConnection::SetErrorInfo

Define informações de erro no protocolo.

Comentários

Para evitar um possível deadlock ao chamar qualquer um dos métodos nessa interface, você não deve fazer nenhuma chamada de função ou método que resulte direta ou indiretamente em uma API de Serviços de Área de Trabalho Remota sendo chamada. Se você precisar fazer qualquer chamada de saída, inicie um novo thread e faça a chamada de saída do novo thread.

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Windows
Cabeçalho wtsprotocol.h