2.15 TypedPropertyValue
The TypedPropertyValue structure represents the typed value of a property in a property set.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
Padding |
||||||||||||||||||||||||||||||
Value (variable) |
|||||||||||||||||||||||||||||||
... |
Type (2 bytes): MUST be a value from the PropertyType enumeration, indicating the type of property represented.
Padding (2 bytes): MUST be set to zero, and any nonzero value SHOULD be rejected.
-
Value
Meaning
0
As required.
Value (variable): MUST be the value of the property represented and serialized according to the value of Type as follows.
-
Type
Format
VT_EMPTY (0x0000)
MUST be zero bytes in length.
VT_NULL (0x0001)
MUST be zero bytes in length.
VT_I2 (0x0002)
MUST be a 16-bit signed integer, followed by zero padding to 4 bytes.
VT_I4 (0x0003)
MUST be a 32-bit signed integer.
VT_R4 (0x0004)
MUST be a 4-byte (single-precision) IEEE floating-point number.
VT_R8 (0x0005)
MUST be an 8-byte (double-precision) IEEE floating-point number.
VT_CY (0x0006)
MUST be a CURRENCY (Packet Version).
VT_DATE (0x0007)
MUST be a DATE (Packet Version).
VT_BSTR (0x0008)
MUST be a CodePageString.
VT_ERROR (0x000A)
MUST be a 32-bit unsigned integer representing an HRESULT, as specified in [MS-DTYP] section 2.2.18.
VT_BOOL (0x000B)
MUST be a VARIANT_BOOL as specified in [MS-OAUT] section 2.2.27, followed by zero padding to 4 bytes.
VT_DECIMAL (0x000E)
MUST be a DECIMAL (Packet Version).
VT_I1 (0x0010)
MUST be a 1-byte signed integer, followed by zero padding to 4 bytes.
VT_UI1 (0x0011)
MUST be a 1-byte unsigned integer, followed by zero padding to 4 bytes.
VT_UI2 (0x0012)
MUST be a 2-byte unsigned integer, followed by zero padding to 4 bytes.
VT_UI4 (0x0013)
MUST be a 4-byte unsigned integer.
VT_I8 (0x0014)
MUST be an 8-byte signed integer.
VT_UI8 (0x0015)
MUST be an 8-byte unsigned integer.
VT_INT (0x0016)
MUST be a 4-byte signed integer.
VT_UINT (0x0017)
MUST be a 4-byte unsigned integer.
VT_LPSTR (0x001E)
MUST be a CodePageString.
VT_LPWSTR (0x001F)
MUST be a UnicodeString.
VT_FILETIME (0x0040)
MUST be a FILETIME (Packet Version).
VT_BLOB (0x0041)
MUST be a BLOB.
VT_STREAM (0x0042)
MUST be an IndirectPropertyName. The storage representing the (non-simple) property set MUST have a stream element with this name.
VT_STORAGE (0x0043)
MUST be an IndirectPropertyName. The storage representing the (non-simple) property set MUST have a storage element with this name.
VT_STREAMED_OBJECT (0x0044)
MUST be an IndirectPropertyName. The storage representing the (non-simple) property set MUST have a stream element with this name.
VT_STORED_OBJECT (0x0045)
MUST be an IndirectPropertyName. The storage representing the (non-simple) property set MUST have a storage element with this name.
VT_BLOB_OBJECT (0x0046)
MUST be a BLOB.
VT_CF (0x0047)
MUST be a ClipboardData.
VT_CLSID (0x0048)
MUST be a GUID (Packet Version).
VT_VERSIONED_STREAM (0x0049)
MUST be a VersionedStream. The storage representing the (non-simple) property set MUST have a stream element with the name in the StreamName field.
VT_VECTOR | VT_I2 (0x1002)
MUST be a VectorHeader followed by a sequence of 16-bit signed integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_VECTOR | VT_I4 (0x1003)
MUST be a VectorHeader followed by a sequence of 32-bit signed integers.
VT_VECTOR | VT_R4 (0x1004)
MUST be a VectorHeader followed by a sequence of 4-byte (single-precision) IEEE floating-point numbers.
VT_VECTOR | VT_R8 (0x1005)
MUST be a VectorHeader followed by a sequence of 8-byte (double-precision) IEEE floating-point numbers.
VT_VECTOR | VT_CY (0x1006)
MUST be a VectorHeader followed by a sequence of CURRENCY (Packet Version) packets.
VT_VECTOR | VT_DATE (0x1007)
MUST be a VectorHeader followed by a sequence of DATE (Packet Version) packets.
VT_VECTOR | VT_BSTR (0x1008)
MUST be a VectorHeader followed by a sequence of CodePageString packets.
VT_VECTOR | VT_ERROR (0x100A)
MUST be a VectorHeader followed by a sequence of 32-bit unsigned integers representing HRESULTs, as specified in [MS-DTYP] section 2.2.18.
VT_VECTOR | VT_BOOL (0x100B)
MUST be a VectorHeader followed by a sequence of VARIANT_BOOL as specified in [MS-OAUT] section 2.2.27, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_VECTOR | VT_VARIANT (0x100C)
MUST be a VectorHeader followed by a sequence of TypedPropertyValue packets.
VT_VECTOR | VT_I1 (0x1010)
MUST be a VectorHeader followed by a sequence of 1-byte signed integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_VECTOR | VT_UI1 (0x1011)
MUST be a VectorHeader followed by a sequence of 1-byte unsigned integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_VECTOR | VT_UI2 (0x1012)
MUST be a VectorHeader followed by a sequence of 2-byte unsigned integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_VECTOR | VT_UI4 (0x1013)
MUST be a VectorHeader followed by a sequence of 4-byte unsigned integers.
VT_VECTOR | VT_I8 (0x1014)
MUST be a VectorHeader followed by a sequence of 8-byte signed integers.
VT_VECTOR | VT_UI8 (0x1015)
MUST be a VectorHeader followed by a sequence of 8-byte unsigned integers.
VT_VECTOR | VT_LPSTR (0x101E)
MUST be a VectorHeader followed by a sequence of CodePageString packets.
VT_VECTOR | VT_LPWSTR (0x101F)
MUST be a VectorHeader followed by a sequence of UnicodeString packets.
VT_VECTOR | VT_FILETIME (0x1040)
MUST be a VectorHeader followed by a sequence of FILETIME (Packet Version) packets.
VT_VECTOR | VT_CF (0x1047)
MUST be a VectorHeader followed by a sequence of ClipboardData packets.
VT_VECTOR | VT_CLSID (0x1048)
MUST be a VectorHeader followed by a sequence of GUID (Packet Version) packets.
VT_ARRAY | VT_I2 (0x2002)
MUST be an ArrayHeader followed by a sequence of 16-bit signed integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_ARRAY | VT_I4 (0x2003)
MUST be an ArrayHeader followed by a sequence of 32-bit signed integers.
VT_ARRAY | VT_R4 (0x2004)
MUST be an ArrayHeader followed by a sequence of 4-byte (single-precision) IEEE floating-point numbers.
VT_ARRAY | VT_R8 (0x2005)
MUST be an ArrayHeader followed by a sequence of 8-byte (double-precision) IEEE floating-point numbers.
VT_ARRAY | VT_CY (0x2006)
MUST be an ArrayHeader followed by a sequence of CURRENCY (Packet Version) packets.
VT_ARRAY | VT_DATE (0x2007)
MUST be an ArrayHeader followed by a sequence of DATE (Packet Version) packets.
VT_ARRAY | VT_BSTR (0x2008)
MUST be an ArrayHeader followed by a sequence of CodePageString packets.
VT_ARRAY | VT_ERROR (0x200A)
MUST be an ArrayHeader followed by a sequence of 32-bit unsigned integers representing HRESULTs, as specified in [MS-DTYP] section 2.2.18.
VT_ARRAY | VT_BOOL (0x200B)
MUST be an ArrayHeader followed by a sequence of VARIANT_BOOL as specified in [MS-OAUT] section 2.2.27, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_ARRAY | VT_VARIANT (0x200C)
MUST be an ArrayHeader followed by a sequence of TypedPropertyValue packets.
VT_ARRAY | VT_DECIMAL (0x200E)
MUST be an ArrayHeader followed by a sequence of DECIMAL (Packet Version) packets.
VT_ARRAY | VT_I1 (0x2010)
MUST be an ArrayHeader followed by a sequence of 1-byte signed integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_ARRAY | VT_UI1 (0x2011)
MUST be an ArrayHeader followed by a sequence of 1-byte unsigned integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_ARRAY | VT_UI2 (0x2012)
MUST be an ArrayHeader followed by a sequence of 2-byte unsigned integers, followed by zero padding to a total length that is a multiple of 4 bytes.
VT_ARRAY | VT_UI4 (0x2013)
MUST be an ArrayHeader followed by a sequence of 4-byte unsigned integers.
VT_ARRAY | VT_INT (0x2016)
MUST be an ArrayHeader followed by a sequence of 4-byte signed integers.
VT_ARRAY | VT_UINT (0x2017)
MUST be an ArrayHeader followed by a sequence of 4-byte unsigned integers.