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:
- Ottenere un'istanza dell'interfaccia IWTSPlugin per ogni plug-in usando uno dei metodi descritti in precedenza.
- Chiamare il metodo Initialize di ogni interfaccia IWTSPlugin .
- 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 .
- 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.