2.2.1.3.6 Client Monitor Data (TS_UD_CS_MONITOR)

The TS_UD_CS_MONITOR packet describes the client-side display monitor layout. This packet is an Extended Client Data Block and MUST NOT be sent to a server which does not advertise support for Extended Client Data Blocks by using the EXTENDED_CLIENT_DATA_SUPPORTED flag (0x00000001) as described in section 2.2.1.2.1.

The maximum width of the virtual desktop resulting from the union of the monitors contained in the monitorDefArray field MUST NOT exceed 32,766 pixels. Similarly, the maximum height of the virtual desktop resulting from the union of the monitors contained in the monitorDefArray field MUST NOT exceed 32,766 pixels. The minimum permitted size of the virtual desktop is 200 x 200 pixels.


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

flags

monitorCount

monitorDefArray (variable)

...

header (4 bytes): A GCC user data block header, as specified in User Data Header (section 2.2.1.3.1). The User Data Header type field MUST be set to CS_MONITOR (0xC005).

flags (4 bytes): A 32-bit, unsigned integer. This field is unused and reserved for future use. It MUST be set to zero.

monitorCount (4 bytes): A 32-bit, unsigned integer. The number of display monitor definitions in the monitorDefArray field (the maximum allowed is 16).

monitorDefArray (variable): A variable-length array containing a series of TS_MONITOR_DEF structures (section 2.2.1.3.6.1) which describe the display monitor layout of the client. The number of TS_MONITOR_DEF structures is given by the monitorCount field.