2.2.1.3.3.2.1 Actively Monitored Desktop

The Actively Monitored Desktop packet contains information about the actively monitored desktop.


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

Hdr

...

ActiveWindowId (optional)

...

NumWindowIds (optional)

WindowIds (variable)

...

Hdr (7 bytes): Seven bytes. A TS_DESKTOP_ORDER_HEADER header. The FieldsPresentFlags field of the header MUST be constructed using the following values.

Value

Meaning

0x04000000

WINDOW_ORDER_TYPE_DESKTOP

Indicates an order specifying a desktop. This flag MUST be set.

0x00000002

WINDOW_ORDER_FIELD_DESKTOP_HOOKED

Indicates that the server will be sending information for the server's current input desktop.

0x00000008

WINDOW_ORDER_FIELD_DESKTOP_ARC_BEGAN

Indicates that the server is beginning to synchronize information with the client after the client has auto-reconnected or the server has just begun monitoring a new desktop. If this flag is set, the WINDOW_ORDER_FIELD_DESKTOP_HOOKED flag MUST also be set.

0x00000004

WINDOW_ORDER_FIELD_DESKTOP_ARC_COMPLETED

Indicates that the server has finished synchronizing data after the client has auto-reconnected or the server has just begun monitoring a new desktop. The client SHOULD assume that any window or shell notification icon not received during the synchronization is discarded. This flag MUST only be combined with the WINDOW_ORDER_TYPE_DESKTOP flag.

0x00000020

WINDOW_ORDER_FIELD_DESKTOP_ACTIVEWND

Indicates that the ActiveWindowId field is present.

0x00000010

WINDOW_ORDER_FIELD_DESKTOP_ZORDER

Indicates that the NumWindowIds field is present. If the NumWindowIds field has a value greater than 0, the WindowIds field MUST also be present.

ActiveWindowId (4 bytes): Optional. An unsigned 32-bit integer. The ID of the currently active window on the server. This field is present if and only if the WINDOW_ORDER_FIELD_DESKTOP_ACTIVEWND flag is set in the FieldsPresentFlags field of the TS_DESKTOP_ORDER_HEADER packet (section 2.2.1.3.3.1).

NumWindowIds (1 byte): Optional. An unsigned 8-bit integer. The number of top-level windows on the server. This field is present if and only if the WINDOW_ORDER_FIELD_DESKTOP_ZORDER flag is set in the FieldsPresentFlags field of the TS_DESKTOP_ORDER_HEADER packet (section 2.2.1.3.3.1).

WindowIds (variable): Variable length. An array of 4-byte window IDs, corresponding to the IDs of the top-level windows on the server, ordered by their Z-order on the server. The number of window IDs in the array is equal to the value of the NumWindowIds field.

This field is present if and only if the NumWindowIds field is greater than 0 and the WINDOW_ORDER_FIELD_DESKTOP_ZORDER flag is set in the FieldsPresentFlags field of the TS_DESKTOP_ORDER_HEADER packet (section 2.2.1.3.3.1).