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 DECIMAL_NEG ((BYTE)0x80)
18 #define DECIMAL_SETZERO(d) {DEC_LO64(&d)=DEC_HI32(&d)=DEC_SIGNSCALE(&d)=0;}
19 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
20 #define ROTFLAGS_ALLOWANYCLIENT 0x02
22 #ifndef __BLOB_T_DEFINED /* also in winsock2.h */
23 #define __BLOB_T_DEFINED
24 typedef struct _BLOB
{
27 } BLOB
,*PBLOB
,*LPBLOB
;
29 typedef enum tagDVASPECT
{
35 typedef enum tagDVASPECT2
{
37 DVASPECT_TRANSPARENT
=32
39 typedef enum tagSTATFLAG
{
43 typedef enum tagMEMCTX
{
51 typedef enum tagMSHCTX
{
54 MSHCTX_DIFFERENTMACHINE
,
58 typedef enum tagCLSCTX
{
59 CLSCTX_INPROC_SERVER
=1,CLSCTX_INPROC_HANDLER
=2,CLSCTX_LOCAL_SERVER
=4,
60 CLSCTX_INPROC_SERVER16
=8,CLSCTX_REMOTE_SERVER
=16
62 typedef enum tagMSHLFLAGS
{
63 MSHLFLAGS_NORMAL
,MSHLFLAGS_TABLESTRONG
,MSHLFLAGS_TABLEWEAK
,MSHLFLAGS_NOPING
65 typedef struct _FLAGGED_WORD_BLOB
{
68 unsigned short asData
[1];
72 typedef WCHAR OLECHAR
;
73 typedef LPWSTR LPOLESTR
;
74 typedef LPCWSTR LPCOLESTR
;
75 #define OLESTR(s) L##s
78 typedef LPSTR LPOLESTR
;
79 typedef LPCSTR LPCOLESTR
;
82 typedef unsigned short VARTYPE
;
83 typedef short VARIANT_BOOL
;
84 typedef VARIANT_BOOL _VARIANT_BOOL
;
85 #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
86 #define VARIANT_FALSE ((VARIANT_BOOL)0)
87 typedef OLECHAR
*BSTR
;
88 typedef FLAGGED_WORD_BLOB
*wireBSTR
;
91 typedef void *HCONTEXT
;
92 #ifndef _tagCY_DEFINED
93 #define _tagCY_DEFINED
95 _ANONYMOUS_STRUCT
struct {
101 #endif /* _tagCY_DEFINED */
103 typedef struct tagBSTRBLOB
{
107 typedef struct tagBSTRBLOB
*LPBSTRBLOB
;
108 typedef struct tagCLIPDATA
{
113 typedef enum tagSTGC
{
114 STGC_DEFAULT
,STGC_OVERWRITE
,STGC_ONLYIFCURRENT
,
115 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
117 typedef enum tagSTGMOVE
{
118 STGMOVE_MOVE
,STGMOVE_COPY
,STGMOVE_SHALLOWCOPY
121 VT_EMPTY
,VT_NULL
,VT_I2
,VT_I4
,VT_R4
,VT_R8
,VT_CY
,VT_DATE
,VT_BSTR
,VT_DISPATCH
,
122 VT_ERROR
,VT_BOOL
,VT_VARIANT
,VT_UNKNOWN
,VT_DECIMAL
,VT_I1
=16,VT_UI1
,VT_UI2
,VT_UI4
,VT_I8
,
123 VT_UI8
,VT_INT
,VT_UINT
,VT_VOID
,VT_HRESULT
,VT_PTR
,VT_SAFEARRAY
,VT_CARRAY
,VT_USERDEFINED
,
124 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
,
125 VT_STORED_OBJECT
,VT_BLOB_OBJECT
,VT_CF
,VT_CLSID
,VT_BSTR_BLOB
=0xfff,VT_VECTOR
=0x1000,
126 VT_ARRAY
=0x2000,VT_BYREF
=0x4000,VT_RESERVED
=0x8000,VT_ILLEGAL
= 0xffff,VT_ILLEGALMASKED
=0xfff,
130 typedef struct _BYTE_SIZEDARR
{
131 unsigned long clSize
;
134 typedef struct _SHORT_SIZEDARR
{
135 unsigned long clSize
;
136 unsigned short *pData
;
138 typedef struct _LONG_SIZEDARR
{
139 unsigned long clSize
;
140 unsigned long *pData
;
142 typedef struct _HYPER_SIZEDARR
{
143 unsigned long clSize
;
146 typedef double DOUBLE
;
147 typedef struct tagDEC
{
165 typedef void *HMETAFILEPICT
;
166 typedef struct tagCSPLATFORM
{
170 DWORD dwProcessorArch
;
172 typedef struct tagQUERYCONTEXT
{
188 LPOLESTR pPackageName
;
198 #define WDT_INPROC_CALL (0x48746457)
200 #define WDT_REMOTE_CALL (0x52746457)
202 #define WDT_INPROC64_CALL (0x50746457)
204 typedef struct _userCLIPFORMAT
{
211 typedef userCLIPFORMAT
*wireCLIPFORMAT
;
212 typedef WORD CLIPFORMAT
;
214 typedef struct _RemotableHandle
{
221 typedef RemotableHandle
*wireHACCEL
;
222 typedef RemotableHandle
*wireHBRUSH
;
223 typedef RemotableHandle
*wireHDC
;
224 typedef RemotableHandle
*wireHFONT
;
225 typedef RemotableHandle
*wireHICON
;
226 typedef RemotableHandle
*wireHMENU
;
227 typedef RemotableHandle
*wireHWND
;
229 typedef struct _BYTE_BLOB
{
230 unsigned long clSize
;
233 typedef BYTE_BLOB
*UP_BYTE_BLOB
;
234 typedef struct _FLAGGED_BYTE_BLOB
{
235 unsigned long fFlags
;
236 unsigned long clSize
;
239 typedef FLAGGED_BYTE_BLOB
*UP_FLAGGED_BYTE_BLOB
;
241 typedef struct _userHENHMETAFILE
{
249 typedef userHENHMETAFILE
*wireHENHMETAFILE
;
250 typedef struct tagRemHMETAFILEPICT
{
254 unsigned long cbData
;
257 typedef struct _userHMETAFILE
{
265 typedef userHMETAFILE
*wireHMETAFILE
;
266 typedef struct _remoteMETAFILEPICT
{
271 } remoteMETAFILEPICT
;
272 typedef struct _userHMETAFILEPICT
{
276 remoteMETAFILEPICT
*hRemote
;
280 typedef userHMETAFILEPICT
*wireHMETAFILEPICT
;
281 typedef struct _userBITMAP
{
291 typedef struct _userHBITMAP
{
299 typedef userHBITMAP
*wireHBITMAP
;
300 typedef struct tagrpcLOGPALETTE
{
303 PALETTEENTRY palPalEntry
[1];
305 typedef struct _userHPALETTE
{
309 rpcLOGPALETTE
*hRemote
;
313 typedef userHPALETTE
*wireHPALETTE
;
314 typedef struct _userHGLOBAL
{
318 FLAGGED_BYTE_BLOB
*hRemote
;
322 typedef userHGLOBAL
*wireHGLOBAL
;