Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
| Requirement | Value |
|---|---|
| Header | wtypes.h |