Iniciar Sequência
Para iniciar o provedor de protocolo, o serviço de Serviços de Área de Trabalho Remota:
- Recupera o nome do ouvinte e o CLSID do objeto do gerenciador de protocolo (IWRdsProtocolManager) do registro. Para obter mais informações, consulte Registrar o Gerenciador de Protocolos.
- Chamadas inicializem para inicializar o gerenciador de protocolos.
- Cria um objeto do gerenciador de protocolos usando o CLSID. Mesmo que haja vários ouvintes registrados para o mesmo provedor de protocolo, o serviço só criará um objeto do gerenciador de protocolos.
- Chama CreateListener para instruir o objeto gerenciador de protocolos a criar um objeto ouvinte IWRdsProtocolListener e devolvê-lo ao serviço. O objeto gerenciador de protocolo deve adicionar uma referência ao objeto ouvinte antes de devolvê-lo ao serviço. O serviço liberará o objeto quando o serviço for interrompido ou o ouvinte for excluído.
- Chama StartListen no objeto ouvinte para que o ouvinte possa começar a escutar conexões de entrada.
- Chama StopListen para impedir que o objeto ouvinte ouça.
- Chama Uninitialize para não inicializar o gerenciador de protocolos.
O ouvinte cria um objeto IWRdsProtocolConnection quando um cliente tenta se conectar. O objeto ouvinte chama OnConnected para notificar o serviço de Serviços de Área de Trabalho Remota de que um novo cliente está tentando se conectar ou se reconectar e passa o objeto IWRdsProtocolConnection nessa chamada. O serviço de Serviços de Área de Trabalho Remota, por sua vez, retornará um objeto IWRdsProtocolConnectionCallback nessa chamada para que o protocolo possa se comunicar com o serviço de Serviços de Área de Trabalho Remota conforme necessário. O serviço adiciona uma referência ao objeto de retorno de chamada antes de retornar e o protocolo deve liberar essa referência quando a conexão for fechada.
A ilustração a seguir mostra a interação entre os vários objetos durante a inicialização.
Tópicos relacionados