1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
const_bitflag! { VT: u16;
/// [`VARENUM`](https://learn.microsoft.com/en-us/windows/win32/api/wtypes/ne-wtypes-varenum)
/// enumeration (`u16`).
=>
=>
/// Nothing.
EMPTY 0
/// SQL style NULL.
NULL 1
/// 2 byte signed int.
I2 2
/// 4 byte signed int.
I4 3
/// 4 byte real.
R4 4
/// 8 byte real.
R8 5
/// Currency.
CY 6
/// Date.
DATE 7
/// OLE Automation string.
BSTR 8
/// [`IDispatch`](crate::IDispatch) pointer.
DISPATCH 9
/// SCODE.
ERROR 10
/// True = -1, False = 0.
BOOL 11
/// VARIANT pointer.
VARIANT 12
/// [`IUnknown`](crate::IUnknown) pointer.
UNKNOWN 13
/// 16 byte fixed point.
DECIMAL 14
/// Signed char.
I1 16
/// Unsigned char.
UI1 17
/// Unsigned short.
UI2 18
/// ULONG.
UI4 19
/// Signed 64-bit int.
I8 20
/// Unsigned 64-bit int.
UI8 21
/// Signed machine int.
INT 22
/// Unsigned machine int.
UINT 23
/// C style void.
VOID 24
/// Standard return type.
HRESULT 25
/// Pointer type.
PTR 26
/// Use `VT::ARRAY` in `VARIANT`.
SAFEARRAY 27
/// C style array.
CARRAY 28
/// User defined type.
USERDEFINED 29
/// Null terminated string.
LPSTR 30
/// Wide null terminated string.
LPWSTR 31
/// User defined type.
RECORD 36
/// Signed machine register size width.
INT_PTR 37
/// Unsigned machine register size width.
UINT_PTR 38
/// [`FILETIME`](crate::FILETIME).
FILETIME 64
/// Length of prefixed bytes.
BLOB 65
/// Name of the stream follows.
STREAM 66
/// Name of the storage follows.
STORAGE 67
/// Stream contains an object.
STREAMED_OBJECT 68
/// Storage contains an object.
STORED_OBJECT 69
/// Blob contains an object.
BLOB_OBJECT 70
/// Clipboard format.
CF 71
/// A class ID.
CLSID 72
/// Stream with a GUID version.
VERSIONED_STREAM 73
/// Reserved for system use.
BSTR_BLOB 0xfff
/// Simple counted array.
VECTOR 0x1000
/// SAFEARRAY pointer.
ARRAY 0x2000
/// Void pointer for local use.
BYREF 0x4000
RESERVED 0x8000
ILLEGAL 0xffff
ILLEGALMASKED 0xfff
TYPEMASK 0xfff
}