IWTSProtocolConnection interface

[IWTSProtocolConnection is no longer available for use as of Windows Server 2012. Instead, use IWRdsProtocolConnection.]

Exposes methods called by the Remote Desktop Services service to configure a client connection. Your protocol must implement this interface to handle connection requests from clients. When the protocol listener receives a connection request from a client, it must create an IWTSProtocolConnection object and pass it to the Remote Desktop Services service by calling the OnConnected method. In response, the service adds a reference to the IWTSProtocolConnectionCallback object and returns a pointer to it. When the connection is no longer needed, the protocol must release the pointer.

During a connection sequence, the following methods are called by the Remote Desktop Services service in the order listed.

  1. GetLogonErrorRedirector
  2. SendPolicyData
  3. AcceptConnection
  4. GetClientData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticateClientToSession
  8. NotifySessionId
  9. GetProtocolHandles
  10. ConnectNotify
  11. IsUserAllowedToLogon
  12. SessionArbitrationEnumeration
  13. LogonNotify
  14. GetUserData
If the Remote Desktop Services service needs to reconnect after calling SessionArbitrationEnumeration, it reconnects by calling the following methods in the order listed:
  1. DisconnectNotify (Called on the new session that was created.)
  2. NotifySessionId (Called on the existing session.)
  3. GetProtocolHandles
  4. ConnectNotify
  5. LogonNotify
To disconnect, the Remote Desktop Services service calls the following methods in the order listed:
  1. DisconnectNotify
  2. Close
The Remote Desktop Services service can call the following methods at any time after a connection has been established:

Methods

The IWTSProtocolConnection interface has these methods.

Method Description
IWTSProtocolConnection::AcceptConnection IWTSProtocolConnection::AcceptConnection is no longer available. Instead, use IWRdsProtocolConnection::AcceptConnection.
IWTSProtocolConnection::AuthenticateClientToSession IWTSProtocolConnection::AuthenticateClientToSession is no longer available. Instead, use IWRdsProtocolConnection::AuthenticateClientToSession.
IWTSProtocolConnection::Close IWTSProtocolConnection::Close is no longer available. Instead, use IWRdsProtocolConnection::Close.
IWTSProtocolConnection::ConnectNotify IWTSProtocolConnection::ConnectNotify is no longer available. Instead, use IWRdsProtocolConnection::ConnectNotify.
IWTSProtocolConnection::CreateVirtualChannel IWTSProtocolConnection::CreateVirtualChannel is no longer available. Instead, use IWRdsProtocolConnection::CreateVirtualChannel.
IWTSProtocolConnection::DisconnectNotify IWTSProtocolConnection::DisconnectNotify is no longer available. Instead, use IWRdsProtocolConnection::DisconnectNotify.
IWTSProtocolConnection::GetClientData IWTSProtocolConnection::GetClientData is no longer available. Instead, use IWRdsProtocolConnection::GetClientData.
IWTSProtocolConnection::GetLastInputTime IWTSProtocolConnection::GetLastInputTime is no longer available. Instead, use IWRdsProtocolConnection::GetLastInputTime.
IWTSProtocolConnection::GetLicenseConnection IWTSProtocolConnection::GetLicenseConnection is no longer available. Instead, use IWRdsProtocolConnection::GetLicenseConnection.
IWTSProtocolConnection::GetLogonErrorRedirector IWTSProtocolConnection::GetLogonErrorRedirector is no longer available. Instead, use IWRdsProtocolConnection::GetLogonErrorRedirector.
IWTSProtocolConnection::GetProtocolHandles IWTSProtocolConnection::GetProtocolHandles is no longer available.
IWTSProtocolConnection::GetProtocolStatus IWTSProtocolConnection::GetProtocolStatus is no longer available. Instead, use IWRdsProtocolConnection::GetProtocolStatus.
IWTSProtocolConnection::GetShadowConnection IWTSProtocolConnection::GetShadowConnection is no longer available. Instead, use IWRdsProtocolConnection::GetShadowConnection.
IWTSProtocolConnection::GetUserCredentials IWTSProtocolConnection::GetUserCredentials is no longer available. Instead, use IWRdsProtocolConnection::GetUserCredentials.
IWTSProtocolConnection::GetUserData IWTSProtocolConnection::GetUserData is no longer available. Instead, use IWRdsProtocolSettings::MergeSettings.
IWTSProtocolConnection::IsUserAllowedToLogon IWTSProtocolConnection::IsUserAllowedToLogon is no longer available. Instead, use IWRdsProtocolConnection::IsUserAllowedToLogon.
IWTSProtocolConnection::LogonNotify IWTSProtocolConnection::LogonNotify is no longer available. Instead, use IWRdsProtocolConnection::LogonNotify.
IWTSProtocolConnection::NotifySessionId IWTSProtocolConnection::NotifySessionId is no longer available. Instead, use IWRdsProtocolConnection::NotifySessionId.
IWTSProtocolConnection::QueryProperty IWTSProtocolConnection::QueryProperty is no longer available. Instead, use IWRdsProtocolConnection::QueryProperty.
IWTSProtocolConnection::SendBeep IWTSProtocolConnection::SendBeep is no longer available.
IWTSProtocolConnection::SendPolicyData IWTSProtocolConnection::SendPolicyData is no longer available. Instead, use IWRdsProtocolManager::NotifySettingsChange.
IWTSProtocolConnection::SessionArbitrationEnumeration IWTSProtocolConnection::SessionArbitrationEnumeration is no longer available. Instead, use IWRdsProtocolConnection::SessionArbitrationEnumeration.
IWTSProtocolConnection::SetErrorInfo IWTSProtocolConnection::SetErrorInfo is no longer available. Instead, use IWRdsProtocolConnection::SetErrorInfo.

Requirements

   
Windows version None supported Windows Server 2008 R2
Target Platform Windows
Header wtsprotocol.h