14.2.20 Terminal Services Terminal Server Runtime Interface (RPC)

The Terminal Services Terminal Server Runtime Interface Protocol Specification (as specified in [MS-TSTS]) is an RPC-based protocol used for remotely querying and configuring various aspects of a Terminal Server. For example, this protocol can be used to query the number of active sessions running on a Terminal Server.

The protocol consists of two major subcomponents:

  1. Local Session Manager (LSM): a central component in the Windows operating system that creates, destroys, and manipulates sessions.

  2. TermService: a specific implementation of connection manager, this is an extension for the Local Session Manager (LSM). The main purpose of TermService is to service incoming remote connection requests. The main protocols TermService currently supports are Microsoft's RDP (as specified in [MSDN-RDP]) and Citrix's ICA (as specified in [ICA]), but could be extended for others as well.

The protocol can be further divided into the following functional categories:

  • LSM Session: These calls deal with collecting information, and controlling and configuring sessions that are running on the Terminal Server.

  • LSM Notification: These RPC calls are asynchronous in nature and can be used to receive event notifications from LSM.

  • LSM Enumeration: These calls are used to enumerate information related to sessions running on a Terminal Server.

  • TermService: These calls can be used to query and configure various aspects of the TermServices running on the Terminal Server.

  • TermService Listener: The TermService Listener calls are specific to the Listener session that is running on the Terminal Server and listening for incoming connection requests.

  • Legacy: All the calls used by TS clients in the version of Windows prior to Windows Vista operating system can be grouped under this category.

  • Terminal Server Licensing: These calls can be used to query information about the licensing mode used by the Terminal Server, and to configure it remotely.

The Terminal Services Terminal Server Runtime Interface is a simple request-response RPC-based protocol. For every method that the server receives, it executes the method and returns a completion. The client simply returns the completion status to the caller.

The Terminal Services Terminal Server Runtime Interface Protocol is only appropriate for querying and configuring a Terminal Server on a Windows operating system. Before this protocol is invoked, it is assumed that a Terminal Server Runtime Interface (RPC) Protocol client has obtained the name of a Terminal Server that supports the Terminal Server Runtime Interface (RPC) Protocol.

 
Show: