2.2 PropertyType

The PropertyType enumeration represents the type of a property in a property set. The set of types supported depends on the version of the property set, which is indicated by the Version field of the PropertySetStream packet. In addition, the property types not supported in simple property sets are specified as such. PropertyType is an enumeration, which MUST be one of the following values:

This type is declared as follows:

 typedef unsigned int PropertyType;

Value

Meaning

VT_EMPTY

0x0000

Type is undefined, and the minimum property set version is 0.

VT_NULL

0x0001

Type is null, and the minimum property set version is 0.

VT_I2

0x0002

Type is 16-bit signed integer, and the minimum property set version is 0.

VT_I4

0x0003

Type is 32-bit signed integer, and the minimum property set version is 0.

VT_R4

0x0004

Type is 4-byte (single-precision) IEEE floating-point number, and the minimum property set version is 0.

VT_R8

0x0005

Type is 8-byte (double-precision) IEEE floating-point number, and the minimum property set version is 0.

VT_CY

0x0006

Type is CURRENCY, and the minimum property set version is 0.

VT_DATE

0x0007

Type is DATE, and the minimum property set version is 0.

VT_BSTR

0x0008

Type is CodePageString, and the minimum property set version is 0.

VT_ERROR

0x000A

Type is HRESULT, and the minimum property set version is 0.

VT_BOOL

0x000B

Type is VARIANT_BOOL, and the minimum property set version is 0.

VT_DECIMAL

0x000E

Type is DECIMAL, and the minimum property set version is 0.

VT_I1

0x0010

Type is 1-byte signed integer, and the minimum property set version is 1.

VT_UI1

0x0011

Type is 1-byte unsigned integer, and the minimum property set version is 0.

VT_UI2

0x0012

Type is 2-byte unsigned integer, and the minimum property set version is 0.

VT_UI4

0x0013

Type is 4-byte unsigned integer, and the minimum property set version is 0.

VT_I8

0x0014

Type is 8-byte signed integer, and the minimum property set version is 0.

VT_UI8

0x0015

Type is 8-byte unsigned integer, and the minimum property set version is 0.

VT_INT

0x0016

Type is 4-byte signed integer, and the minimum property set version is 1.

VT_UINT

0x0017

Type is 4-byte unsigned integer, and the minimum property set version is 1.

VT_LPSTR

0x001E

Type is CodePageString, and the minimum property set version is 0.

VT_LPWSTR

0x001F

Type is UnicodeString, and the minimum property set version is 0.

VT_FILETIME

0x0040

Type is FILETIME, and the minimum property set version is 0.

VT_BLOB

0x0041

Type is binary large object (BLOB), and the minimum property set version is 0.

VT_STREAM

0x0042

Type is Stream, and the minimum property set version is 0. VT_STREAM is not allowed in a simple property set.

VT_STORAGE

0x0043

Type is Storage, and the minimum property set version is 0. VT_STORAGE is not allowed in a simple property set.

VT_STREAMED_Object

0x0044

Type is Stream representing an Object in an application-specific manner, and the minimum property set version is 0. VT_STREAMED_Object is not allowed in a simple property set.

VT_STORED_Object

0x0045

Type is Storage representing an Object in an application-specific manner, and the minimum property set version is 0. VT_STORED_Object is not allowed in a simple property set.

VT_BLOB_Object

0x0046

Type is BLOB representing an object in an application-specific manner. The minimum property set version is 0.

VT_CF

0x0047

Type is PropertyIdentifier, and the minimum property set version is 0.

VT_CLSID

0x0048

Type is CLSID, and the minimum property set version is 0.

VT_VERSIONED_STREAM

0x0049

Type is Stream with application-specific version GUID (VersionedStream). The minimum property set version is 0. VT_VERSIONED_STREAM is not allowed in a simple property set.

VT_VECTOR | VT_I2

0x1002

Type is Vector of 16-bit signed integers, and the minimum property set version is 0.

VT_VECTOR | VT_I4

0x1003

Type is Vector of 32-bit signed integers, and the minimum property set version is 0.

VT_VECTOR | VT_R4

0x1004

Type is Vector of 4-byte (single-precision) IEEE floating-point numbers, and the minimum property set version is 0.

VT_VECTOR | VT_R8

0x1005

Type is Vector of 8-byte (double-precision) IEEE floating-point numbers, and the minimum property set version is 0.

