IWRdsProtocolConnection-Schnittstelle (wtsprotocol.h)

Macht Methoden verfügbar, die vom Remotedesktopdienstedienst aufgerufen werden, um eine Clientverbindung zu konfigurieren. Ihr Protokoll muss diese Schnittstelle implementieren, um Verbindungsanforderungen von Clients zu verarbeiten. Wenn der Protokolllistener eine Verbindungsanforderung von einem Client empfängt, muss er ein IWRdsProtocolConnection-Objekt erstellen und es durch Aufrufen der IWRdsProtocolListenerCallback::OnConnected-Methode an den Remotedesktopdienstedienst übergeben. Als Antwort fügt der Dienst einen Verweis auf das IWRdsProtocolConnectionCallback-Objekt hinzu und gibt einen Zeiger darauf zurück. Wenn die Verbindung nicht mehr benötigt wird, muss das Protokoll den Zeiger freigeben.

Während einer Verbindungssequenz werden die folgenden Methoden vom Remotedesktopdienst in der angegebenen Reihenfolge aufgerufen.

  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
Wenn der Remotedesktopdienst nach dem Aufruf von SessionArbitrationEnumeration erneut eine Verbindung herstellen muss, wird die Verbindung durch Aufrufen der folgenden Methoden in der angegebenen Reihenfolge wiederhergestellt:
  1. DisconnectNotify (Wird für die neue Sitzung aufgerufen, die erstellt wurde.)
  2. NotifySessionId (Wird für die vorhandene Sitzung aufgerufen.)
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
Um die Verbindung zu trennen, ruft der Remotedesktopdienstedienst die folgenden Methoden in der aufgeführten Reihenfolge auf:
  1. PreDisconnect
  2. DisconnectNotify
  3. Schließen
Der Remotedesktopdienstedienst kann die folgenden Methoden jederzeit aufrufen, nachdem eine Verbindung hergestellt wurde:

Vererbung

Die IWRdsProtocolConnection-Schnittstelle erbt von der IUnknown-Schnittstelle . IWRdsProtocolConnection verfügt auch über folgende Membertypen:

Methoden

Die IWRdsProtocolConnection-Schnittstelle verfügt über diese Methoden.

 
IWRdsProtocolConnection::AcceptConnection

Weist das Protokoll an, mit der Verbindungsanforderung fortzufahren.
IWRdsProtocolConnection::AuthenticateClientToSession

Gibt eine Sitzung an, mit der die Verbindung wiederhergestellt werden soll.
IWRdsProtocolConnection::Close

Schließt eine Verbindung, nachdem die Sitzung getrennt wurde.
IWRdsProtocolConnection::ConnectNotify

Signalisiert dem Protokoll, dass die Sitzung initialisiert wurde.
IWRdsProtocolConnection::CreateVirtualChannel

Fordert an, dass das Protokoll einen virtuellen Kanal erstellt.
IWRdsProtocolConnection::D isconnectNotify

Benachrichtigt das Protokoll, dass die Sitzung getrennt wurde.
IWRdsProtocolConnection::GetClientData

Fordert Clienteinstellungen vom Protokoll an.
IWRdsProtocolConnection::GetClientMonitorData

Ruft die Anzahl der Monitore und die primäre Monitornummer auf dem Client ab.
IWRdsProtocolConnection::GetInputHandles

Ruft die Handles für Eingabe-/Ausgabegeräte für das Protokoll ab.
IWRdsProtocolConnection::GetLastInputTime

Ruft den Zeitpunkt ab, zu dem das Protokoll zuletzt eine Benutzereingabe empfangen hat.
IWRdsProtocolConnection::GetLicenseConnection

Ruft ein IWRdsProtocolLicenseConnection-Objekt ab, das zum Starten des Clientlizenzierungsprozesses verwendet wird.
IWRdsProtocolConnection::GetLogonErrorRedirector

Ruft eine IWRdsProtocolLogonErrorRedirector-Schnittstelle ab, die angibt, wie das Protokoll Clientanmeldefehler behandeln soll.
IWRdsProtocolConnection::GetProtocolStatus

Ruft Informationen zum protokollspezifischen status ab.
IWRdsProtocolConnection::GetShadowConnection

Ruft einen Verweis auf das Schattenverbindungsobjekt aus dem Protokoll ab.
IWRdsProtocolConnection::GetUserCredentials

Gibt Benutzeranmeldeinformationen zurück.
IWRdsProtocolConnection::GetVideoHandle

Ruft das Handle des Videogeräts für das Protokoll ab.
IWRdsProtocolConnection::IsUserAllowedToLogon

Bestimmt anhand des Protokolls, ob sich ein Benutzer bei einer Sitzung anmelden darf.
IWRdsProtocolConnection::LogonNotify

Wird aufgerufen, wenn sich der Benutzer bei der Sitzung angemeldet hat.
IWRdsProtocolConnection::NotifyCommandProcessCreated

Benachrichtigt das Protokoll, dass der Winlogon.exe Prozess erstellt und initialisiert wurde.
IWRdsProtocolConnection::NotifySessionId

Sendet den Bezeichner der neuen Sitzung an das Protokoll.
IWRdsProtocolConnection::P reDisconnect

Benachrichtigt das Protokoll darüber, dass die Sitzung getrennt werden soll.
IWRdsProtocolConnection::QueryProperty

Ruft einen Eigenschaftswert aus dem Protokoll ab.
IWRdsProtocolConnection::SessionArbitrationEnumeration

Wird nach dem Schiedsverfahren aufgerufen, damit das Protokoll die Sitzungen angeben kann, die wiederhergestellt werden sollen.
IWRdsProtocolConnection::SetErrorInfo

Legt Fehlerinformationen im Protokoll fest.

Hinweise

Um einen möglichen Deadlock beim Aufrufen einer der Methoden auf dieser Schnittstelle zu vermeiden, sollten Sie keine Funktions- oder Methodenaufrufe ausführen, die direkt oder indirekt dazu führen, dass eine Remotedesktopdienste-API aufgerufen wird. Wenn Sie einen ausgehenden Aufruf durchführen müssen, sollten Sie einen neuen Thread starten und den ausgehenden Aufruf aus dem neuen Thread ausführen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Windows
Kopfzeile wtsprotocol.h