Remote Desktop Protocol Provider API
You can use the Remote Desktop Protocol Provider API to create a protocol to provide communication between the Remote Desktop Services service and multiple clients.
When Windows Server loads, the Remote Desktop Services service (also known as Remote Connection Manager (RCM)) starts. The service also starts listener objects for the Remote Desktop Protocol Providers that in turn listen for client connections. The service and the protocol providers are user-mode objects that communicate by using the APIs discussed in this documentation. The protocol providers can communicate with kernel-mode drivers by using input/output controls (IOCTLs). This is shown in the following illustration.

Microsoft has implemented the Remote Desktop Protocol (RDP) to provide communication between the Remote Desktop Services service and client connections. You can create your own protocol by using the interfaces, structures, unions, and enumeration types that make up the Remote Desktop Protocol Provider API. For more information, see Creating a Remote Desktop Protocol Provider and the following interfaces.
| Interface | Description |
|---|---|
| IWTSProtocolConnection |
Exposes methods called by the Remote Desktop Services service to configure a client connection. |
| IWTSProtocolConnectionCallback |
Exposes methods called by the protocol to provide information about the status of a client connection to the Remote Desktop Services service and request that the service perform actions for that client. |
| IWTSProtocolLicenseConnection |
Exposes methods used by the Remote Desktop Services service to perform the licensing handshake during a connection sequence. |
| IWTSProtocolListener |
Exposes methods called by the Remote Desktop Services service to request that the protocol listen for incoming client connection requests. |
| IWTSProtocolListenerCallback |
Exposes methods called by the protocol to notify the Remote Desktop Services service that a client has connected. |
| IWTSProtocolLogonErrorRedirector |
Exposes methods called by the Remote Desktop Services service to update logon status and determine how to direct logon error messages. |
| IWTSProtocolManager |
Represents the entry point for the Remote Desktop Services service into your protocol provider. |
| IWTSProtocolShadowCallback |
Exposes methods called by the protocol to notify the Remote Desktop Services service to start or stop the target side of a shadow. |
| IWTSProtocolShadowConnection |
Exposes methods called by the Remote Desktop Services service to notify the protocol that it should shadow another session. |
Related topics
Send comments about this topic to Microsoft
Build date: 3/7/2012