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. |