2.2.1.2.1 Capability Message (CAPABILITY_SET)

The CAPABILITY_SET structure is used to describe the type, size, and version of a capability set exchanged between clients and servers. All Capability Messages conform to this basic structure. The Capability Message is embedded in the Server Core Capability Request and Client Core Capability Response messages.

Capability Messages are ordered as an array of CAPABILITY_SET structures contained in a Server Core Capability Request or Client Core Capability Response message; however, the presence of a Capability Message is non-compulsory. If CapabilityMessage data is not present in a Server Core Capability Request or Client Core Capability Response packet, it is assumed that all fields of the Capability Message are set to zero, with exception of the CapabilityType and CapabilityLength fields of the Header.


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

...

capabilityData (variable)

...

Header (8 bytes): A CAPABILITY_HEADER structure. The CapabilityType field of the CAPABILITY_HEADER specifies the format of the data in the capabilityData field.

capabilityData (variable): Capability set data that conforms to the structure of the type specified by the CapabilityType field of the CAPABILITY_HEADER.