2.2.1.9 TableEntryFixed
The TableEntryFixed structure is used in the TableDataFixed (section 2.2.1.10) and TableDataFixedWrite (section 2.2.1.13) structures. These structures are always used along with a TableDataVariable (section 2.2.1.15) structure. This type represents fixed-size parts of the data in a table entry:
The status of each property value.
The size of each nonfixed size eDT_BYTES property.
The property value for each fixed size property.
An offset, in bytes, to the property value within a TableDataVariable for each nonfixed size property.
This structure is marshaled as specified in the following diagram.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status 0 |
Status 1 |
... |
... |
||||||||||||||||||||||||||||
Status n |
Padding |
||||||||||||||||||||||||||||||
Size 0 |
|||||||||||||||||||||||||||||||
Size 1 |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Size m |
|||||||||||||||||||||||||||||||
ValueOrOffset 0 (variable) |
|||||||||||||||||||||||||||||||
ValueOrOffset 1 (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
ValueOrOffset n (variable) |
Status 0-n: The property status for each property, in order by index. MUST be an fPropertyStatus (section 2.2.1.8) value.
Padding: Padding with zeros to a 4-byte boundary from the start of the structure.
Size 0-m: The size, in bytes, represented by an unsigned integer, of the property value for each nonfixed size eDT_BYTES property, in order by index. If the representation of the property value in the associated TableDataVariable structure requires padding to a multiple of 4 bytes, this size does not include the padding bytes.
ValueOrOffset 0-n: The property value or offset for each property, in order by index. The format of this field depends on the type of the property, whether the fPROPERTY_FIXEDLENGTH flag is set in the property's section PropertyMeta (section 2.2.1.7), and whether the NonNull (see section 2.2.1.8) bit is set in the property's Status field.
-
Type of property
fPROPERTY_FIXEDLENGTH set?
NonNull set?
Format
eDT_ULONG
-
The property value, marshaled as a 32-bit unsigned integer.
eDT_GUID
-
-
The property value, marshaled as specified in [MS-DTYP], section 2.3.4.2.
eDT_BYTES
No
No
A 4-byte field, which SHOULD<9> be zero and MUST be ignored on receipt.
eDT_BYTES
No
Yes
A 32-bit unsigned integer, which MUST be the offset in bytes to the property value from the start of the associated TableDataVariable structure. MUST be a multiple of 4.
eDT_BYTES
Yes
No
A field with length equal to the fixed size of the property, rounded up to a multiple of 4. SHOULD be filled with zeros and MUST be ignored on receipt.
eDT_BYTES
Yes
Yes
The property value, marshaled as an array of bytes, padded with zeros to a multiple of 4 bytes.
eDT_LPWSTR
No
No
A 4-byte field, which SHOULD<10> be zero and MUST be ignored on receipt.
eDT_LPWSTR
No
Yes
A 32-bit unsigned integer, which MUST be the offset in bytes to the property value from the start of the associated TableDataVariable structure. MUST be a multiple of 4.
eDT_LPWSTR
Yes
No
A field with the length equal to the fixed size of the property, rounded up to a multiple of 4. SHOULD be filled with zeros and MUST be ignored on receipt.
eDT_LPWSTR
Yes
Yes
The property value, marshaled as a null-terminated array of wchar_t in little-endian byte order, padded with zeros to a multiple of 4 bytes.