2.14.1 Property Types in Variable-Typed Vectors and Arrays

The property types VT_VECTOR | VT_VARIANT (0x100C) and VT_ARRAY | VT_VARIANT (0x200C) are variable-typed sequences in which each scalar value has its own type. The types of the individual scalar values in such a property MUST be taken from the following subset of the PropertyType enumeration values.

 Value

 Allowed in VT_VECTOR | VT_VARIANT property?

 Allowed in VT_ARRAY | VT_VARIANT property?

VT_I2 (0x0002)

Yes

Yes

VT_I4 (0x0003)

Yes

Yes

VT_R4 (0x0004)

Yes

Yes

VT_R8 (0x0005)

Yes

Yes

VT_CY (0x0006)

Yes

Yes

VT_DATE (0x0007)

Yes

Yes

VT_BSTR (0x0008)

Yes

Yes

VT_ERROR (0x000A)

Yes

Yes

VT_BOOL (0x000B)

Yes

Yes

VT_DECIMAL (0x000E)

No

Yes

VT_I1 (0x0010)

Yes

Yes

VT_UI1 (0x0011)

Yes

Yes

VT_UI2 (0x0012)

Yes

Yes

VT_UI4 (0x0013)

Yes

Yes

VT_I8 (0x0014)

Yes

No

VT_UI8 (0x0015)

Yes

No

VT_INT (0x0016)

No

Yes

VT_UINT (0x0017)

No

Yes

VT_LPSTR (0x001E)

Yes

No

VT_LPWSTR (0x001F)

Yes

No

VT_FILETIME (0x0040)

Yes

No

VT_CF (0x0047)

Yes

No

VT_CLSID (0x0048)

Yes

No