2.2.12 PROPVARIANT Type Constants

The following values are used in the discriminant field, vt, of the PROPVARIANT (section 2.2.13) type.

The PROPVARIANT (section 2.2.13) type constants are defined in the VARENUM enumeration, as follows:

 typedef enum 
 {
     VT_EMPTY           = 0,
     VT_NULL            = 1,
     VT_I2              = 2,
     VT_I4              = 3,
     VT_BOOL            = 11,
     VT_VARIANT         = 12,
     VT_I1              = 16,
     VT_UI1             = 17,
     VT_UI2             = 18,
     VT_UI4             = 19,
     VT_I8              = 20,
     VT_UI8             = 21,
     VT_LPWSTR          = 31,
     VT_BLOB            = 65,
     VT_CLSID           = 72,
  
     VT_VECTOR          = 0x1000,
 } VARENUM;

VT_EMPTY:  (0x0000): The type of the contained field is undefined. When this flag is specified, the PROPVARIANT (section 2.2.13) MUST NOT contain a data field.

VT_NULL:  (0x0001): The type of the contained field is NULL. When this flag is specified, the PROPVARIANT (section 2.2.13) MUST NOT contain a data field.

VT_I2:  (0x0002): The type of the contained field MUST be a 2-byte signed integer.

VT_I4:  (0x0003): The type of the contained field MUST be a 4-byte signed integer.

VT_BOOL:  (0x000B): The type of the contained field MUST be VARIANT_BOOL (section 2.2.14).

VT_VARIANT:  (0x000C): The type of the contained field MUST be CAPROPVARIANT (section 2.2.16.8). It MUST appear with the bit flag VT_VECTOR.

VT_I1:  (0x0010): The type of the contained field MUST be a 1-byte integer.

VT_UI1:  (0x0011): The type of the contained field MUST be a 1-byte unsigned integer.

VT_UI2:  (0x0012): The type of the contained field MUST be a 2-byte unsigned integer.

VT_UI4:  (0x0013): The type of the contained field MUST be a 4-byte unsigned integer.

VT_I8:  (0x0014): The type of the contained field MUST be an 8-byte signed integer.

VT_UI8:  (0x0015): The type of the contained field MUST be an 8-byte unsigned integer.

VT_LPWSTR:  (0x001F): The type of the contained field MUST be an LPWSTR (as specified in [MS-DTYP] section 2.2.36), a null-terminated Unicode string.

VT_BLOB:  (0x0041): The type of the contained field MUST be a binary large object (BLOB) (section 2.2.15).

VT_CLSID:  (0x0048): The type of the contained field MUST be a pointer to a GUID (as specified in [MS-DTYP] section 2.3.4) value.

VT_VECTOR:   (0x1000): The type of the contained field MUST be combined with other values by using the bitwise OR operation to indicate a counted field. The type of the contained field MUST be a COUNTEDARRAY (section 2.2.16).