2.2.2.2.1.2.4 Cache Color Table (CACHE_COLOR_TABLE_ORDER)

The Cache Color Table Secondary Drawing Order is used by the server to instruct the client to store a color table in a particular Color Table Cache entry. Color tables are used in the MemBlt (section 2.2.2.2.1.1.2.9) and Mem3Blt (section 2.2.2.2.1.1.2.10) Primary Drawing Orders.

Support for color table caching is not specified in the Color Table Cache Capability Set (section 2.2.1.1), but is instead implied by support for the MemBlt (section 2.2.2.2.1.1.2.9) and Mem3Blt (section 2.2.2.2.1.1.2.10) Primary Drawing Orders. If support for these orders is advertised in the Order Capability Set (see [MS-RDPBCGR] section 2.2.7.1.3), the existence of a color table cache with entries for six palettes is assumed when palettized color is being used, and the Cache Color Table is used to update these palettes.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

header

...

cacheIndex

numberColors

...

colorTable (variable)

...

header (6 bytes): A Secondary Order Header, as defined in section 2.2.2.2.1.2.1.1. The embedded orderType field MUST be set to TS_CACHE_COLOR_TABLE (0x01).

cacheIndex (1 byte): An 8-bit, unsigned integer. An entry in the Cache Color Table where the color table MUST be stored. This value MUST be in the range 0 to 5 (inclusive).

numberColors (2 bytes): A 16-bit, unsigned integer. The number of Color Quad (section 2.2.2.2.1.2.4.1) structures in the colorTable field. This field MUST be set to 256 entries.

colorTable (variable): A Color Table composed of an array of Color Quad (section 2.2.2.2.1.2.4.1) structures. The number of entries in the array is given by the numberColors field.