Registro de plug-in do DVC

O plug-in DVC (canal virtual dinâmico) é registrado para uso pelo cliente RDC (Conexão de Área de Trabalho Remota) usando um dos seguintes métodos:

  • Invocando o método IMsTscAdvancedSettings::p ut_PluginDlls do controle ActiveX do Protocolo rdp. Várias entradas devem ser separadas por vírgulas.

  • Gravando a entrada de plug-in no seguinte local no registro no computador em que o processo de cliente rdc (Conexão de Área de Trabalho Remota) é iniciado:

    HKEY_CURRENT_USER\Software\Microsoft\Cliente do Servidor de\ Terminal Padrão\Addins\nome exclusivo do plug-in

    Observação

    Você deverá criar a subchave de nome do plug-in exclusivo se ela não existir. O nome exclusivo da subchave do nome do plug-in é uma cadeia de caracteres arbitrária que pode identificar o plug-in. A cadeia de caracteres pode ser qualquer combinação de caracteres.

     

    Em nome exclusivo do plug-in, você deve adicionar uma entrada que identifique o plug-in.

    Nome da entrada = Nome

    Tipo de dados = REG_SZ ou REG_EXPAND_SZ

Em ambos os casos, o valor de entrada deve estar em conformidade com um dos seguintes formatos:

"Plug-inDLLName:{CLSID}"

O plug-in não é necessariamente registrado no registro do Windows como um objeto COM (Component Object Model), mas a DLL é implementada como um objeto COM em processo. O cliente RDC carregará a DLL especificada por Plug-inDLLName e recuperará o objeto COM diretamente usando CLSID.

"Plug-inDLLName"

A DLL implementa a função VirtualChannelGetInstance e a exporta por nome. O cliente RDC usará a função VirtualChannelGetInstance para obter ponteiros de interface IWTSPlugin para todos os plug-ins implementados pela DLL.

"{CLSID}"

O cliente RDC criará uma instância do plug-in como um objeto COM regular usando CoCreateInstance com o CLSID.

Observação

Plug-inDLLName representa o caminho completo e o nome do arquivo de .dll. Se o tipo de dados for REG_EXPAND_SZ, o caminho poderá conter variáveis de ambiente não expandidas que são expandidas em runtime.

 

Quando o cliente RDC (Conexão de Área de Trabalho Remota) concluir sua inicialização, ele executará o seguinte para cada plug-in registrado:

  1. Obtenha uma instância da interface IWTSPlugin para cada plug-in usando um dos métodos descritos acima.
  2. Chame o método Initialize de cada interface IWTSPlugin .
  3. Se o cliente se conectar várias vezes ao mesmo ou a um servidor diferente, poderá haver várias chamadas para os métodos Conectado e Desconectado .
  4. A última chamada que o plug-in deve manipular é Terminada. É um sinal de que o cliente RDC (Conexão de Área de Trabalho Remota) está prestes a descarregar o plug-in.