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