VARENUM enumeration (wtypes.h)
Specifies the variant types.
Syntax
typedef enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_INT_PTR = 37,
VT_UINT_PTR = 38,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_VERSIONED_STREAM = 73,
VT_BSTR_BLOB = 0xfff,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
} ;
Constants
VT_EMPTYValue: 0 Not specified. |
VT_NULLValue: 1 Null. |
VT_I2Value: 2 A 2-byte integer. |
VT_I4Value: 3 A 4-byte integer. |
VT_R4Value: 4 A 4-byte real. |
VT_R8Value: 5 An 8-byte real. |
VT_CYValue: 6 Currency. |
VT_DATEValue: 7 A date. |
VT_BSTRValue: 8 A string. |
VT_DISPATCHValue: 9 An IDispatch pointer. |
VT_ERRORValue: 10 An SCODE value. |
VT_BOOLValue: 11 A Boolean value. True is -1 and false is 0. |
VT_VARIANTValue: 12 A variant pointer. |
VT_UNKNOWNValue: 13 An IUnknown pointer. |
VT_DECIMALValue: 14 A 16-byte fixed-pointer value. |
VT_I1Value: 16 A character. |
VT_UI1Value: 17 An unsigned character. |
VT_UI2Value: 18 An unsigned short. |
VT_UI4Value: 19 An unsigned long. |
VT_I8Value: 20 A 64-bit integer. |
VT_UI8Value: 21 A 64-bit unsigned integer. |
VT_INTValue: 22 An integer. |
VT_UINTValue: 23 An unsigned integer. |
VT_VOIDValue: 24 A C-style void. |
VT_HRESULTValue: 25 An HRESULT value. |
VT_PTRValue: 26 A pointer type. |
VT_SAFEARRAYValue: 27 A safe array. Use VT_ARRAY in VARIANT. |
VT_CARRAYValue: 28 A C-style array. |
VT_USERDEFINEDValue: 29 A user-defined type. |
VT_LPSTRValue: 30 A null-terminated string. |
VT_LPWSTRValue: 31 A wide null-terminated string. |
VT_RECORDValue: 36 A user-defined type. |
VT_INT_PTRValue: 37 A signed machine register size width. |
VT_UINT_PTRValue: 38 An unsigned machine register size width. |
VT_FILETIMEValue: 64 A FILETIME value. |
VT_BLOBValue: 65 Length-prefixed bytes. |
VT_STREAMValue: 66 The name of the stream follows. |
VT_STORAGEValue: 67 The name of the storage follows. |
VT_STREAMED_OBJECTValue: 68 The stream contains an object. |
VT_STORED_OBJECTValue: 69 The storage contains an object. |
VT_BLOB_OBJECTValue: 70 The blob contains an object. |
VT_CFValue: 71 A clipboard format. |
VT_CLSIDValue: 72 A class ID. |
VT_VERSIONED_STREAMValue: 73 A stream with a GUID version. |
VT_BSTR_BLOBValue: 0xfff Reserved. |
VT_VECTORValue: 0x1000 A simple counted array. |
VT_ARRAYValue: 0x2000 A SAFEARRAY pointer. |
VT_BYREFValue: 0x4000 A void pointer for local use. |
VT_RESERVEDValue: 0x8000 |
VT_ILLEGALValue: 0xffff |
VT_ILLEGALMASKEDValue: 0xfff |
VT_TYPEMASKValue: 0xfff |
Remarks
The following table shows where these values can be used.
| Value | VARIANT | TYPEDESC | Property set | Safe array |
|---|---|---|---|---|
| VT_ARRAY | X | |||
| VT_BLOB | X | |||
| VT_BLOB_OBJECT | X | |||
| VT_BOOL | X | X | X | X |
| VT_BSTR | X | X | X | X |
| VT_BSTR_BLOB | ||||
| VT_BYREF | X | |||
| VT_CARRAY | X | |||
| VT_CF | X | |||
| VT_CLSID | X | |||
| VT_CY | X | X | X | X |
| VT_DATE | X | X | X | X |
| VT_DECIMAL | X | X | X | |
| VT_DISPATCH | X | X | X | |
| VT_EMPTY | X | X | ||
| VT_ERROR | X | X | X | X |
| VT_FILETIME | X | |||
| VT_HRESULT | X | |||
| VT_I1 | X | X | X | X |
| VT_I2 | X | X | X | X |
| VT_I4 | X | X | X | X |
| VT_I8 | X | X | ||
| VT_INT | X | X | X | X |
| VT_INT_PTR | X | |||
| VT_LPSTR | X | X | ||
| VT_LPWSTR | X | X | ||
| VT_NULL | X | X | ||
| VT_PTR | X | |||
| VT_R4 | X | X | X | X |
| VT_R8 | X | X | X | X |
| VT_RECORD | X | X | X | |
| VT_SAFEARRAY | X | |||
| VT_STORAGE | X | |||
| VT_STORED_OBJECT | X | |||
| VT_STREAM | X | |||
| VT_STREAMED_OBJECT | X | |||
| VT_UI1 | X | X | X | X |
| VT_UI2 | X | X | X | X |
| VT_UI4 | X | X | X | X |
| VT_UI8 | X | X | ||
| VT_UINT | X | X | X | |
| VT_UINT_PTR | X | |||
| VT_UNKNOWN | X | X | X | |
| VT_USERDEFINED | X | |||
| VT_VARIANT | X | X | X | X |
| VT_VECTOR | X | |||
| VT_VERSIONED_STREAM | X | |||
| VT_VOID | X |
VT_BSTR_BLOB is reserved for system use.
Requirements
| Header | wtypes.h |