Compartilhar via


Registro de plug-in do DVC

O plug-in do 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írgula.

  • Gravando a entrada do 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\Terminal Server Client\Default\AddIns\nome de plug-in exclusivo

    Nota

    Você deve criar o nome de plug-in exclusivo subchave se ele não existir. O nome de plug-in exclusivo nome de subchave é 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 de plug-in exclusivo, você deve adicionar uma entrada que identifique o plug-in.

    Nome da entrada = de 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.

Nota

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 interfaceIWTSPluginpara 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 servidor ou a um servidor diferente, poderá haver várias chamadas para os métodos Connected e Disconnected.
  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.