IWRdsProtocolConnection 介面 (wtsprotocol.h)

公開遠端桌面服務呼叫的方法,以設定用戶端連線。 您的通訊協議必須實作這個介面,才能處理來自客戶端的連線要求。 當通訊協定接聽程式從用戶端收到連線要求時,它必須建立 IWRdsProtocolConnection 物件,並藉由呼叫 IWRdsProtocolListenerCallback::OnConnected 方法將它傳遞至遠端桌面服務服務。 為了回應,服務會將參考新增至 IWRdsProtocolConnectionCallback 物件,並傳回其指標。 不再需要連線時,通訊協議必須釋放指標。

在聯機順序期間,遠端桌面服務會依列出的順序呼叫下列方法。

  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
如果遠端桌面服務服務需要在呼叫 SessionArbitrationEnumeration 之後重新連線,它會依列出的順序呼叫下列方法重新連線:
  1. DisconnectNotify (在已建立的新會話上呼叫。)
  2. 在現有的 session.) 上呼叫 NotifySessionId (
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
若要中斷連線,遠端桌面服務服務會依列出的順序呼叫下列方法:
  1. PreDisconnect
  2. DisconnectNotify
  3. 關閉
遠端桌面服務服務可以在建立連線之後隨時呼叫下列方法:

繼承

IWRdsProtocolConnection 介面繼承自 IUnknown 介面。 IWRdsProtocolConnection 也有下列類型的成員:

方法

IWRdsProtocolConnection 介面具有這些方法。

 
IWRdsProtocolConnection::AcceptConnection

指示通訊協議繼續進行連線要求。
IWRdsProtocolConnection::AuthenticateClientToSession

指定應該重新連線的會話。
IWRdsProtocolConnection::Close

在工作階段中斷連線之後關閉連線。
IWRdsProtocolConnection::ConnectNotify

發出已初始化會話的通訊協議訊號。
IWRdsProtocolConnection::CreateVirtualChannel

要求通訊協定建立虛擬通道。
IWRdsProtocolConnection::D isconnectNotify

通知通訊協定會話已中斷連線。
IWRdsProtocolConnection::GetClientData

從通訊協定要求客戶端設定。
IWRdsProtocolConnection::GetClientMonitorData

擷取用戶端上的監視器數目和主要監視器編號。
IWRdsProtocolConnection::GetInputHandles

取得通訊協定之輸入/輸出裝置的句柄。
IWRdsProtocolConnection::GetLastInputTime

擷取上次接收通訊協定使用者輸入的時間。
IWRdsProtocolConnection::GetLicenseConnection

擷取用來開始用戶端授權程式的 IWRdsProtocolLicenseConnection 物件。
IWRdsProtocolConnection::GetLogonErrorRedirector

擷取 IWRdsProtocolLogonErrorRedirector 介面,指定通訊協定如何處理用戶端登入錯誤。
IWRdsProtocolConnection::GetProtocolStatus

擷取通訊協議狀態的相關信息。
IWRdsProtocolConnection::GetShadowConnection

從通訊協定擷取陰影連接對象的參考。
IWRdsProtocolConnection::GetUserCredentials

傳回用戶認證。
IWRdsProtocolConnection::GetVideoHandle

取得通訊協議的視訊裝置句柄。
IWRdsProtocolConnection::IsUserAllowedToLogon

判斷是否允許使用者登入會話的通訊協定。
IWRdsProtocolConnection::LogonNotify

當使用者登入會話時呼叫。
IWRdsProtocolConnection::NotifyCommandProcessCreated

通知通訊協定 Winlogon.exe 進程已建立並初始化。
IWRdsProtocolConnection::NotifySessionId

將新會話的標識碼傳送至通訊協定。
IWRdsProtocolConnection::P reDisconnect

通知通訊協定會話即將中斷連線。
IWRdsProtocolConnection::QueryProperty

從通訊協定擷取屬性值。
IWRdsProtocolConnection::SessionArbitrationEnumeration

在仲裁之後呼叫,以允許通訊協定指定要重新連線的會話。
IWRdsProtocolConnection::SetErrorInfo

設定通訊協定中的錯誤資訊。

備註

若要避免在此介面上呼叫任何方法時可能死結,您不應該進行任何直接或間接導致呼叫遠端桌面服務 API 的函式或方法呼叫。 如果您需要進行任何輸出呼叫,您應該啟動新的線程,並從新的線程進行輸出呼叫。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 wtsprotocol.h