Implement a RemoteFX Display Driver (Compact 7)

3/12/2014

Display drivers connect the Windows Embedded Compact 7 (Compact 7) operating system to the display hardware. These drivers, which OEMs create and load on their devices, are directly called by Graphics, Windowing and Events (GWES).

When you develop a RemoteFX-enabled driver, the RDC client, which is a component on your device that receives RemoteFX packets from the server, needs to communicate directly with your display driver in order to access the capabilities of the decoding and display hardware. This feature requires OEMs to create drivers for interacting with their hardware.

RemoteFX uses a set of escape sequences together with the DrvEscape function to enable the RDC client to communicate directly with the display driver and to offload the data to specialized coprocessor hardware, such as an ASIC or DSP.

The RDC client interacts with a display driver via a set of well-defined interfaces that use GDI escape sequences. You need to use the GDI escape sequence interface to implement your thin client device RemoteFX display driver. In addition to supporting the typical graphics-rendering operations, the display driver must support the applicable RemoteFX escape sequences shown the following table.

The RDC client invokes the Compact 7 ExtEscape function to pass an escape sequence and RemoteFX-encoded data stream to a RemoteFX-enabled display driver. ExtEscape, in turn, passes those parameters to the display driver's DrvEscape function. DrvEscape processes the escape code and returns a value to ExtEscape, which then returns the value to the application.

The escape sequences that you use in your driver depend on the display mode that you choose for your device. For more information about choosing a display mode, see Design a Display Driver.

Some escape sequences are used by both display modes. Others apply to just one display mode. The following table includes a Display mode column that shows you the escape sequences that are required by each display. When an escape sequence is required by both types of display modes, the column indicates Both.

Escape Sequence Value Display mode Description

QUERYESCSUPPORT

QUERYESCSUPPORT (8)

Both

Queries whether the driver supports a particular escape function. QUERYESCSUPPORT is the only predefined value.

ESCAPE_GET_CAPABILITIES

0x20103 (131331)

Both

Allows the codec library in the RDC client to query the hardware capabilities (for example, the supported tile size) of the display driver.

ESCAPE_DEC3

0x20101 (131329)

Both

Allows the codec library to decode compressed data into the video memory buffer and optionally, to transfer decoded data back to system memory.

ESCAPE_COPY_2BMP

0x20102 (131330)

Window-frame only

Allows the codec library to copy decoded data directly to the shadow bitmap.

ESCAPE_EXIT_CA

0x20199 (131481)

Full-screen only

When full-screen mode is enabled and the RemoteFX session ends, the RDC client sends the ESCAPE_EXIT_CA escape sequence to the display driver. The display driver uses this notification to change back to non-RemoteFX display mode.

In This Section

See Also

Concepts

Design and Implement RemoteFX Display Drivers