VT_VECTOR | VT_CY

0x1006

Type is Vector of CURRENCY, and the minimum property set version is 0.

VT_VECTOR | VT_DATE

0x1007

Type is Vector of DATE, and the minimum property set version is 0.

VT_VECTOR | VT_BSTR

0x1008

Type is Vector of CodePageString, and the minimum property set version is 0.

VT_VECTOR | VT_ERROR

0x100A

Type is Vector of HRESULT, and the minimum property set version is 0.

VT_VECTOR | VT_BOOL

0x100B

Type is Vector of VARIANT_BOOL, and the minimum property set version is 0.

VT_VECTOR | VT_VARIANT

0x100C

Type is Vector of variable-typed properties, and the minimum property set version is 0.

VT_VECTOR | VT_I1

0x1010

Type is Vector of 1-byte signed integers and the minimum property set version is 1.

VT_VECTOR | VT_UI1

0x1011

Type is Vector of 1-byte unsigned integers, and the minimum property set version is 0.

VT_VECTOR | VT_UI2

0x1012

Type is Vector of 2-byte unsigned integers, and the minimum property set version is 0.

VT_VECTOR | VT_UI4

0x1013

Type is Vector of 4-byte unsigned integers, and the minimum property set version is 0.

VT_VECTOR | VT_I8

0x1014

Type is Vector of 8-byte signed integers, and the minimum property set version is 0.

VT_VECTOR | VT_UI8

0x1015

Type is Vector of 8-byte unsigned integers and the minimum property set version is 0.

VT_VECTOR | VT_LPSTR

0x101E

Type is Vector of CodePageString, and the minimum property set version is 0.

VT_VECTOR | VT_LPWSTR

0x101F

Type is Vector of UnicodeString, and the minimum property set version is 0.

VT_VECTOR | VT_FILETIME

0x1040

Type is Vector of FILETIME, and the minimum property set version is 0.

VT_VECTOR | VT_CF

0x1047

Type is Vector of PropertyIdentifier, and the minimum property set version is 0.

VT_VECTOR | VT_CLSID

0x1048

Type is Vector of CLSID, and the minimum property set version is 0.

VT_ARRAY | VT_I2

0x2002

Type is Array of 16-bit signed integers, and the minimum property set version is 1.

VT_ARRAY | VT_I4

0x2003

Type is Array of 32-bit signed integers, and the minimum property set version is 1.

VT_ARRAY | VT_R4

0x2004

Type is Array of 4-byte (single-precision) IEEE floating-point numbers, and the minimum property set version is 1.

VT_ARRAY | VT_R8

0x2005

Type is IEEE floating-point numbers, and the minimum property set version is 1.

VT_ARRAY | VT_CY

0x2006

Type is Array of CURRENCY, and the minimum property set version is 1.

VT_ARRAY | VT_DATE

0x2007

Type is Array of DATE, and the minimum property set version is 1.

VT_ARRAY | VT_BSTR

0x2008

Type is Array of CodePageString, and the minimum property set version is 1.

VT_ARRAY | VT_ERROR

0x200A

Type is Array of HRESULT, and the minimum property set version is 1.

VT_ARRAY | VT_BOOL

0x200B

Type is Array of VARIANT_BOOL, and the minimum property set version is 1.

VT_ARRAY | VT_VARIANT

0x200C

Type is Array of variable-typed properties, and the minimum property set version is 1.

VT_ARRAY | VT_DECIMAL

0x200E

Type is Array of DECIMAL, and the minimum property set version is 1.

VT_ARRAY | VT_I1

0x2010

Type is Array of 1-byte signed integers, and the minimum property set version is 1.

VT_ARRAY | VT_UI1

0x2011

Type is Array of 1-byte unsigned integers, and the minimum property set version is 1.

VT_ARRAY | VT_UI2

0x2012

Type is Array of 2-byte unsigned integers, and the minimum property set version is 1.

VT_ARRAY | VT_UI4

0x2013

Type is Array of 4-byte unsigned integers, and the minimum property set version is 1.

VT_ARRAY | VT_INT

0x2016

Type is Array of 4-byte signed integers, and the minimum property set version is 1.

VT_ARRAY | VT_UINT

0x2017

Type is Array of 4-byte unsigned integers, and the minimum property set version is 1.