Partager via


Interface IWRdsProtocolConnection (wtsprotocol.h)

Expose les méthodes appelées par le service Services Bureau à distance pour configurer une connexion cliente. Votre protocole doit implémenter cette interface pour gérer les demandes de connexion des clients. Lorsque l’écouteur de protocole reçoit une demande de connexion d’un client, il doit créer un objet IWRdsProtocolConnection et le transmettre au service Services Bureau à distance en appelant la méthode IWRdsProtocolListenerCallback ::OnConnected . En réponse, le service ajoute une référence à l’objet IWRdsProtocolConnectionCallback et retourne un pointeur vers celui-ci. Lorsque la connexion n’est plus nécessaire, le protocole doit libérer le pointeur.

Pendant une séquence de connexion, les méthodes suivantes sont appelées par le service Services Bureau à distance dans l’ordre indiqué.

  1. GetLogonErrorRedirector
  2. AcceptConnection
  3. GetClientData
  4. GetClientMonitorData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticateClientToSession
  8. NotifySessionId
  9. GetInputHandles
  10. GetVideoHandle
  11. ConnectNotify
  12. NotifyCommandProcessCreated
  13. IsUserAllowedToLogon
  14. SessionArbitrationEnumeration
  15. LogonNotify
Si le service Services Bureau à distance doit se reconnecter après avoir appelé SessionArbitrationEnumeration, il se reconnecte en appelant les méthodes suivantes dans l’ordre indiqué :
  1. DisconnectNotify (appelé sur la nouvelle session créée.)
  2. NotifySessionId (appelé sur la session existante.)
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
Pour se déconnecter, le service Services Bureau à distance appelle les méthodes suivantes dans l’ordre indiqué :
  1. PreDisconnecter
  2. DisconnectNotify
  3. Close
Le service Services Bureau à distance peut appeler les méthodes suivantes à tout moment après l’établissement d’une connexion :

Héritage

L’interface IWRdsProtocolConnection hérite de l’interface IUnknown. IWRdsProtocolConnection a également les types de membres suivants :

Méthodes

L’interface IWRdsProtocolConnection utilise ces méthodes.

 
IWRdsProtocolConnection ::AcceptConnection

Indique au protocole de poursuivre la demande de connexion.
IWRdsProtocolConnection ::AuthenticateClientToSession

Spécifie une session à laquelle la connexion doit être reconnectée.
IWRdsProtocolConnection ::Close

Ferme une connexion après la déconnexion de la session.
IWRdsProtocolConnection ::ConnectNotify

Signale au protocole que la session a été initialisée.
IWRdsProtocolConnection ::CreateVirtualChannel

Demande que le protocole crée un canal virtuel.
IWRdsProtocolConnection ::D isconnectNotify

Avertit le protocole que la session a été déconnectée.
IWRdsProtocolConnection ::GetClientData

Demande les paramètres du client à partir du protocole.
IWRdsProtocolConnection ::GetClientMonitorData

Récupère le nombre de moniteurs et le numéro de moniteur principal sur le client.
IWRdsProtocolConnection ::GetInputHandles

Obtient les handles des périphériques d’entrée/sortie pour le protocole.
IWRdsProtocolConnection ::GetLastInputTime

Récupère la dernière fois que le protocole a reçu l’entrée utilisateur.
IWRdsProtocolConnection ::GetLicenseConnection

Récupère un objet IWRdsProtocolLicenseConnection utilisé pour commencer le processus de gestion des licences client.
IWRdsProtocolConnection ::GetLogonErrorRedirector

Récupère une interface IWRdsProtocolLogonErrorRedirector qui spécifie comment le protocole doit gérer les erreurs d’ouverture de session du client.
IWRdsProtocolConnection ::GetProtocolStatus

Récupère des informations sur le protocole status.
IWRdsProtocolConnection ::GetShadowConnection

Récupère une référence à l’objet de connexion fantôme à partir du protocole.
IWRdsProtocolConnection ::GetUserCredentials

Retourne les informations d’identification de l’utilisateur.
IWRdsProtocolConnection ::GetVideoHandle

Obtient le handle de l’appareil vidéo pour le protocole.
IWRdsProtocolConnection ::IsUserAllowedToLogon

Détermine à partir du protocole si un utilisateur est autorisé à se connecter à une session.
IWRdsProtocolConnection ::LogonNotify

Appelé lorsque l’utilisateur s’est connecté à la session.
IWRdsProtocolConnection ::NotifyCommandProcessCreated

Notifie le protocole que le processus Winlogon.exe a été créé et initialisé.
IWRdsProtocolConnection ::NotifySessionId

Envoie l’identificateur de la nouvelle session au protocole.
IWRdsProtocolConnection ::P reDisconnect

Avertit le protocole que la session est sur le point d’être déconnectée.
IWRdsProtocolConnection ::QueryProperty

Récupère une valeur de propriété à partir du protocole.
IWRdsProtocolConnection ::SessionArbitrationEnumeration

Appelé après arbitrage pour permettre au protocole de spécifier les sessions à reconnecter.
IWRdsProtocolConnection ::SetErrorInfo

Définit les informations d’erreur dans le protocole.

Remarques

Pour éviter un blocage possible lors de l’appel de l’une des méthodes sur cette interface, vous ne devez pas effectuer d’appels de fonction ou de méthode qui entraînent directement ou indirectement l’appel d’une API services Bureau à distance. Si vous devez effectuer un appel sortant, vous devez démarrer un nouveau thread et effectuer l’appel sortant à partir du nouveau thread.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Windows
En-tête wtsprotocol.h