Freigeben über


Startsequenz

So starten Sie Ihren Protokollanbieter, den Remotedesktopdienstedienst:

  • Ruft den Namen des Listeners und die CLSID des Protokoll-Manager-Objekts (IWRdsProtocolManager) aus der Registrierung ab. Weitere Informationen finden Sie unter Registrieren des Protokoll-Managers.
  • Ruft Initialisieren auf, um den Protokoll-Manager zu initialisieren.
  • Erstellt ein Protokoll-Manager-Objekt mithilfe der CLSID. Selbst wenn mehrere Listener für denselben Protokollanbieter registriert sind, erstellt der Dienst nur ein Protokoll-Manager-Objekt.
  • Ruft CreateListener- auf, das Protokoll-Manager-Objekt anzuweisen, ein IWRdsProtocolListener Listenerobjekt zu erstellen und an den Dienst zurückzugeben. Das Protokoll-Manager-Objekt muss einen Verweis auf das Listenerobjekt hinzufügen, bevor es an den Dienst zurückgegeben wird. Der Dienst gibt das Objekt frei, wenn der Dienst beendet wird oder der Listener gelöscht wird.
  • Ruft StartListen- für das Listenerobjekt auf, damit der Listener mit der Überwachung eingehender Verbindungen beginnen kann.
  • Ruft StopListen- auf, um zu verhindern, dass das Listenerobjekt überwacht wird.
  • Ruft Uninitialize auf, um den Protokoll-Manager zu initialisieren.

Der Listener erstellt ein IWRdsProtocolConnection Objekt, wenn ein Client versucht, eine Verbindung herzustellen. Das Listenerobjekt ruft OnConnected- auf, um den Remotedesktopdienstedienst zu benachrichtigen, dass ein neuer Client versucht, eine Verbindung herzustellen oder erneut zu verbinden, und übergibt die IWRdsProtocolConnection--Objekt in diesem Aufruf. Der Remotedesktopdienstedienst gibt wiederum ein IWRdsProtocolConnectionCallback-Objekt in diesem Aufruf zurück, sodass das Protokoll bei Bedarf mit dem Remotedesktopdienstedienst kommunizieren kann. Der Dienst fügt vor dem Zurückgeben einen Verweis auf das Rückrufobjekt hinzu, und das Protokoll muss diesen Verweis freigeben, wenn die Verbindung geschlossen wird.

Die folgende Abbildung zeigt die Interaktion zwischen den verschiedenen Objekten während des Starts.

rcm Startsequenz

Methodenaufrufsequenz

Verbindungssequenz