Registrazione del plug-in DVC

Il plug-in DVC (Dynamic Virtual Channel) viene registrato per l'uso da parte del client Connessione Desktop remoto (RDC) usando uno dei metodi seguenti:

  • Chiamata del metodo IMsTscAdvancedSettings::p ut_PluginDlls del controllo ActiveX di Remote Desktop Protocol (RDP). È necessario separare più voci da virgole.

  • Scrittura della voce del plug-in nel percorso seguente nel Registro di sistema nel computer in cui viene avviato il processo client Connessione Desktop remoto (RDC):Writing the plug-in entry to the following location in the registry on the computer where the Remote Desktop Connection (RDC) client process is started:

    HKEY_CURRENT_USER\Software\Microsoft\Client terminal\ server Predefinito\Addins\nome del plug-in univoco

    Nota

    Se non esiste, è necessario creare la sottochiave del nome del plug-in univoco . Il nome della sottochiave del plug-in univoco è una stringa arbitraria che può identificare il plug-in. La stringa può essere qualsiasi combinazione di caratteri.

     

    In nome del plug-in univoco, è necessario aggiungere una voce che identifica il plug-in.

    Nome voce = Nome

    Tipo di dati = REG_SZ o REG_EXPAND_SZ

In entrambi i casi, il valore della voce deve essere conforme a uno dei formati seguenti:

"Plug-inDLLName:{CLSID}"

Il plug-in non è necessariamente registrato nel Registro di sistema di Windows come oggetto COM (Component Object Model), ma la DLL viene implementata come oggetto COM in-process. Il client RDC caricherà la DLL specificata da Plug-inDLLName e recupererà l'oggetto COM direttamente usando CLSID.

"Plug-inDLLName"

La DLL implementa la funzione VirtualChannelGetInstance ed esportala in base al nome. Il client RDC userà la funzione VirtualChannelGetInstance per ottenere i puntatori all'interfaccia IWTSPlugin per tutti i plug-in implementati dalla DLL.

"{CLSID}"

Il client RDC creerà un'istanza del plug-in come un normale oggetto COM usando CoCreateInstance con CLSID.

Nota

Plug-inDLLName rappresenta il percorso completo e il nome file del file di .dll. Se il tipo di dati è REG_EXPAND_SZ, il percorso può contenere variabili di ambiente non espanse in fase di esecuzione.

 

Quando il client RdC (Remote Desktop Connection) termina l'inizializzazione, esegue le operazioni seguenti per ogni plug-in registrato:

  1. Ottenere un'istanza dell'interfaccia IWTSPlugin per ogni plug-in usando uno dei metodi descritti in precedenza.
  2. Chiamare il metodo Initialize di ogni interfaccia IWTSPlugin .
  3. Se il client si connette più volte allo stesso server o a un server diverso, potrebbero essere presenti più chiamate ai metodi Connected e Disconnected .
  4. L'ultima chiamata che il plug-in deve gestire è Terminato. È un segnale che il client RdC (Remote Desktop Connection) sta per scaricare il plug-in.