若要啟動通訊協定提供者,遠端桌面服務服務:
- 從登錄擷取接聽程式和通訊協定管理員物件的 CLSID 名稱(IWRdsProtocolManager)。 如需詳細資訊,請參閱 註冊通訊協定管理員。
- 呼叫 初始化 來初始化通訊協定管理員。
- 使用 CLSID 建立通訊協定管理員物件。 即使為相同的通訊協定提供者註冊了多個接聽程式,服務仍只會建立一個通訊協定管理員物件。
- 呼叫 CreateListener,指示通訊協定管理員物件建立 IWRdsProtocolListener 接聽程序物件,並將其傳回至服務。 通訊協定管理員對象必須先新增接聽程式對象的參考,才能將它傳回服務。 服務會在服務停止或刪除接聽程式時釋放物件。
- 在接聽程式物件上呼叫 StartListen,讓接聽程式可以開始接聽連入連線。
- 呼叫 StopListen,以停止接聽程序物件。
- 呼叫 Uninitialize 來取消初始化通訊協定管理員。
接聽程式會在用戶端嘗試連線時,建立 IWRdsProtocolConnection 物件。 接聽程式物件會呼叫 OnConnected,以通知遠端桌面服務服務新用戶端嘗試連線或重新連線,並在該呼叫中傳遞 IWRdsProtocolConnection 物件。 遠端桌面服務服務會接著傳回該呼叫中的 IWRdsProtocolConnectionCallback 物件,以便通訊協定可以視需要與遠端桌面服務服務通訊。 服務會在傳回之前加入回呼對象的參考,而且通訊協議必須在連接關閉時釋放該參考。
下圖顯示啟動期間各種對象之間的互動。
相關主題