| Member name | Value | Description |
---|
| VT_EMPTY | 0 |
A property with a type indicator of VT_EMPTY has no data associated with it; that is, the size of the value is zero.
|
| VT_NULL | 1 |
This is like a pointer to NULL.
|
| VT_I2 | 2 |
Two bytes representing a 2-byte signed integer value.
|
| VT_I4 | 3 |
4-byte signed integer value.
|
| VT_R4 | 4 |
32-bit IEEE floating point value.
|
| VT_R8 | 5 |
64-bit IEEE floating point value.
|
| VT_CY | 6 |
8-byte two's complement integer (scaled by 10,000). This type is commonly used for currency amounts.
|
| VT_DATE | 7 |
A 64-bit floating point number representing the number of days (not seconds) since December 31, 1899. For example, January 1, 1900, is 2.0, January 2, 1900, is 3.0, and so on). This is stored in the same representation as VT_R8.
|
| VT_BSTR | 8 |
Pointer to a null-terminated Unicode string. The string is immediately preceded by a DWORD representing the byte count.
|
| VT_DISPATCH | 9 |
An IDispatch pointer.
|
| VT_ERROR | 10 |
A 32-bit unsigned integer that contains a status code.
|
| VT_BOOL | 11 |
Boolean value, a 16-bit integer that contains 0 (FALSE) or -1 (TRUE).
|
| VT_VARIANT | 12 |
A variant pointer.
|
| VT_UNKNOWN | 13 |
An IUnknown pointer.
|
| VT_DECIMAL | 14 |
A 16-bytes DECIMAL structure.
|
| VT_I1 | 16 |
1-byte signed integer.
|
| VT_UI1 | 17 |
1-byte unsigned integer.
|
| VT_UI2 | 18 |
2-byte unsigned integer.
|
| VT_UI4 | 19 |
4-byte unsigned integer.
|
| VT_I8 | 20 |
8-byte signed integer.
|
| VT_UI8 | 21 |
8-byte unsigned integer.
|
| VT_INT | 22 |
4-byte signed integer value (equivalent to VT_I4).
|
| VT_UINT | 23 |
4-byte unsigned integer (equivalent to VT_UI4).
|
| VT_VOID | 24 |
A C-style void.
|
| VT_HRESULT | 25 |
An HRESULT value.
|
| VT_PTR | 26 |
A pointer type.
|
| VT_SAFEARRAY | 27 |
A safe array. Use VT_ARRAY in VARIANT.
|
| VT_CARRAY | 28 |
A C-style array.
|
| VT_USERDEFINED | 29 |
A user-defined type.
|
| VT_LPSTR | 30 |
A pointer to a null-terminated ANSI string in the system default code page.
|
| VT_LPWSTR | 31 |
A pointer to a null-terminated Unicode string in the user default locale.
|
| VT_RECORD | 36 |
A user-defined type.
|
| VT_INT_PTR | 37 |
A signed machine register size width.
|
| VT_UINT_PTR | 38 |
An unsigned machine register size width.
|
| VT_FILETIME | 64 |
64-bit FILETIME structure as defined by Windows. It is recommended that all times be stored in Universal Coordinate Time (UTC).
|
| VT_BLOB | 65 |
32-bit integer count of bytes, followed by that many bytes of data. The byte count does not include the four bytes for the length of the count itself; an empty blob member would have a count of zero, followed by zero bytes. This is similar to the value VT_BSTR, but does not guarantee a null byte at the end of the data.
|
| VT_STREAM | 66 |
A pointer to an IStream interface that represents a stream which is a sibling to the "Contents" stream.
|
| VT_STORAGE | 67 |
A pointer to an IStorage interface, representing a storage object that is a sibling to the "Contents" stream.
|
| VT_STREAMED_OBJECT | 68 |
As in VT_STREAM, but indicates that the stream contains a serialized object, which is a CLSID followed by initialization data for the class. The stream is a sibling to the "Contents" stream that contains the property set.
|
| VT_STORED_OBJECT | 69 |
As in VT_STORAGE, but indicates that the designated IStorage contains a loadable object.
|
| VT_BLOB_OBJECT | 70 |
A blob member that contains a serialized object in the same representation that would appear in VT_STREAMED_OBJECT.
That is, a 32-bit integer byte count (where the byte count does not include the size of itself) which is in the format of a class identifier followed by initialization data for that class.
The only significant difference between VT_BLOB_OBJECT and VT_STREAMED_OBJECT is that the former does not have the system-level storage overhead that the latter would have, and is therefore more suitable for scenarios involving numbers of small objects.
|
| VT_CF | 71 |
Pointer to a CLIPDATA structure.
|
| VT_CLSID | 72 |
Pointer to a class identifier (CLSID) (or other globally unique identifier (GUID)).
|
| VT_VERSIONED_STREAM | 73 |
A stream with a GUID version.
|
| VT_BSTR_BLOB | 4095 |
For system use only.
|
| VT_VECTOR | 4096 |
If the type indicator is combined with VT_VECTOR by using an OR operator, the value is one of the counted array values.
|
| VT_ARRAY | 8192 |
If the type indicator is combined with VT_ARRAY by an OR operator, the value is a pointer to a SAFEARRAY.
|
| VT_BYREF | 16384 |
If the type indicator is combined with VT_BYREF by an OR operator, the value is a reference
|