IWTSProtocolConnection interface (wtsprotocol.h)

[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:

Inheritance

The IWTSProtocolConnection interface inherits from the IUnknown interface. IWTSProtocolConnection also has these types of members:

Methods

The IWTSProtocolConnection interface has these methods.

 
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

Requirement Value
Minimum supported client None supported
Minimum supported server Windows Server 2008 R2
Target Platform Windows
Header wtsprotocol.h