1 |
#ifndef _OAIDL_H |
2 |
#define _OAIDL_H |
3 |
#if __GNUC__ >= 3 |
4 |
#pragma GCC system_header |
5 |
#endif |
6 |
|
7 |
#ifndef COM_NO_WINDOWS_H |
8 |
#include <windows.h> |
9 |
#include <ole2.h> |
10 |
#endif |
11 |
|
12 |
#ifdef __cplusplus |
13 |
extern "C" { |
14 |
#endif |
15 |
#ifdef NONAMELESSUNION |
16 |
#define __VARIANT_NAME_1 n1 |
17 |
#define __VARIANT_NAME_2 n2 |
18 |
#define __VARIANT_NAME_3 n3 |
19 |
#define __VARIANT_NAME_4 n4 |
20 |
#else |
21 |
#define __tagVARIANT |
22 |
#define __VARIANT_NAME_1 |
23 |
#define __VARIANT_NAME_2 |
24 |
#define __VARIANT_NAME_3 |
25 |
#define __VARIANT_NAME_4 |
26 |
#endif |
27 |
#define DISPID_UNKNOWN (-1) |
28 |
#define DISPID_VALUE (0) |
29 |
#define DISPID_PROPERTYPUT (-3) |
30 |
#define DISPID_NEWENUM (-4) |
31 |
#define DISPID_EVALUATE (-5) |
32 |
#define DISPID_CONSTRUCTOR (-6) |
33 |
#define DISPID_DESTRUCTOR (-7) |
34 |
#define DISPID_COLLECT (-8) |
35 |
#define FADF_AUTO (1) |
36 |
#define FADF_STATIC (2) |
37 |
#define FADF_EMBEDDED (4) |
38 |
#define FADF_FIXEDSIZE (16) |
39 |
#define FADF_RECORD (32) |
40 |
#define FADF_HAVEIID (64) |
41 |
#define FADF_HAVEVARTYPE (128) |
42 |
#define FADF_BSTR (256) |
43 |
#define FADF_UNKNOWN (512) |
44 |
#define FADF_DISPATCH (1024) |
45 |
#define FADF_VARIANT (2048) |
46 |
#define FADF_RESERVED (0xf0e8) |
47 |
#define FADF_DATADELETED (0x1000) |
48 |
#define FADF_CREATEVECTOR (0x2000) |
49 |
#define PARAMFLAG_NONE (0) |
50 |
#define PARAMFLAG_FIN (1) |
51 |
#define PARAMFLAG_FOUT (2) |
52 |
#define PARAMFLAG_FLCID (4) |
53 |
#define PARAMFLAG_FRETVAL (8) |
54 |
#define PARAMFLAG_FOPT (16) |
55 |
#define PARAMFLAG_FHASDEFAULT (32) |
56 |
#define IDLFLAG_NONE PARAMFLAG_NONE |
57 |
#define IDLFLAG_FIN PARAMFLAG_FIN |
58 |
#define IDLFLAG_FOUT PARAMFLAG_FOUT |
59 |
#define IDLFLAG_FLCID PARAMFLAG_FLCID |
60 |
#define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL |
61 |
#define IMPLTYPEFLAG_FDEFAULT 1 |
62 |
#define IMPLTYPEFLAG_FSOURCE 2 |
63 |
#define IMPLTYPEFLAG_FRESTRICTED 4 |
64 |
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8 |
65 |
|
66 |
typedef _COM_interface ITypeLib *LPTYPELIB; |
67 |
typedef _COM_interface ITypeLib2 *LPTYPELIB2; |
68 |
typedef _COM_interface ICreateTypeInfo *LPCREATETYPEINFO; |
69 |
typedef _COM_interface ICreateTypeInfo2 *LPCREATETYPEINFO2; |
70 |
typedef _COM_interface ICreateTypeLib *LPCREATETYPELIB; |
71 |
typedef _COM_interface ICreateTypeLib2 *LPCREATETYPELIB2; |
72 |
typedef _COM_interface ITypeComp *LPTYPECOMP; |
73 |
typedef _COM_interface ITypeInfo *LPTYPEINFO; |
74 |
typedef _COM_interface ITypeInfo2 *LPTYPEINFO2; |
75 |
typedef _COM_interface IErrorInfo *LPERRORINFO; |
76 |
typedef _COM_interface IDispatch *LPDISPATCH; |
77 |
typedef _COM_interface IEnumVARIANT *LPENUMVARIANT; |
78 |
typedef _COM_interface ICreateErrorInfo *LPCREATEERRORINFO; |
79 |
typedef _COM_interface ISupportErrorInfo *LPSUPPORTERRORINFO; |
80 |
typedef _COM_interface IRecordInfo *LPRECORDINFO; |
81 |
|
82 |
extern const IID IID_ITypeLib; |
83 |
extern const IID IID_ITypeLib2; |
84 |
extern const IID IID_ICreateTypeInfo; |
85 |
extern const IID IID_ICreateTypeInfo2; |
86 |
extern const IID IID_ICreateTypeLib; |
87 |
extern const IID IID_ICreateTypeLib2; |
88 |
extern const IID IID_ITypeInfo; |
89 |
extern const IID IID_ITypeInfo2; |
90 |
extern const IID IID_IErrorInfo; |
91 |
extern const IID IID_IDispatch; |
92 |
extern const IID IID_IEnumVARIANT; |
93 |
extern const IID IID_ICreateErrorInfo; |
94 |
extern const IID IID_ISupportErrorInfo; |
95 |
extern const IID IID_IRecordInfo; |
96 |
extern const IID IID_ITypeMarshal; |
97 |
|
98 |
typedef enum tagSYSKIND { |
99 |
SYS_WIN16,SYS_WIN32,SYS_MAC |
100 |
} SYSKIND; |
101 |
typedef enum tagLIBFLAGS { |
102 |
LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4, |
103 |
LIBFLAG_FHASDISKIMAGE=8 |
104 |
} LIBFLAGS; |
105 |
typedef struct tagTLIBATTR { |
106 |
GUID guid; |
107 |
LCID lcid; |
108 |
SYSKIND syskind; |
109 |
WORD wMajorVerNum; |
110 |
WORD wMinorVerNum; |
111 |
WORD wLibFlags; |
112 |
} TLIBATTR,*LPTLIBATTR; |
113 |
typedef CY CURRENCY; |
114 |
typedef struct tagSAFEARRAYBOUND { |
115 |
ULONG cElements; |
116 |
LONG lLbound; |
117 |
}SAFEARRAYBOUND,*LPSAFEARRAYBOUND; |
118 |
typedef struct _wireSAFEARR_BSTR |
119 |
{ |
120 |
ULONG Size; |
121 |
wireBSTR *aBstr; |
122 |
}SAFEARR_BSTR; |
123 |
typedef struct _wireSAFEARR_UNKNOWN { |
124 |
ULONG Size; |
125 |
IUnknown **apUnknown; |
126 |
}SAFEARR_UNKNOWN; |
127 |
typedef struct _wireSAFEARR_DISPATCH { |
128 |
ULONG Size; |
129 |
LPDISPATCH *apDispatch; |
130 |
}SAFEARR_DISPATCH; |
131 |
typedef struct _wireSAFEARR_VARIANT { |
132 |
ULONG Size; |
133 |
struct _wireVARIANT *aVariant; |
134 |
}SAFEARR_VARIANT; |
135 |
typedef enum tagSF_TYPE { |
136 |
SF_ERROR=VT_ERROR, |
137 |
SF_I1=VT_I1, |
138 |
SF_I2=VT_I2, |
139 |
SF_I4=VT_I4, |
140 |
SF_I8=VT_I8, |
141 |
SF_BSTR=VT_BSTR, |
142 |
SF_UNKNOWN=VT_UNKNOWN, |
143 |
SF_DISPATCH=VT_DISPATCH, |
144 |
SF_VARIANT=VT_VARIANT |
145 |
}SF_TYPE; |
146 |
typedef struct _wireBRECORD { |
147 |
ULONG fFlags; |
148 |
ULONG clSize; |
149 |
LPRECORDINFO* pRecInfo; |
150 |
byte* pRecord; |
151 |
} *wireBRECORD; |
152 |
typedef struct _wireSAFEARR_BRECORD { |
153 |
ULONG Size; |
154 |
wireBRECORD* aRecord; |
155 |
} SAFEARR_BRECORD; |
156 |
typedef struct _wireSAFEARR_HAVEIID { |
157 |
ULONG Size; |
158 |
IUnknown** apUnknown; |
159 |
IID iid; |
160 |
} SAFEARR_HAVEIID; |
161 |
typedef struct _wireSAFEARRAY_UNION { |
162 |
ULONG sfType; |
163 |
union { |
164 |
SAFEARR_BSTR BstrStr; |
165 |
SAFEARR_UNKNOWN UnknownStr; |
166 |
SAFEARR_DISPATCH DispatchStr; |
167 |
SAFEARR_VARIANT VariantStr; |
168 |
SAFEARR_BRECORD RecordStr; |
169 |
SAFEARR_HAVEIID HaveIidStr; |
170 |
BYTE_SIZEDARR ByteStr; |
171 |
WORD_SIZEDARR WordStr; |
172 |
DWORD_SIZEDARR LongStr; |
173 |
HYPER_SIZEDARR HyperStr; |
174 |
}u; |
175 |
}SAFEARRAYUNION; |
176 |
typedef struct _wireSAFEARRAY { |
177 |
USHORT cDims; |
178 |
USHORT fFeatures; |
179 |
ULONG cbElements; |
180 |
ULONG cLocks; |
181 |
SAFEARRAYUNION uArrayStructs; |
182 |
SAFEARRAYBOUND rgsabound[1]; |
183 |
}*wireSAFEARRAY; |
184 |
typedef wireSAFEARRAY *wirePSAFEARRAY; |
185 |
typedef struct tagSAFEARRAY { |
186 |
USHORT cDims; |
187 |
USHORT fFeatures; |
188 |
ULONG cbElements; |
189 |
ULONG cLocks; |
190 |
PVOID pvData; |
191 |
SAFEARRAYBOUND rgsabound[1]; |
192 |
}SAFEARRAY,*LPSAFEARRAY; |
193 |
#if defined (__GNUC__) && !defined (NONAMELESSUNION) |
194 |
__extension__ /* no named members */ |
195 |
#endif |
196 |
typedef struct tagVARIANT { |
197 |
_ANONYMOUS_UNION union { |
198 |
struct __tagVARIANT { |
199 |
VARTYPE vt; |
200 |
WORD wReserved1; |
201 |
WORD wReserved2; |
202 |
WORD wReserved3; |
203 |
_ANONYMOUS_UNION union { |
204 |
long lVal; |
205 |
LONGLONG llVal; |
206 |
unsigned char bVal; |
207 |
short iVal; |
208 |
float fltVal; |
209 |
double dblVal; |
210 |
VARIANT_BOOL boolVal; |
211 |
SCODE scode; |
212 |
CY cyVal; |
213 |
DATE date; |
214 |
BSTR bstrVal; |
215 |
IUnknown *punkVal; |
216 |
LPDISPATCH pdispVal; |
217 |
SAFEARRAY *parray; |
218 |
unsigned char *pbVal; |
219 |
short *piVal; |
220 |
long *plVal; |
221 |
LONGLONG * pllVal; |
222 |
float *pfltVal; |
223 |
double *pdblVal; |
224 |
VARIANT_BOOL *pboolVal; |
225 |
_VARIANT_BOOL *pbool; |
226 |
SCODE *pscode; |
227 |
CY *pcyVal; |
228 |
DATE *pdate; |
229 |
BSTR *pbstrVal; |
230 |
IUnknown **ppunkVal; |
231 |
LPDISPATCH *ppdispVal; |
232 |
SAFEARRAY **pparray; |
233 |
struct tagVARIANT *pvarVal; |
234 |
void *byref; |
235 |
CHAR cVal; |
236 |
USHORT uiVal; |
237 |
ULONG ulVal; |
238 |
ULONGLONG ullVal; |
239 |
INT intVal; |
240 |
UINT uintVal; |
241 |
DECIMAL *pdecVal; |
242 |
CHAR *pcVal; |
243 |
USHORT *puiVal; |
244 |
ULONG *pulVal; |
245 |
ULONGLONG * pullVal; |
246 |
INT *pintVal; |
247 |
UINT *puintVal; |
248 |
_ANONYMOUS_STRUCT struct { |
249 |
PVOID pvRecord; |
250 |
struct IRecordInfo *pRecInfo; |
251 |
} __VARIANT_NAME_4; |
252 |
} __VARIANT_NAME_3; |
253 |
} __VARIANT_NAME_2; |
254 |
DECIMAL decVal; |
255 |
} __VARIANT_NAME_1; |
256 |
} VARIANT,*LPVARIANT; |
257 |
typedef VARIANT VARIANTARG; |
258 |
typedef VARIANT *LPVARIANTARG; |
259 |
typedef struct _wireVARIANT { |
260 |
DWORD clSize; |
261 |
DWORD rpcReserved; |
262 |
USHORT vt; |
263 |
USHORT wReserved1; |
264 |
USHORT wReserved2; |
265 |
USHORT wReserved3; |
266 |
_ANONYMOUS_UNION union { |
267 |
LONG lVal; |
268 |
LONGLONG llVal; |
269 |
BYTE bVal; |
270 |
SHORT iVal; |
271 |
FLOAT fltVal; |
272 |
DOUBLE dblVal; |
273 |
VARIANT_BOOL boolVal; |
274 |
SCODE scode; |
275 |
CY cyVal; |
276 |
DATE date; |
277 |
wireBSTR bstrVal; |
278 |
IUnknown *punkVal; |
279 |
LPDISPATCH pdispVal; |
280 |
wirePSAFEARRAY parray; |
281 |
wireBRECORD brecVal; |
282 |
BYTE *pbVal; |
283 |
SHORT *piVal; |
284 |
LONG *plVal; |
285 |
FLOAT *pfltVal; |
286 |
DOUBLE *pdblVal; |
287 |
VARIANT_BOOL *pboolVal; |
288 |
SCODE *pscode; |
289 |
CY *pcyVal; |
290 |
DATE *pdate; |
291 |
wireBSTR *pbstrVal; |
292 |
IUnknown **ppunkVal; |
293 |
LPDISPATCH *ppdispVal; |
294 |
wirePSAFEARRAY *pparray; |
295 |
struct _wireVARIANT *pvarVal; |
296 |
CHAR cVal; |
297 |
USHORT uiVal; |
298 |
ULONG ulVal; |
299 |
ULONGLONG ullVal; |
300 |
INT intVal; |
301 |
UINT uintVal; |
302 |
DECIMAL decVal; |
303 |
DECIMAL *pdecVal; |
304 |
CHAR *pcVal; |
305 |
USHORT *puiVal; |
306 |
ULONG *pulVal; |
307 |
INT *pintVal; |
308 |
UINT *puintVal; |
309 |
} DUMMYUNIONNAME; |
310 |
} *wireVARIANT; |
311 |
typedef LONG DISPID; |
312 |
typedef DISPID MEMBERID; |
313 |
typedef DWORD HREFTYPE; |
314 |
typedef enum tagTYPEKIND { |
315 |
TKIND_ENUM,TKIND_RECORD,TKIND_MODULE,TKIND_INTERFACE,TKIND_DISPATCH, |
316 |
TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX |
317 |
}TYPEKIND; |
318 |
typedef struct tagTYPEDESC { |
319 |
_ANONYMOUS_UNION union { |
320 |
struct tagTYPEDESC *lptdesc; |
321 |
struct tagARRAYDESC *lpadesc; |
322 |
HREFTYPE hreftype; |
323 |
} DUMMYUNIONNAME; |
324 |
VARTYPE vt; |
325 |
}TYPEDESC; |
326 |
typedef struct tagARRAYDESC { |
327 |
TYPEDESC tdescElem; |
328 |
USHORT cDims; |
329 |
SAFEARRAYBOUND rgbounds[1]; |
330 |
}ARRAYDESC; |
331 |
typedef struct tagPARAMDESCEX { |
332 |
ULONG cBytes; |
333 |
VARIANTARG varDefaultValue; |
334 |
}PARAMDESCEX,*LPPARAMDESCEX; |
335 |
typedef struct tagPARAMDESC { |
336 |
LPPARAMDESCEX pparamdescex; |
337 |
USHORT wParamFlags; |
338 |
}PARAMDESC,*LPPARAMDESC; |
339 |
typedef struct tagIDLDESC { |
340 |
ULONG dwReserved; |
341 |
USHORT wIDLFlags; |
342 |
}IDLDESC,*LPIDLDESC; |
343 |
typedef struct tagELEMDESC { |
344 |
TYPEDESC tdesc; |
345 |
_ANONYMOUS_UNION union { |
346 |
IDLDESC idldesc; |
347 |
PARAMDESC paramdesc; |
348 |
} DUMMYUNIONNAME; |
349 |
} ELEMDESC,*LPELEMDESC; |
350 |
typedef struct tagTYPEATTR { |
351 |
GUID guid; |
352 |
LCID lcid; |
353 |
DWORD dwReserved; |
354 |
MEMBERID memidConstructor; |
355 |
MEMBERID memidDestructor; |
356 |
LPOLESTR lpstrSchema; |
357 |
ULONG cbSizeInstance; |
358 |
TYPEKIND typekind; |
359 |
WORD cFuncs; |
360 |
WORD cVars; |
361 |
WORD cImplTypes; |
362 |
WORD cbSizeVft; |
363 |
WORD cbAlignment; |
364 |
WORD wTypeFlags; |
365 |
WORD wMajorVerNum; |
366 |
WORD wMinorVerNum; |
367 |
TYPEDESC tdescAlias; |
368 |
IDLDESC idldescType; |
369 |
}TYPEATTR,*LPTYPEATTR; |
370 |
typedef struct tagDISPPARAMS { |
371 |
VARIANTARG *rgvarg; |
372 |
DISPID *rgdispidNamedArgs; |
373 |
UINT cArgs; |
374 |
UINT cNamedArgs; |
375 |
}DISPPARAMS; |
376 |
typedef struct tagEXCEPINFO { |
377 |
WORD wCode; |
378 |
WORD wReserved; |
379 |
BSTR bstrSource; |
380 |
BSTR bstrDescription; |
381 |
BSTR bstrHelpFile; |
382 |
DWORD dwHelpContext; |
383 |
PVOID pvReserved; |
384 |
HRESULT(__stdcall * pfnDeferredFillIn)(struct tagEXCEPINFO*); |
385 |
SCODE scode; |
386 |
} EXCEPINFO,*LPEXCEPINFO; |
387 |
typedef enum tagCALLCONV { |
388 |
CC_FASTCALL,CC_CDECL,CC_MSCPASCAL,CC_PASCAL=CC_MSCPASCAL, |
389 |
CC_MACPASCAL,CC_STDCALL,CC_FPFASTCALL,CC_SYSCALL,CC_MPWCDECL, |
390 |
CC_MPWPASCAL,CC_MAX=CC_MPWPASCAL |
391 |
}CALLCONV; |
392 |
typedef enum tagFUNCKIND { |
393 |
FUNC_VIRTUAL,FUNC_PUREVIRTUAL,FUNC_NONVIRTUAL, |
394 |
FUNC_STATIC,FUNC_DISPATCH |
395 |
}FUNCKIND; |
396 |
typedef enum tagINVOKEKIND { |
397 |
INVOKE_FUNC=1,INVOKE_PROPERTYGET,INVOKE_PROPERTYPUT=4, |
398 |
INVOKE_PROPERTYPUTREF=8 |
399 |
}INVOKEKIND; |
400 |
typedef struct tagFUNCDESC { |
401 |
MEMBERID memid; |
402 |
SCODE *lprgscode; |
403 |
ELEMDESC *lprgelemdescParam; |
404 |
FUNCKIND funckind; |
405 |
INVOKEKIND invkind; |
406 |
CALLCONV callconv; |
407 |
SHORT cParams; |
408 |
SHORT cParamsOpt; |
409 |
SHORT oVft; |
410 |
SHORT cScodes; |
411 |
ELEMDESC elemdescFunc; |
412 |
WORD wFuncFlags; |
413 |
}FUNCDESC,*LPFUNCDESC; |
414 |
typedef enum tagVARKIND { |
415 |
VAR_PERINSTANCE,VAR_STATIC,VAR_CONST,VAR_DISPATCH |
416 |
} VARKIND; |
417 |
typedef struct tagVARDESC { |
418 |
MEMBERID memid; |
419 |
LPOLESTR lpstrSchema; |
420 |
_ANONYMOUS_UNION union { |
421 |
ULONG oInst; |
422 |
VARIANT *lpvarValue; |
423 |
} DUMMYUNIONNAME; |
424 |
ELEMDESC elemdescVar; |
425 |
WORD wVarFlags; |
426 |
VARKIND varkind; |
427 |
} VARDESC,*LPVARDESC; |
428 |
typedef enum tagTYPEFLAGS { |
429 |
TYPEFLAG_FAPPOBJECT=1,TYPEFLAG_FCANCREATE=2,TYPEFLAG_FLICENSED=4, |
430 |
TYPEFLAG_FPREDECLID=8,TYPEFLAG_FHIDDEN=16,TYPEFLAG_FCONTROL=32, |
431 |
TYPEFLAG_FDUAL=64,TYPEFLAG_FNONEXTENSIBLE=128, |
432 |
TYPEFLAG_FOLEAUTOMATION=256,TYPEFLAG_FRESTRICTED=512, |
433 |
TYPEFLAG_FAGGREGATABLE=1024,TYPEFLAG_FREPLACEABLE=2048, |
434 |
TYPEFLAG_FDISPATCHABLE=4096,TYPEFLAG_FREVERSEBIND=8192 |
435 |
} TYPEFLAGS; |
436 |
typedef enum tagFUNCFLAGS { |
437 |
FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4, |
438 |
FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32, |
439 |
FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256, |
440 |
FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048, |
441 |
FUNCFLAG_FIMMEDIATEBIND=4096 |
442 |
} FUNCFLAGS; |
443 |
typedef enum tagVARFLAGS { |
444 |
VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8, |
445 |
VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128, |
446 |
VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024, |
447 |
VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096 |
448 |
} VARFLAGS; |
449 |
typedef struct tagCLEANLOCALSTORAGE { |
450 |
IUnknown *pInterface; |
451 |
PVOID pStorage; |
452 |
DWORD flags; |
453 |
} CLEANLOCALSTORAGE; |
454 |
typedef struct tagCUSTDATAITEM { |
455 |
GUID guid; |
456 |
VARIANTARG varValue; |
457 |
} CUSTDATAITEM,*LPCUSTDATAITEM; |
458 |
typedef struct tagCUSTDATA { |
459 |
DWORD cCustData; |
460 |
LPCUSTDATAITEM prgCustData; |
461 |
} CUSTDATA,*LPCUSTDATA; |
462 |
|
463 |
typedef enum tagDESCKIND { |
464 |
DESCKIND_NONE=0,DESCKIND_FUNCDESC=DESCKIND_NONE+1, |
465 |
DESCKIND_VARDESC=DESCKIND_FUNCDESC+1,DESCKIND_TYPECOMP=DESCKIND_VARDESC+1, |
466 |
DESCKIND_IMPLICITAPPOBJ=DESCKIND_TYPECOMP+1, |
467 |
DESCKIND_MAX=DESCKIND_IMPLICITAPPOBJ+1 |
468 |
} DESCKIND; |
469 |
|
470 |
typedef union tagBINDPTR { |
471 |
LPFUNCDESC lpfuncdesc; |
472 |
LPVARDESC lpvardesc; |
473 |
LPTYPECOMP lptcomp; |
474 |
} BINDPTR,*LPBINDPTR; |
475 |
|
476 |
#define INTERFACE IDispatch |
477 |
DECLARE_INTERFACE_(IDispatch,IUnknown) |
478 |
{ |
479 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
480 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
481 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
482 |
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE; |
483 |
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE; |
484 |
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE; |
485 |
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; |
486 |
}; |
487 |
#undef INTERFACE |
488 |
|
489 |
#ifdef COBJMACROS |
490 |
#define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
491 |
#define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p) |
492 |
#define IDispatch_Release(p) (p)->lpVtbl->Release(p) |
493 |
#define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a) |
494 |
#define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c) |
495 |
#define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e) |
496 |
#define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h) |
497 |
#endif |
498 |
|
499 |
#define INTERFACE IEnumVARIANT |
500 |
DECLARE_INTERFACE_(IEnumVARIANT,IUnknown) |
501 |
{ |
502 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
503 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
504 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
505 |
STDMETHOD(Next)(THIS_ ULONG,VARIANT*,ULONG*) PURE; |
506 |
STDMETHOD(Skip)(THIS_ ULONG) PURE; |
507 |
STDMETHOD(Reset)(THIS) PURE; |
508 |
STDMETHOD(Clone)(THIS_ IEnumVARIANT**) PURE; |
509 |
}; |
510 |
#undef INTERFACE |
511 |
|
512 |
#define INTERFACE ITypeComp |
513 |
DECLARE_INTERFACE_(ITypeComp,IUnknown) |
514 |
{ |
515 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
516 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
517 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
518 |
STDMETHOD(Bind)(THIS_ LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPBINDPTR) PURE; |
519 |
STDMETHOD(BindType)(THIS_ LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*) PURE; |
520 |
}; |
521 |
#undef INTERFACE |
522 |
|
523 |
#define INTERFACE ITypeInfo |
524 |
DECLARE_INTERFACE_(ITypeInfo,IUnknown) |
525 |
{ |
526 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
527 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
528 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
529 |
STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE; |
530 |
STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE; |
531 |
STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE; |
532 |
STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE; |
533 |
STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE; |
534 |
STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE; |
535 |
STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE; |
536 |
STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE; |
537 |
STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; |
538 |
STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE; |
539 |
STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE; |
540 |
STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE; |
541 |
STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE; |
542 |
STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; |
543 |
STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE; |
544 |
STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE; |
545 |
STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE; |
546 |
STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE; |
547 |
STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE; |
548 |
}; |
549 |
#undef INTERFACE |
550 |
|
551 |
#ifdef COBJMACROS |
552 |
#define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
553 |
#define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p) |
554 |
#define ITypeInfo_Release(p) (p)->lpVtbl->Release(p) |
555 |
#define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a) |
556 |
#define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a) |
557 |
#define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b) |
558 |
#define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b) |
559 |
#define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d) |
560 |
#define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b) |
561 |
#define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b) |
562 |
#define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c) |
563 |
#define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g) |
564 |
#define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e) |
565 |
#define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e) |
566 |
#define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b) |
567 |
#define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c) |
568 |
#define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c) |
569 |
#define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b) |
570 |
#define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b) |
571 |
#define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a) |
572 |
#define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a) |
573 |
#define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a) |
574 |
#endif |
575 |
|
576 |
#define INTERFACE ITypeInfo2 |
577 |
DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo) |
578 |
{ |
579 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
580 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
581 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
582 |
STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE; |
583 |
STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE; |
584 |
STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE; |
585 |
STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE; |
586 |
STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE; |
587 |
STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE; |
588 |
STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE; |
589 |
STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE; |
590 |
STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; |
591 |
STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE; |
592 |
STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE; |
593 |
STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE; |
594 |
STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE; |
595 |
STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; |
596 |
STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE; |
597 |
STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE; |
598 |
STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE; |
599 |
STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE; |
600 |
STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE; |
601 |
STDMETHOD(GetTypeKind)(THIS_ TYPEKIND*) PURE; |
602 |
STDMETHOD(GetTypeFlags)(THIS_ ULONG*) PURE; |
603 |
STDMETHOD(GetFuncIndexOfMemId)(THIS_ MEMBERID,INVOKEKIND,UINT*) PURE; |
604 |
STDMETHOD(GetVarIndexOfMemId)(THIS_ MEMBERID,UINT*) PURE; |
605 |
STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE; |
606 |
STDMETHOD(GetFuncCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; |
607 |
STDMETHOD(GetParamCustData)(THIS_ UINT,UINT,REFGUID,VARIANT*) PURE; |
608 |
STDMETHOD(GetVarCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; |
609 |
STDMETHOD(GetImplTypeCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; |
610 |
STDMETHOD(GetDocumentation2)(THIS_ MEMBERID,LCID,BSTR*,DWORD*,BSTR*) PURE; |
611 |
STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE; |
612 |
STDMETHOD(GetAllFuncCustData)(THIS_ UINT,CUSTDATA*) PURE; |
613 |
STDMETHOD(GetAllParamCustData)(THIS_ UINT,UINT,CUSTDATA*) PURE; |
614 |
STDMETHOD(GetAllVarCustData)(THIS_ UINT,CUSTDATA*) PURE; |
615 |
STDMETHOD(GetAllImplTypeCustData)(THIS_ UINT,CUSTDATA*) PURE; |
616 |
}; |
617 |
#undef INTERFACE |
618 |
|
619 |
#define INTERFACE ITypeLib |
620 |
DECLARE_INTERFACE_(ITypeLib,IUnknown) |
621 |
{ |
622 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
623 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
624 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
625 |
STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; |
626 |
STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE; |
627 |
STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE; |
628 |
STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE; |
629 |
STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE; |
630 |
STDMETHOD(GetTypeComp)(THIS_ ITypeComp**) PURE; |
631 |
STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE; |
632 |
STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE; |
633 |
STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE; |
634 |
STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE; |
635 |
}; |
636 |
#undef INTERFACE |
637 |
|
638 |
#define INTERFACE ITypeLib2 |
639 |
DECLARE_INTERFACE_(ITypeLib2,ITypeLib) |
640 |
{ |
641 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
642 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
643 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
644 |
STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; |
645 |
STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE; |
646 |
STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE; |
647 |
STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE; |
648 |
STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE; |
649 |
STDMETHOD(GetTypeComp)(THIS_ ITypeComp**) PURE; |
650 |
STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE; |
651 |
STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE; |
652 |
STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE; |
653 |
STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE; |
654 |
STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE; |
655 |
STDMETHOD(GetLibStatistics)(THIS_ ULONG*,ULONG*) PURE; |
656 |
STDMETHOD(GetDocumentation2)(THIS_ INT,LCID,BSTR*,DWORD*,BSTR*) PURE; |
657 |
STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE; |
658 |
}; |
659 |
#undef INTERFACE |
660 |
|
661 |
EXTERN_C const IID IID_IErrorInfo; |
662 |
#define INTERFACE IErrorInfo |
663 |
DECLARE_INTERFACE_(IErrorInfo, IUnknown) |
664 |
{ |
665 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
666 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
667 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
668 |
STDMETHOD(GetGUID)(THIS_ GUID*) PURE; |
669 |
STDMETHOD(GetSource)(THIS_ BSTR*) PURE; |
670 |
STDMETHOD(GetDescription)(THIS_ BSTR*) PURE; |
671 |
STDMETHOD(GetHelpFile)(THIS_ BSTR*) PURE; |
672 |
STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE; |
673 |
}; |
674 |
#undef INTERFACE |
675 |
|
676 |
#ifdef COBJMACROS |
677 |
#define IErrorInfo_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) |
678 |
#define IErrorInfo_AddRef(T) (T)->lpVtbl->AddRef(T) |
679 |
#define IErrorInfo_Release(T) (T)->lpVtbl->Release(T) |
680 |
#define IErrorInfo_GetGUID(T,a) (T)->lpVtbl->GetGUID(T,a) |
681 |
#define IErrorInfo_GetSource(T,a) (T)->lpVtbl->GetSource(T,a) |
682 |
#define IErrorInfo_GetDescription(T,a) (T)->lpVtbl->GetDescription(T,a) |
683 |
#define IErrorInfo_GetHelpFile(T,a) (T)->lpVtbl->GetHelpFile(T,a) |
684 |
#define IErrorInfo_GetHelpContext(T,a) (T)->lpVtbl->GetHelpContext(T,a) |
685 |
#endif |
686 |
|
687 |
EXTERN_C const IID IID_ICreateErrorInfo; |
688 |
#define INTERFACE ICreateErrorInfo |
689 |
DECLARE_INTERFACE_(ICreateErrorInfo, IUnknown) |
690 |
{ |
691 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*)PURE; |
692 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
693 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
694 |
STDMETHOD(SetGUID)(THIS_ REFGUID) PURE; |
695 |
STDMETHOD(SetSource)(THIS_ LPOLESTR) PURE; |
696 |
STDMETHOD(SetDescription)(THIS_ LPOLESTR) PURE; |
697 |
STDMETHOD(SetHelpFile)(THIS_ LPOLESTR) PURE; |
698 |
STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE; |
699 |
}; |
700 |
#undef INTERFACE |
701 |
|
702 |
EXTERN_C const IID IID_ISupportErrorInfo; |
703 |
#define INTERFACE ISupportErrorInfo |
704 |
DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown) |
705 |
{ |
706 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
707 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
708 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
709 |
STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE; |
710 |
}; |
711 |
#undef INTERFACE |
712 |
|
713 |
EXTERN_C const IID IID_IRecordInfo; |
714 |
#define INTERFACE IRecordInfo |
715 |
DECLARE_INTERFACE_(IRecordInfo, IUnknown) |
716 |
{ |
717 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
718 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
719 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
720 |
STDMETHOD(RecordInit)(THIS_ PVOID) PURE; |
721 |
STDMETHOD(RecordClear)(THIS_ PVOID) PURE; |
722 |
STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE; |
723 |
STDMETHOD(GetGuid)(THIS_ GUID*) PURE; |
724 |
STDMETHOD(GetName)(THIS_ BSTR*) PURE; |
725 |
STDMETHOD(GetSize)(THIS_ ULONG*) PURE; |
726 |
STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE; |
727 |
STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE; |
728 |
STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE; |
729 |
STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE; |
730 |
STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE; |
731 |
STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE; |
732 |
STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo*) PURE; |
733 |
STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; |
734 |
STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE; |
735 |
STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE; |
736 |
}; |
737 |
#undef INTERFACE |
738 |
|
739 |
#ifdef COBJMACROS |
740 |
#define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
741 |
#define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p) |
742 |
#define IRecordInfo_Release(p) (p)->lpVtbl->Release(p) |
743 |
#define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a) |
744 |
#define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a) |
745 |
#define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b) |
746 |
#define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a) |
747 |
#define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a) |
748 |
#define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a) |
749 |
#define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a) |
750 |
#define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c) |
751 |
#define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d) |
752 |
#define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d) |
753 |
#define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d) |
754 |
#define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b) |
755 |
#define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a) |
756 |
#define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p) |
757 |
#define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b) |
758 |
#define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a) |
759 |
#endif |
760 |
|
761 |
EXTERN_C const IID IID_ITypeMarshal; |
762 |
#define INTERFACE ITypeMarshal |
763 |
DECLARE_INTERFACE_(ITypeMarshal, IUnknown) |
764 |
{ |
765 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
766 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
767 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
768 |
STDMETHOD(Size)(THIS_ PVOID,DWORD,PVOID,ULONG*) PURE; |
769 |
STDMETHOD(Marshal)(THIS_ PVOID,DWORD,PVOID,ULONG,BYTE*,ULONG*) PURE; |
770 |
STDMETHOD(Unmarshal)(THIS_ PVOID,DWORD,ULONG,BYTE*,ULONG*) PURE; |
771 |
STDMETHOD(Free)(THIS_ PVOID) PURE; |
772 |
}; |
773 |
#undef INTERFACE |
774 |
|
775 |
#ifdef __cplusplus |
776 |
} |
777 |
#endif |
778 |
#endif |