Freigeben über


Startsequenz

Um Ihren Protokollanbieter zu starten, verwenden Sie den Dienst Remotedesktopdienste:

  • Ruft den Namen des Listeners und die CLSID Ihres Protokoll-Manager-Objekts (IWRdsProtocolManager) aus der Registrierung ab. Weitere Informationen finden Sie unter Registrieren des Protokoll-Managers.
  • Ruft Initialize auf , um den Protokoll-Manager zu initialisieren.
  • Erstellt mithilfe der CLSID ein Protokoll-Manager-Objekt. Selbst wenn mehrere Listener für denselben Protokollanbieter registriert sind, erstellt der Dienst nur ein Protokoll-Manager-Objekt.
  • Ruft CreateListener auf, um das Protokoll-Manager-Objekt anzuweisen, ein IWRdsProtocolListener-Objekt 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 oder der Listener gelöscht wird.
  • Ruft StartListen für das Listenerobjekt auf, damit der Listener mit dem Lauschen auf eingehende Verbindungen beginnen kann.
  • Ruft StopListen auf, um das Lauschen des Listenerobjekts zu beenden.
  • Ruft Uninitialize auf, um den Protokoll-Manager aufzuheben.

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 eine erneute Verbindung herzustellen, und übergibt das IWRdsProtocolConnection-Objekt in diesem Aufruf. Der Remotedesktopdienstedienst gibt wiederum ein IWRdsProtocolConnectionCallback-Objekt in diesem Aufruf zurück, damit das Protokoll bei Bedarf mit dem Remotedesktopdienstedienst kommunizieren kann. Der Dienst fügt vor der Rückgabe 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 Startvorgangs.

rcm-Startsequenz

Methodenaufrufsequenz

Verbindungssequenz