30#define V_TYPE(v) (V_VT((v)) & VT_TYPEMASK)
33#define VT_EXTRA_TYPE (VT_VECTOR|VT_ARRAY|VT_BYREF|VT_RESERVED)
36#define V_EXTRA_TYPE(v) (V_VT((v)) & VT_EXTRA_TYPE)
39#define VTBIT_BOOL (1 << VT_BSTR)
40#define VTBIT_BSTR (1 << VT_BSTR)
41#define VTBIT_DATE (1 << VT_DATE)
42#define VTBIT_DISPATCH (1 << VT_DISPATCH)
43#define VTBIT_EMPTY (1 << VT_EMPTY)
44#define VTBIT_ERROR (1 << VT_ERROR)
45#define VTBIT_INT (1 << VT_INT)
46#define VTBIT_NULL (1 << VT_NULL)
47#define VTBIT_UINT (1 << VT_UINT)
48#define VTBIT_UNKNOWN (1 << VT_UNKNOWN)
49#define VTBIT_VARIANT (1 << VT_VARIANT)
50#define VTBIT_15 (1 << 15)
54#define I1_MIN ((-I1_MAX)-1)
58#define I2_MIN ((-I2_MAX)-1)
61#define I4_MAX 0x7fffffff
62#define I4_MIN ((-I4_MAX)-1)
63#define UI4_MAX 0xffffffff
65#define I8_MAX (((LONGLONG)I4_MAX << 32) | UI4_MAX)
66#define I8_MIN ((-I8_MAX)-1)
67#define UI8_MAX (((ULONGLONG)UI4_MAX << 32) | UI4_MAX)
69#define DATE_MAX 2958465
70#define DATE_MIN -657434
71#define R4_MAX 3.402823567797336e38
72#define R4_MIN 1.40129846432481707e-45
73#define R8_MAX 1.79769313486231470e+308
74#define R8_MIN 4.94065645841246544e-324
85#define SIGNSCALE(sign,scale) (((scale) << 8) | sign)
87#define SIGNSCALE(sign,scale) (((sign) << 8) | scale)
91#define DEC_SIGN(d) ((d)->u.s.sign)
92#define DEC_SCALE(d) ((d)->u.s.scale)
93#define DEC_SIGNSCALE(d) ((d)->u.signscale)
94#define DEC_HI32(d) ((d)->Hi32)
95#define DEC_MID32(d) ((d)->u1.s1.Mid32)
96#define DEC_LO32(d) ((d)->u1.s1.Lo32)
97#define DEC_LO64(d) ((d)->u1.Lo64)
99#define DEC_MAX_SCALE 28
102#define VAR_BOOLONOFF 0x0400
103#define VAR_BOOLYESNO 0x0800
104#define VAR_NEGATIVE 0x1000
WCHAR cCurrencyDigitSeparator
WCHAR cCurrencyDecimalPoint
HRESULT VARIANT_ClearInd(VARIANTARG *) DECLSPEC_HIDDEN
BOOL get_date_format(LCID, DWORD, const SYSTEMTIME *, const WCHAR *, WCHAR *, int) DECLSPEC_HIDDEN
struct tagVARIANT_NUMBER_CHARS VARIANT_NUMBER_CHARS
unsigned int get_type_size(ULONG *, VARTYPE) DECLSPEC_HIDDEN