2.14.4 ArrayHeader

The ArrayHeader packet represents the type and dimensions of an array property type.


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

Type

NumDimensions

Dimension 0 (variable)

...

Dimension n (variable)

...

Type (4 bytes): MUST be set to the value obtained by clearing the VT_ARRAY (0x2000) bit of this array property's PropertyType value.

NumDimensions (4 bytes): An unsigned integer representing the number of dimensions in the array property. MUST be at least 1 and at most 31.

Value

Meaning

1 — 31

An unsigned integer representing the number of dimensions in the array property.

Dimension 0 (variable): MUST be a sequence of ArrayDimension packets.

The number of scalar values in an array property can be calculated from the ArrayHeader packet as the product of the Size fields of each of the ArrayDimension packets.