7 #pragma GCC system_header
14 #ifdef NONAMELESSUNION
15 #define DEC_SIGN(d) ((d)->DUMMYUNIONNAME.DUMMYSTRUCTNAME.sign)
16 #define DEC_SCALE(d) ((d)->DUMMYUNIONNAME.DUMMYSTRUCTNAME.scale)
17 #define DEC_SIGNSCALE(d) ((d)->DUMMYUNIONNAME.signscale)
18 #define DEC_MID32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Mid32)
19 #define DEC_LO32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Lo32)
20 #define DEC_LO64(d) ((d)->DUMMYUNIONNAME2.Lo64)
22 #define DEC_SIGN(d) ((d)->sign)
23 #define DEC_SCALE(d) ((d)->scale)
24 #define DEC_SIGNSCALE(d) ((d)->signscale)
25 #define DEC_MID32(d) ((d)->Mid32)
26 #define DEC_LO32(d) ((d)->Lo32)
27 #define DEC_LO64(d) ((d)->Lo64)
29 #define DEC_HI32(d) ((d)->Hi32)
31 #define IID_NULL GUID_NULL
32 #define CLSID_NULL GUID_NULL
33 #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
34 #define DECIMAL_NEG ((BYTE)0x80)
35 #define DECIMAL_SETZERO(d) {DEC_LO64(&d)=DEC_HI32(&d)=DEC_SIGNSCALE(&d)=0;}
36 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
37 #define ROTFLAGS_ALLOWANYCLIENT 0x02
39 #ifndef __BLOB_T_DEFINED /* also in winsock2.h */
40 #define __BLOB_T_DEFINED
41 typedef struct _BLOB
{
44 } BLOB
,*PBLOB
,*LPBLOB
;
46 typedef enum tagDVASPECT
{
52 typedef enum tagDVASPECT2
{
54 DVASPECT_TRANSPARENT
=32
56 typedef enum tagSTATFLAG
{
60 typedef enum tagMEMCTX
{
68 typedef enum tagMSHCTX
{
71 MSHCTX_DIFFERENTMACHINE
,
75 typedef enum tagCLSCTX
{
76 CLSCTX_INPROC_SERVER
=1,CLSCTX_INPROC_HANDLER
=2,CLSCTX_LOCAL_SERVER
=4,
77 CLSCTX_INPROC_SERVER16
=8,CLSCTX_REMOTE_SERVER
=16
79 typedef enum tagMSHLFLAGS
{
80 MSHLFLAGS_NORMAL
,MSHLFLAGS_TABLESTRONG
,MSHLFLAGS_TABLEWEAK
82 typedef struct _FLAGGED_WORD_BLOB
{
85 unsigned short asData
[1];
89 typedef WCHAR OLECHAR
;
90 typedef LPWSTR LPOLESTR
;
91 typedef LPCWSTR LPCOLESTR
;
92 #define OLESTR(s) L##s
95 typedef LPSTR LPOLESTR
;
96 typedef LPCSTR LPCOLESTR
;
99 typedef unsigned short VARTYPE
;
100 typedef short VARIANT_BOOL
;
101 typedef VARIANT_BOOL _VARIANT_BOOL
;
102 #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
103 #define VARIANT_FALSE ((VARIANT_BOOL)0)
104 typedef OLECHAR
*BSTR
;
105 typedef FLAGGED_WORD_BLOB
*wireBSTR
;
106 typedef BSTR
*LPBSTR
;
108 typedef void *HCONTEXT
;
109 typedef union tagCY
{
110 _ANONYMOUS_STRUCT
struct {
117 typedef struct tagBSTRBLOB
{
121 typedef struct tagBSTRBLOB
*LPBSTRBLOB
;
122 typedef struct tagCLIPDATA
{
127 typedef enum tagSTGC
{
128 STGC_DEFAULT
,STGC_OVERWRITE
,STGC_ONLYIFCURRENT
,
129 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
131 typedef enum tagSTGMOVE
{
132 STGMOVE_MOVE
,STGMOVE_COPY
,STGMOVE_SHALLOWCOPY
135 VT_EMPTY
,VT_NULL
,VT_I2
,VT_I4
,VT_R4
,VT_R8
,VT_CY
,VT_DATE
,VT_BSTR
,VT_DISPATCH
,
136 VT_ERROR
,VT_BOOL
,VT_VARIANT
,VT_UNKNOWN
,VT_DECIMAL
,VT_I1
=16,VT_UI1
,VT_UI2
,VT_UI4
,VT_I8
,
137 VT_UI8
,VT_INT
,VT_UINT
,VT_VOID
,VT_HRESULT
,VT_PTR
,VT_SAFEARRAY
,VT_CARRAY
,VT_USERDEFINED
,
138 VT_LPSTR
,VT_LPWSTR
,VT_RECORD
=36,VT_INT_PTR
=37,VT_UINT_PTR
=38,VT_FILETIME
=64,VT_BLOB
,VT_STREAM
,VT_STORAGE
,VT_STREAMED_OBJECT
,
139 VT_STORED_OBJECT
,VT_BLOB_OBJECT
,VT_CF
,VT_CLSID
,VT_BSTR_BLOB
=0xfff,VT_VECTOR
=0x1000,
140 VT_ARRAY
=0x2000,VT_BYREF
=0x4000,VT_RESERVED
=0x8000,VT_ILLEGAL
= 0xffff,VT_ILLEGALMASKED
=0xfff,
144 typedef struct _BYTE_SIZEDARR
{
145 unsigned long clSize
;
148 typedef struct _SHORT_SIZEDARR
{
149 unsigned long clSize
;
150 unsigned short *pData
;
152 typedef struct _LONG_SIZEDARR
{
153 unsigned long clSize
;
154 unsigned long *pData
;
156 typedef struct _HYPER_SIZEDARR
{
157 unsigned long clSize
;
160 typedef double DOUBLE
;
161 typedef struct tagDEC
{
163 _ANONYMOUS_UNION
union {
164 _ANONYMOUS_STRUCT
struct {
171 _ANONYMOUS_UNION
union {
172 _ANONYMOUS_STRUCT
struct {
179 typedef void *HMETAFILEPICT
;