7 #pragma GCC system_header
14 #define IID_NULL GUID_NULL
15 #define CLSID_NULL GUID_NULL
16 #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
17 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
18 #define ROTFLAGS_ALLOWANYCLIENT 0x02
20 #ifndef __BLOB_T_DEFINED /* also in winsock2.h */
21 #define __BLOB_T_DEFINED
22 typedef struct _BLOB {
25 } BLOB,*PBLOB,*LPBLOB;
27 typedef enum tagDVASPECT {
33 typedef enum tagDVASPECT2 {
35 DVASPECT_TRANSPARENT=32
37 typedef enum tagSTATFLAG {
41 typedef enum tagMEMCTX {
49 typedef enum tagMSHCTX {
52 MSHCTX_DIFFERENTMACHINE,
56 typedef enum tagCLSCTX {
57 CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4,
58 CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16
60 typedef enum tagMSHLFLAGS {
61 MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
63 typedef struct _FLAGGED_WORD_BLOB {
66 unsigned short asData[1];
70 typedef WCHAR OLECHAR;
71 typedef LPWSTR LPOLESTR;
72 typedef LPCWSTR LPCOLESTR;
73 #define OLESTR(s) L##s
76 typedef LPSTR LPOLESTR;
77 typedef LPCSTR LPCOLESTR;
80 typedef unsigned short VARTYPE;
81 typedef short VARIANT_BOOL;
82 typedef VARIANT_BOOL _VARIANT_BOOL;
83 #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
84 #define VARIANT_FALSE ((VARIANT_BOOL)0)
85 typedef OLECHAR *BSTR;
86 typedef FLAGGED_WORD_BLOB *wireBSTR;
89 typedef void *HCONTEXT;
91 _ANONYMOUS_STRUCT struct {
98 typedef struct tagBSTRBLOB {
102 typedef struct tagBSTRBLOB *LPBSTRBLOB;
103 typedef struct tagCLIPDATA {
108 typedef enum tagSTGC {
109 STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT,
110 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
112 typedef enum tagSTGMOVE {
113 STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY
116 VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH,
117 VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8,
118 VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED,
119 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,
120 VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000,
121 VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff,
125 typedef struct _BYTE_SIZEDARR {
126 unsigned long clSize;
129 typedef struct _SHORT_SIZEDARR {
130 unsigned long clSize;
131 unsigned short *pData;
133 typedef struct _LONG_SIZEDARR {
134 unsigned long clSize;
135 unsigned long *pData;
137 typedef struct _HYPER_SIZEDARR {
138 unsigned long clSize;
141 typedef double DOUBLE;
142 typedef struct tagDEC {
144 _ANONYMOUS_UNION union {
145 _ANONYMOUS_STRUCT struct {
152 _ANONYMOUS_UNION union {
153 _ANONYMOUS_STRUCT struct {
160 typedef DECIMAL *LPDECIMAL;
161 #define DECIMAL_NEG ((BYTE)0x80)
162 #ifdef NONAMELESSUNION
163 #define DECIMAL_SETZERO(d) {(d).DUMMYUNIONNAME2.Lo64=(d).Hi32=(d).DUMMYUNIONNAME.signscale=0;}
165 #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
167 typedef void *HMETAFILEPICT;