Interfaccia IWRdsProtocolConnection (wtsprotocol.h)

Espone i metodi chiamati dal servizio Servizi Desktop remoto per configurare una connessione client. Il protocollo deve implementare questa interfaccia per gestire le richieste di connessione dai client. Quando il listener del protocollo riceve una richiesta di connessione da un client, deve creare un oggetto IWRdsProtocolConnection e passarlo al servizio Servizi Desktop remoto chiamando il metodo IWRdsProtocolListenerCallback::OnConnected . In risposta, il servizio aggiunge un riferimento all'oggetto IWRdsProtocolConnectionCallback e restituisce un puntatore. Quando la connessione non è più necessaria, il protocollo deve rilasciare il puntatore.

Durante una sequenza di connessione, i metodi seguenti vengono chiamati dal servizio Servizi Desktop remoto nell'ordine elencato.

  1. GetLogonErrorRedirector
  2. AcceptConnection
  3. GetClientData
  4. GetClientMonitorData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticationClientToSession
  8. NotifySessionId
  9. GetInputHandles
  10. GetVideoHandle
  11. ConnectNotify
  12. NotifyCommandProcessCreated
  13. IsUserAllowedToLogon
  14. SessionArbitrationEnumeration
  15. LogonNotify
Se il servizio Servizi Desktop remoto deve riconnettersi dopo aver chiamato SessionArbitrationEnumerationEnumeration, viene riconnesso chiamando i metodi seguenti nell'ordine elencato:
  1. DisconnessioneNotify (chiamata nella nuova sessione creata).
  2. NotifySessionId (chiamato nella sessione esistente).
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
Per disconnettersi, il servizio Servizi Desktop remoto chiama i metodi seguenti nell'ordine elencato:
  1. PreDisconnect
  2. DisconnessioneNotify
  3. Close
Il servizio Servizi Desktop remoto può chiamare i metodi seguenti in qualsiasi momento dopo la creazione di una connessione:

Ereditarietà

L'interfaccia IWRdsProtocolConnection eredita dall'interfaccia IUnknown . IWRdsProtocolConnection include anche questi tipi di membri:

Metodi

L'interfaccia IWRdsProtocolConnection include questi metodi.

 
IWRdsProtocolConnection::AcceptConnection

Indirizza il protocollo per continuare con la richiesta di connessione.
IWRdsProtocolConnection::AuthenticationClientToSession

Specifica una sessione a cui deve essere riconnessa la connessione.
IWRdsProtocolConnection::Close

Chiude una connessione dopo la disconnessione della sessione.
IWRdsProtocolConnection::ConnectNotify

Segnala il protocollo che la sessione è stata inizializzata.
IWRdsProtocolConnection::CreateVirtualChannel

Richiede che il protocollo crei un canale virtuale.
IWRdsProtocolConnection::D isconnectNotify

Notifica al protocollo che la sessione è stata disconnessa.
IWRdsProtocolConnection::GetClientData

Richiede le impostazioni client dal protocollo.
IWRdsProtocolConnection::GetClientMonitorData

Recupera il numero di monitoraggi e il numero di monitoraggio primario nel client.
IWRdsProtocolConnection::GetInputHandles

Ottiene gli handle per i dispositivi di input/output per il protocollo.
IWRdsProtocolConnection::GetLastInputTime

Recupera l'ultima volta che il protocollo ha ricevuto l'input utente.
IWRdsProtocolConnection::GetLicenseConnection

Recupera un oggetto IWRdsProtocolLicenseConnection usato per avviare il processo di licenza client.
IWRdsProtocolConnection::GetLogonErrorRedirector

Recupera un'interfaccia IWRdsProtocolLogonErrorRedirector che specifica come il protocollo deve gestire gli errori di accesso client.
IWRdsProtocolConnection::GetProtocolStatus

Recupera informazioni sullo stato del protocollo.
IWRdsProtocolConnection::GetShadowConnection

Recupera un riferimento all'oggetto connessione shadow dal protocollo.
IWRdsProtocolConnection::GetUserCredentials

Restituisce le credenziali utente.
IWRdsProtocolConnection::GetVideoHandle

Ottiene l'handle del dispositivo video per il protocollo.
IWRdsProtocolConnection::IsUserAllowedToLogon

Determina dal protocollo se un utente è autorizzato ad accedere a una sessione.
IWRdsProtocolConnection::LogonNotify

Chiamato quando l'utente ha eseguito l'accesso alla sessione.
IWRdsProtocolConnection::NotifyCommandProcessCreated

Notifica al protocollo che il processo di Winlogon.exe è stato creato e inizializzato.
IWRdsProtocolConnection::NotifySessionId

Invia l'identificatore della nuova sessione al protocollo.
IWRdsProtocolConnection::P reDisconnect

Notifica al protocollo che la sessione sta per essere disconnessa.
IWRdsProtocolConnection::QueryProperty

Recupera un valore della proprietà dal protocollo.
IWRdsProtocolConnection::SessionArbitrationEnumerationEnumeration

Chiamata dopo l'arbitrato per consentire al protocollo di specificare le sessioni da riconnettere.
IWRdsProtocolConnection::SetErrorInfo

Imposta le informazioni sugli errori nel protocollo.

Commenti

Per evitare un deadlock possibile quando si chiama uno dei metodi in questa interfaccia, non è consigliabile eseguire chiamate a funzioni o metodi che genereranno direttamente o indirettamente un'API Servizi Desktop remoto chiamata. Se è necessario effettuare una chiamata in uscita, è necessario avviare un nuovo thread e effettuare la chiamata in uscita dal nuovo thread.

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Windows
Intestazione wtsprotocol.h