1.1 Glossary

This document uses the following terms:

channel: A conduit for resource messages, grouped in batches that are processed atomically by the composition engine. Channels are referenced via handles. Channel handles are scoped to the connection on which they are created. The server can create multiple channels per connection.

composition engine: A component that takes as an input a stream of messages that specifies one or more scene graphs and produces one or more rasterizations as an output.

connection: An instantiation of the protocol that can be used as a scoping entity for channel. The server can instantiate multiple simultaneous connections to the same client.

desktop: The topmost object in a hierarchical representation of the graphical output of a machine in which the output from one or more applications is organized in windows.

glyph: A graphical representation of a character, a part of a character, or a sequence of characters, in a font used for graphical output.

glyph run: A sequence of glyphs drawn with a common set of font and size parameters.

handle: A 32-bit numerical ID that uniquely identifies a resource or a channel. Handles are allocated by the server and communicated to the client via resource or channel creation messages.

HRESULT: An integer value that indicates the result or status of an operation. A particular HRESULT can have different meanings depending on the protocol using it. See [MS-ERREF] section 2.1 and specific protocol documents for further details.

locally unique identifier (LUID): A 64-bit value guaranteed to be unique within the scope of a single machine.

logical surface: A 64-bit numerical ID that uniquely identifies a surface that is meant to be composed with the rest of the desktop. The surface is allocated and populated externally to the composition engine. The composition engine uses this ID to obtain surface contents and receive surface update notifications.

meta-render target: An off-screen render target that allows the composition engine to rasterize the desktop contents into surfaces that have a specified affinity to a display adapter.

rasterization: A bitmap that contains the result of drawing all of the instructions in a scene graph.

Remote Desktop Protocol (RDP): A multi-channel protocol that allows a user to connect to a computer running Microsoft Terminal Services (TS). RDP enables the exchange of client and server settings and also enables negotiation of common settings to use for the duration of the connection, so that input, graphics, and other data can be exchanged and processed between client and server.

resource: An object created and retained by the composition engine running on the client, on behalf of the server. Resources are referenced in the protocol via handles. Resource handles are scoped to the channel on which they are created. The server can create multiple resources per channel.

scene graph: A graph containing drawing instructions and structural elements representing the spatial relationships between these drawing instructions, as well as all graphical resources referenced by the drawing instructions. A scene graph retains all of the information necessary to produce a rasterization without the need to issue any callbacks to the application that created it.

sprite: A top-level contained entity on a windowing system, such as a window, cursor, pop-up menu, or outline-drag. Sprites are entities allocated by the server's window management system, and are meant to describe compositional properties of surfaces. Sprites are most often associated with windows, but they can also be free-floating. For example, a windowless sprite might be used to hold an image of the mouse cursor.

surface: A part of system or video memory containing color data for a rectangular array of pixels.

top-level window: A window whose parent object in the window tree is the desktop object. In a composed system as specified in this protocol, each top-level window is backed by its own dedicated sprite.

visible region: A geometric shape that describes the area of the screen affected by the contents of a window. The visible region geometry is always specified with coordinates relative to the top-left corner of a window. It can be a simple rectangle with width and height equal to the width and height of the window, or it can be a more complex shape. More complex shapes can occur if the window is partially occluded by other windows, or if an application requested a different shape for the clipping geometry. The visible region is always determined by the windowing system running on the server.

window: An object in a hierarchical representation of the graphical output of a machine, representing a single rectangular drawing surface of finite extent. Window objects belonging to a desktop are organized in a tree structure. Windows can also have other associated properties, such as transparency or opacity, which specify how the contents of the window are blended against the contents of other windows behind it or the desktop, or a region that specifies which parts of the rectangular surface are visible and which are clipped when the window is drawn.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.