9 #define IID_NULL GUID_NULL
10 #define CLSID_NULL GUID_NULL
11 #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
12 #define DECIMAL_NEG ((BYTE)0x80)
13 #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
14 #ifndef __BLOB_T_DEFINED /* also in winsock2.h */
15 #define __BLOB_T_DEFINED
16 typedef struct _BLOB
{
19 } BLOB
,*PBLOB
,*LPBLOB
;
21 typedef enum tagDVASPECT
{
27 typedef enum tagDVASPECT2
{
29 DVASPECT_TRANSPARENT
=32
31 typedef enum tagSTATFLAG
{
35 typedef enum tagMEMCTX
{
42 typedef enum tagMSHCTX
{
45 MSHCTX_DIFFERENTMACHINE
,
50 CLSCTX_INPROC_SERVER
=1,CLSCTX_INPROC_HANDLER
=2,CLSCTX_LOCAL_SERVER
=4,
51 CLSCTX_INPROC_SERVER16
=8,CLSCTX_REMOTE_SERVER
=16
53 typedef enum tagMSHLFLAGS
{
54 MSHLFLAGS_NORMAL
,MSHLFLAGS_TABLESTRONG
,MSHLFLAGS_TABLEWEAK
56 typedef struct _FLAGGED_WORD_BLOB
{
59 unsigned short asData
[1];
63 typedef WCHAR OLECHAR
;
64 typedef LPWSTR LPOLESTR
;
65 typedef LPCWSTR LPCOLESTR
;
66 #define OLESTR(s) L##s
69 typedef LPSTR LPOLESTR
;
70 typedef LPCSTR LPCOLESTR
;
73 typedef unsigned short VARTYPE
;
74 typedef short VARIANT_BOOL
;
75 typedef VARIANT_BOOL _VARIANT_BOOL
;
76 #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
77 #define VARIANT_FALSE ((VARIANT_BOOL)0)
78 typedef OLECHAR
*BSTR
;
79 typedef FLAGGED_WORD_BLOB
*wireBSTR
;
82 typedef void *HCONTEXT
;
84 _ANONYMOUS_STRUCT
struct {
91 typedef struct tagBSTRBLOB
{
95 typedef struct tagBSTRBLOB
*LPBSTRBLOB
;
96 typedef struct tagCLIPDATA
{
101 typedef enum tagSTGC
{
102 STGC_DEFAULT
,STGC_OVERWRITE
,STGC_ONLYIFCURRENT
,
103 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
105 typedef enum tagSTGMOVE
{
106 STGMOVE_MOVE
,STGMOVE_COPY
,STGMOVE_SHALLOWCOPY
109 VT_EMPTY
,VT_NULL
,VT_I2
,VT_I4
,VT_R4
,VT_R8
,VT_CY
,VT_DATE
,VT_BSTR
,VT_DISPATCH
,
110 VT_ERROR
,VT_BOOL
,VT_VARIANT
,VT_UNKNOWN
,VT_DECIMAL
,VT_I1
=16,VT_UI1
,VT_UI2
,VT_UI4
,VT_I8
,
111 VT_UI8
,VT_INT
,VT_UINT
,VT_VOID
,VT_HRESULT
,VT_PTR
,VT_SAFEARRAY
,VT_CARRAY
,VT_USERDEFINED
,
112 VT_LPSTR
,VT_LPWSTR
,VT_RECORD
=36,VT_FILETIME
=64,VT_BLOB
,VT_STREAM
,VT_STORAGE
,VT_STREAMED_OBJECT
,
113 VT_STORED_OBJECT
,VT_BLOB_OBJECT
,VT_CF
,VT_CLSID
,VT_BSTR_BLOB
=0xfff,VT_VECTOR
=0x1000,
114 VT_ARRAY
=0x2000,VT_BYREF
=0x4000,VT_RESERVED
=0x8000,VT_ILLEGAL
= 0xffff,VT_ILLEGALMASKED
=0xfff,
118 #define VT_INT_PTR VT_I8
119 #define VT_UINT_PTR VT_UI8
121 #define VT_INT_PTR VT_I4
122 #define VT_UINT_PTR VT_UI4
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 {