Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 IWRdsProtocolConnection object and pass it to the Remote Desktop Services service by calling the IWRdsProtocolListenerCallback::OnConnected method. In response, the service adds a reference to the IWRdsProtocolConnectionCallback 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.
- GetLogonErrorRedirector
- AcceptConnection
- GetClientData
- GetClientMonitorData
- GetUserCredentials
- GetLicenseConnection
- AuthenticateClientToSession
- NotifySessionId
- GetInputHandles
- GetVideoHandle
- ConnectNotify
- NotifyCommandProcessCreated
- IsUserAllowedToLogon
- SessionArbitrationEnumeration
- LogonNotify
- DisconnectNotify (Called on the new session that was created.)
- NotifySessionId (Called on the existing session.)
- GetInputHandles
- GetVideoHandle
- ConnectNotify
- LogonNotify
- GetProtocolStatus
- GetLastInputTime
- SetErrorInfo
- CreateVirtualChannel
- QueryProperty
- GetShadowConnection
Inheritance
The IWRdsProtocolConnection interface inherits from the IUnknown interface. IWRdsProtocolConnection also has these types of members:
Methods
The IWRdsProtocolConnection interface has these methods.
IWRdsProtocolConnection::AcceptConnection Directs the protocol to continue with the connection request. |
IWRdsProtocolConnection::AuthenticateClientToSession Specifies a session that the connection should be reconnected to. |
IWRdsProtocolConnection::Close Closes a connection after the session is disconnected. |
IWRdsProtocolConnection::ConnectNotify Signals the protocol that the session has been initialized. |
IWRdsProtocolConnection::CreateVirtualChannel Requests that the protocol create a virtual channel. |
IWRdsProtocolConnection::DisconnectNotify Notifies the protocol that the session has been disconnected. |
IWRdsProtocolConnection::GetClientData Requests client settings from the protocol. |
IWRdsProtocolConnection::GetClientMonitorData Retrieves the number of monitors and the primary monitor number on the client. |
IWRdsProtocolConnection::GetInputHandles Obtains the handles to input/output devices for the protocol. |
IWRdsProtocolConnection::GetLastInputTime Retrieves the last time the protocol received user input. |
IWRdsProtocolConnection::GetLicenseConnection Retrieves an IWRdsProtocolLicenseConnection object that is used to begin the client licensing process. |
IWRdsProtocolConnection::GetLogonErrorRedirector Retrieves an IWRdsProtocolLogonErrorRedirector interface that specifies how the protocol should handle client logon errors. |
IWRdsProtocolConnection::GetProtocolStatus Retrieves information about the protocol status. |
IWRdsProtocolConnection::GetShadowConnection Retrieves a reference to the shadow connection object from the protocol. |
IWRdsProtocolConnection::GetUserCredentials Returns user credentials. |
IWRdsProtocolConnection::GetVideoHandle Obtains the handle of the video device for the protocol. |
IWRdsProtocolConnection::IsUserAllowedToLogon Determines from the protocol whether a user is allowed to log on to a session. |
IWRdsProtocolConnection::LogonNotify Called when the user has logged on to the session. |
IWRdsProtocolConnection::NotifyCommandProcessCreated Notifies the protocol that the Winlogon.exe process has been created and initialized. |
IWRdsProtocolConnection::NotifySessionId Sends the identifier of the new session to the protocol. |
IWRdsProtocolConnection::PreDisconnect Notifies the protocol that the session is about to be disconnected. |
IWRdsProtocolConnection::QueryProperty Retrieves a property value from the protocol. |
IWRdsProtocolConnection::SessionArbitrationEnumeration Called after arbitration to allow the protocol to specify the sessions to be reconnected. |
IWRdsProtocolConnection::SetErrorInfo Sets error information in the protocol. |
Remarks
To avoid a possible deadlock when calling any of the methods on this interface, you should not make any function or method calls that will directly or indirectly result in a Remote Desktop Services API being called. If you need to make any outbound call, you should start a new thread and make the outbound call from the new thread.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows Server 2012 |
Target Platform | Windows |
Header | wtsprotocol.h |