2.2.7.2.9 Surface Commands Capability Set (TS_SURFCMDS_CAPABILITYSET)

The TS_SURFCMDS_CAPABILITYSET structure advertises support for Surface Commands (section 2.2.9.2). This capability is sent by both the client and the server.


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

capabilitySetType

lengthCapability

cmdFlags

reserved

capabilitySetType (2 bytes): A 16-bit, unsigned integer. The type of capability set. This field MUST be set to 0x001C (CAPSETTYPE_SURFACE_COMMANDS).

lengthCapability (2 bytes): A 16-bit, unsigned integer. The length in bytes of the capability data.

cmdFlags (4 bytes): A 32-bit, unsigned integer. Flags indicating which Surface Commands are supported.

Flag

Meaning

SURFCMDS_SETSURFACEBITS

0x00000002

The Set Surface Bits Command (section 2.2.9.2.1) is supported.

SURFCMDS_FRAMEMARKER

0x00000010

The Frame Marker Command (section 2.2.9.2.3) is supported.

SURFCMDS_STREAMSURFACEBITS

0x00000040

The Stream Surface Bits Command (section 2.2.9.2.2) is supported.

If the client advertises support for surface commands, it MUST also indicate support for fast-path output by setting the FASTPATH_OUTPUT_SUPPORTED (0x0001) flag in the extraFlags field of the General Capability Set (section 2.2.7.1.1).

reserved (4 bytes): This field is reserved for future use and has no effect on the RDP wire traffic. It MUST be set to zero.