- Put output from MSVC into the relevant output-i386 / obj-i386 files
[reactos.git] / reactos / w32api / include / oaidl.h
1 #ifndef _OAIDL_H
2 #define _OAIDL_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
11 #define __VARIANT_NAME_1 n1
12 #define __VARIANT_NAME_2 n2
13 #define __VARIANT_NAME_3 n3
14 #define __VARIANT_NAME_4 brecVal
15 #else
16 #define __tagVARIANT
17 #define __tagBRECORD
18 #define __VARIANT_NAME_1
19 #define __VARIANT_NAME_2
20 #define __VARIANT_NAME_3
21 #define __VARIANT_NAME_4
22 #endif
23 #define DISPID_UNKNOWN (-1)
24 #define DISPID_VALUE (0)
25 #define DISPID_PROPERTYPUT (-3)
26 #define DISPID_NEWENUM (-4)
27 #define DISPID_EVALUATE (-5)
28 #define DISPID_CONSTRUCTOR (-6)
29 #define DISPID_DESTRUCTOR (-7)
30 #define DISPID_COLLECT (-8)
31 #define FADF_AUTO (1)
32 #define FADF_STATIC (2)
33 #define FADF_EMBEDDED (4)
34 #define FADF_FIXEDSIZE (16)
35 #define FADF_RECORD (32)
36 #define FADF_HAVEIID (64)
37 #define FADF_HAVEVARTYPE (128)
38 #define FADF_BSTR (256)
39 #define FADF_UNKNOWN (512)
40 #define FADF_DISPATCH (1024)
41 #define FADF_VARIANT (2048)
42 #define FADF_RESERVED (0xf0e8)
43 #define FADF_DATADELETED (0x1000)
44 #define FADF_CREATEVECTOR (0x2000)
45 #define PARAMFLAG_NONE (0)
46 #define PARAMFLAG_FIN (1)
47 #define PARAMFLAG_FOUT (2)
48 #define PARAMFLAG_FLCID (4)
49 #define PARAMFLAG_FRETVAL (8)
50 #define PARAMFLAG_FOPT (16)
51 #define PARAMFLAG_FHASDEFAULT (32)
52 #define PARAMFLAG_FHASCUSTDATA (64)
53 #define IDLFLAG_NONE PARAMFLAG_NONE
54 #define IDLFLAG_FIN PARAMFLAG_FIN
55 #define IDLFLAG_FOUT PARAMFLAG_FOUT
56 #define IDLFLAG_FLCID PARAMFLAG_FLCID
57 #define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL
58 #define IMPLTYPEFLAG_FDEFAULT 1
59 #define IMPLTYPEFLAG_FSOURCE 2
60 #define IMPLTYPEFLAG_FRESTRICTED 4
61 #define IMPLTYPEFLAG_FDEFAULTVTABLE 8
62
63 typedef interface ITypeLib *LPTYPELIB;
64 typedef interface ITypeLib2 *LPTYPELIB2;
65 typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
66 typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
67 typedef interface ICreateTypeLib *LPCREATETYPELIB;
68 typedef interface ICreateTypeLib2 *LPCREATETYPELIB2;
69 typedef interface ITypeComp *LPTYPECOMP;
70 typedef interface ITypeInfo *LPTYPEINFO;
71 typedef interface ITypeInfo2 *LPTYPEINFO2;
72 typedef interface IErrorInfo *LPERRORINFO;
73 typedef interface IDispatch *LPDISPATCH;
74 typedef interface IEnumVARIANT *LPENUMVARIANT;
75 typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
76 typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO;
77 typedef interface IRecordInfo *LPRECORDINFO;
78
79 extern const IID IID_ITypeLib;
80 extern const IID IID_ITypeLib2;
81 extern const IID IID_ICreateTypeInfo;
82 extern const IID IID_ICreateTypeInfo2;
83 extern const IID IID_ICreateTypeLib;
84 extern const IID IID_ICreateTypeLib2;
85 extern const IID IID_ITypeInfo;
86 extern const IID IID_ITypeInfo2;
87 extern const IID IID_IErrorInfo;
88 extern const IID IID_IDispatch;
89 extern const IID IID_IEnumVARIANT;
90 extern const IID IID_ICreateErrorInfo;
91 extern const IID IID_ISupportErrorInfo;
92 extern const IID IID_IRecordInfo;
93 extern const IID IID_ITypeMarshal;
94
95 #ifndef __ITypeLib_FWD_DEFINED__
96 #define __ITypeLib_FWD_DEFINED__
97 typedef struct ITypeLib ITypeLib;
98 #endif
99
100 typedef enum tagSYSKIND {
101 SYS_WIN16,SYS_WIN32,SYS_MAC
102 } SYSKIND;
103 typedef enum tagLIBFLAGS {
104 LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4,
105 LIBFLAG_FHASDISKIMAGE=8
106 } LIBFLAGS;
107 typedef struct tagTLIBATTR {
108 GUID guid;
109 LCID lcid;
110 SYSKIND syskind;
111 WORD wMajorVerNum;
112 WORD wMinorVerNum;
113 WORD wLibFlags;
114 } TLIBATTR,*LPTLIBATTR;
115 typedef CY CURRENCY;
116 typedef struct tagSAFEARRAYBOUND {
117 ULONG cElements;
118 LONG lLbound;
119 }SAFEARRAYBOUND,*LPSAFEARRAYBOUND;
120 typedef struct _wireSAFEARR_BSTR
121 {
122 ULONG Size;
123 wireBSTR *aBstr;
124 }SAFEARR_BSTR;
125 typedef struct _wireSAFEARR_UNKNOWN {
126 ULONG Size;
127 IUnknown **apUnknown;
128 }SAFEARR_UNKNOWN;
129 typedef struct _wireSAFEARR_DISPATCH {
130 ULONG Size;
131 LPDISPATCH *apDispatch;
132 }SAFEARR_DISPATCH;
133 typedef struct _wireSAFEARR_VARIANT {
134 ULONG Size;
135 struct _wireVARIANT *aVariant;
136 }SAFEARR_VARIANT;
137 typedef enum tagSF_TYPE {
138 SF_ERROR=VT_ERROR,
139 SF_I1=VT_I1,
140 SF_I2=VT_I2,
141 SF_I4=VT_I4,
142 SF_I8=VT_I8,
143 SF_BSTR=VT_BSTR,
144 SF_UNKNOWN=VT_UNKNOWN,
145 SF_DISPATCH=VT_DISPATCH,
146 SF_VARIANT=VT_VARIANT
147 }SF_TYPE;
148 typedef struct _wireBRECORD {
149 ULONG fFlags;
150 ULONG clSize;
151 LPRECORDINFO* pRecInfo;
152 byte* pRecord;
153 } *wireBRECORD;
154 typedef struct _wireSAFEARR_BRECORD {
155 ULONG Size;
156 wireBRECORD* aRecord;
157 } SAFEARR_BRECORD;
158 typedef struct _wireSAFEARR_HAVEIID {
159 ULONG Size;
160 IUnknown** apUnknown;
161 IID iid;
162 } SAFEARR_HAVEIID;
163 typedef struct _wireSAFEARRAY_UNION {
164 ULONG sfType;
165 union {
166 SAFEARR_BSTR BstrStr;
167 SAFEARR_UNKNOWN UnknownStr;
168 SAFEARR_DISPATCH DispatchStr;
169 SAFEARR_VARIANT VariantStr;
170 SAFEARR_BRECORD RecordStr;
171 SAFEARR_HAVEIID HaveIidStr;
172 BYTE_SIZEDARR ByteStr;
173 WORD_SIZEDARR WordStr;
174 DWORD_SIZEDARR LongStr;
175 HYPER_SIZEDARR HyperStr;
176 }u;
177 }SAFEARRAYUNION;
178 typedef struct _wireSAFEARRAY {
179 USHORT cDims;
180 USHORT fFeatures;
181 ULONG cbElements;
182 ULONG cLocks;
183 SAFEARRAYUNION uArrayStructs;
184 SAFEARRAYBOUND rgsabound[1];
185 }*wireSAFEARRAY;
186 typedef wireSAFEARRAY *wirePSAFEARRAY;
187 typedef struct tagSAFEARRAY {
188 USHORT cDims;
189 USHORT fFeatures;
190 ULONG cbElements;
191 ULONG cLocks;
192 PVOID pvData;
193 SAFEARRAYBOUND rgsabound[1];
194 }SAFEARRAY,*LPSAFEARRAY;
195 #if defined (__GNUC__) && !defined (NONAMELESSUNION)
196 __extension__ /* no named members */
197 #endif
198 typedef struct tagVARIANT {
199 _ANONYMOUS_UNION union {
200 struct __tagVARIANT {
201 VARTYPE vt;
202 WORD wReserved1;
203 WORD wReserved2;
204 WORD wReserved3;
205 _ANONYMOUS_UNION union {
206 long lVal;
207 LONGLONG llVal;
208 unsigned char bVal;
209 short iVal;
210 float fltVal;
211 double dblVal;
212 VARIANT_BOOL boolVal;
213 SCODE scode;
214 CY cyVal;
215 DATE date;
216 BSTR bstrVal;
217 IUnknown *punkVal;
218 LPDISPATCH pdispVal;
219 SAFEARRAY *parray;
220 unsigned char *pbVal;
221 short *piVal;
222 long *plVal;
223 float *pfltVal;
224 double *pdblVal;
225 VARIANT_BOOL *pboolVal;
226 _VARIANT_BOOL *pbool;
227 SCODE *pscode;
228 CY *pcyVal;
229 DATE *pdate;
230 BSTR *pbstrVal;
231 IUnknown **ppunkVal;
232 LPDISPATCH *ppdispVal;
233 SAFEARRAY **pparray;
234 struct tagVARIANT *pvarVal;
235 void *byref;
236 CHAR cVal;
237 USHORT uiVal;
238 ULONG ulVal;
239 ULONGLONG ullVal;
240 INT intVal;
241 UINT uintVal;
242 DECIMAL *pdecVal;
243 CHAR *pcVal;
244 USHORT *puiVal;
245 ULONG *pulVal;
246 INT *pintVal;
247 UINT *puintVal;
248 _ANONYMOUS_STRUCT struct __tagBRECORD {
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 TYPEFLAG_FPROXY=16384
436 } TYPEFLAGS;
437 typedef enum tagFUNCFLAGS {
438 FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4,
439 FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32,
440 FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256,
441 FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048,
442 FUNCFLAG_FIMMEDIATEBIND=4096
443 } FUNCFLAGS;
444 typedef enum tagVARFLAGS {
445 VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8,
446 VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128,
447 VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024,
448 VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096
449 } VARFLAGS;
450 typedef struct tagCLEANLOCALSTORAGE {
451 IUnknown *pInterface;
452 PVOID pStorage;
453 DWORD flags;
454 } CLEANLOCALSTORAGE;
455 typedef struct tagCUSTDATAITEM {
456 GUID guid;
457 VARIANTARG varValue;
458 } CUSTDATAITEM,*LPCUSTDATAITEM;
459 typedef struct tagCUSTDATA {
460 DWORD cCustData;
461 LPCUSTDATAITEM prgCustData;
462 } CUSTDATA,*LPCUSTDATA;
463
464 typedef enum tagDESCKIND {
465 DESCKIND_NONE=0,DESCKIND_FUNCDESC=DESCKIND_NONE+1,
466 DESCKIND_VARDESC=DESCKIND_FUNCDESC+1,DESCKIND_TYPECOMP=DESCKIND_VARDESC+1,
467 DESCKIND_IMPLICITAPPOBJ=DESCKIND_TYPECOMP+1,
468 DESCKIND_MAX=DESCKIND_IMPLICITAPPOBJ+1
469 } DESCKIND;
470
471 typedef union tagBINDPTR {
472 LPFUNCDESC lpfuncdesc;
473 LPVARDESC lpvardesc;
474 LPTYPECOMP lptcomp;
475 } BINDPTR,*LPBINDPTR;
476
477 #define INTERFACE IDispatch
478 DECLARE_INTERFACE_(IDispatch,IUnknown)
479 {
480 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
481 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
482 STDMETHOD_(ULONG,Release)(THIS) PURE;
483 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
484 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
485 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
486 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
487 };
488 #undef INTERFACE
489
490 #ifdef COBJMACROS
491 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
492 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
493 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
494 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
495 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
496 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
497 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
498 #endif
499
500 #define INTERFACE IEnumVARIANT
501 DECLARE_INTERFACE_(IEnumVARIANT,IUnknown)
502 {
503 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
504 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
505 STDMETHOD_(ULONG,Release)(THIS) PURE;
506 STDMETHOD(Next)(THIS_ ULONG,VARIANT*,ULONG*) PURE;
507 STDMETHOD(Skip)(THIS_ ULONG) PURE;
508 STDMETHOD(Reset)(THIS) PURE;
509 STDMETHOD(Clone)(THIS_ IEnumVARIANT**) PURE;
510 };
511 #undef INTERFACE
512
513 #ifdef COBJMACROS
514 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
515 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
516 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
517 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
518 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
519 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
520 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
521 #endif
522
523 #define INTERFACE ITypeComp
524 DECLARE_INTERFACE_(ITypeComp,IUnknown)
525 {
526 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
527 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
528 STDMETHOD_(ULONG,Release)(THIS) PURE;
529 STDMETHOD(Bind)(THIS_ LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPBINDPTR) PURE;
530 STDMETHOD(BindType)(THIS_ LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*) PURE;
531 };
532 #undef INTERFACE
533
534 #ifdef COBJMACROS
535 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
536 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
537 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
538 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
539 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
540 #endif
541
542 #define INTERFACE ITypeInfo
543 DECLARE_INTERFACE_(ITypeInfo,IUnknown)
544 {
545 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
546 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
547 STDMETHOD_(ULONG,Release)(THIS) PURE;
548 STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
549 STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
550 STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
551 STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
552 STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
553 STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
554 STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
555 STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
556 STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
557 STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
558 STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
559 STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
560 STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
561 STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
562 STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
563 STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
564 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
565 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
566 STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
567 };
568 #undef INTERFACE
569
570 #ifdef COBJMACROS
571 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
572 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
573 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
574 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
575 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
576 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
577 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
578 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
579 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
580 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
581 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
582 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
583 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
584 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
585 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
586 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
587 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
588 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
589 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
590 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
591 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
592 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
593 #endif
594
595 HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
596 ITypeInfo* This,
597 LPTYPEATTR* ppTypeAttr,
598 CLEANLOCALSTORAGE* pDummy);
599 void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
600 struct IRpcStubBuffer* This,
601 struct IRpcChannelBuffer* pRpcChannelBuffer,
602 PRPC_MESSAGE pRpcMessage,
603 DWORD* pdwStubPhase);
604 HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy(
605 ITypeInfo* This,
606 TYPEATTR** ppTypeAttr);
607 HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
608 ITypeInfo* This,
609 LPTYPEATTR* ppTypeAttr,
610 CLEANLOCALSTORAGE* pDummy);
611 HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy(
612 ITypeInfo* This,
613 ITypeComp** ppTComp);
614 void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
615 struct IRpcStubBuffer* This,
616 struct IRpcChannelBuffer* pRpcChannelBuffer,
617 PRPC_MESSAGE pRpcMessage,
618 DWORD* pdwStubPhase);
619 HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy(
620 ITypeInfo* This,
621 UINT index,
622 LPFUNCDESC* ppFuncDesc,
623 CLEANLOCALSTORAGE* pDummy);
624 void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
625 struct IRpcStubBuffer* This,
626 struct IRpcChannelBuffer* pRpcChannelBuffer,
627 PRPC_MESSAGE pRpcMessage,
628 DWORD* pdwStubPhase);
629 HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy(
630 ITypeInfo* This,
631 UINT index,
632 FUNCDESC** ppFuncDesc);
633 HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
634 ITypeInfo* This,
635 UINT index,
636 LPFUNCDESC* ppFuncDesc,
637 CLEANLOCALSTORAGE* pDummy);
638 HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy(
639 ITypeInfo* This,
640 UINT index,
641 LPVARDESC* ppVarDesc,
642 CLEANLOCALSTORAGE* pDummy);
643 void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
644 struct IRpcStubBuffer* This,
645 struct IRpcChannelBuffer* pRpcChannelBuffer,
646 PRPC_MESSAGE pRpcMessage,
647 DWORD* pdwStubPhase);
648 HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
649 ITypeInfo* This,
650 UINT index,
651 VARDESC** ppVarDesc);
652 HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
653 ITypeInfo* This,
654 UINT index,
655 LPVARDESC* ppVarDesc,
656 CLEANLOCALSTORAGE* pDummy);
657 HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy(
658 ITypeInfo* This,
659 MEMBERID memid,
660 BSTR* rgBstrNames,
661 UINT cMaxNames,
662 UINT* pcNames);
663 void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
664 struct IRpcStubBuffer* This,
665 struct IRpcChannelBuffer* pRpcChannelBuffer,
666 PRPC_MESSAGE pRpcMessage,
667 DWORD* pdwStubPhase);
668 HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
669 ITypeInfo* This,
670 MEMBERID memid,
671 BSTR* rgBstrNames,
672 UINT cMaxNames,
673 UINT* pcNames);
674 HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
675 ITypeInfo* This,
676 MEMBERID memid,
677 BSTR* rgBstrNames,
678 UINT cMaxNames,
679 UINT* pcNames);
680 HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy(
681 ITypeInfo* This,
682 UINT index,
683 HREFTYPE* pRefType);
684 void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
685 struct IRpcStubBuffer* This,
686 struct IRpcChannelBuffer* pRpcChannelBuffer,
687 PRPC_MESSAGE pRpcMessage,
688 DWORD* pdwStubPhase);
689 HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy(
690 ITypeInfo* This,
691 UINT index,
692 INT* pImplTypeFlags);
693 void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
694 struct IRpcStubBuffer* This,
695 struct IRpcChannelBuffer* pRpcChannelBuffer,
696 PRPC_MESSAGE pRpcMessage,
697 DWORD* pdwStubPhase);
698 HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy(
699 ITypeInfo* This);
700 void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
701 struct IRpcStubBuffer* This,
702 struct IRpcChannelBuffer* pRpcChannelBuffer,
703 PRPC_MESSAGE pRpcMessage,
704 DWORD* pdwStubPhase);
705 HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
706 ITypeInfo* This,
707 LPOLESTR* rgszNames,
708 UINT cNames,
709 MEMBERID* pMemId);
710 HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
711 ITypeInfo* This);
712 HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy(
713 ITypeInfo* This);
714 void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
715 struct IRpcStubBuffer* This,
716 struct IRpcChannelBuffer* pRpcChannelBuffer,
717 PRPC_MESSAGE pRpcMessage,
718 DWORD* pdwStubPhase);
719 HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
720 ITypeInfo* This,
721 PVOID pvInstance,
722 MEMBERID memid,
723 WORD wFlags,
724 DISPPARAMS* pDispParams,
725 VARIANT* pVarResult,
726 EXCEPINFO* pExcepInfo,
727 UINT* puArgErr);
728 HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
729 ITypeInfo* This);
730 HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy(
731 ITypeInfo* This,
732 MEMBERID memid,
733 DWORD refPtrFlags,
734 BSTR* pBstrName,
735 BSTR* pBstrDocString,
736 DWORD* pdwHelpContext,
737 BSTR* pBstrHelpFile);
738 void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
739 struct IRpcStubBuffer* This,
740 struct IRpcChannelBuffer* pRpcChannelBuffer,
741 PRPC_MESSAGE pRpcMessage,
742 DWORD* pdwStubPhase);
743 HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
744 ITypeInfo* This,
745 MEMBERID memid,
746 BSTR* pBstrName,
747 BSTR* pBstrDocString,
748 DWORD* pdwHelpContext,
749 BSTR* pBstrHelpFile);
750 HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
751 ITypeInfo* This,
752 MEMBERID memid,
753 DWORD refPtrFlags,
754 BSTR* pBstrName,
755 BSTR* pBstrDocString,
756 DWORD* pdwHelpContext,
757 BSTR* pBstrHelpFile);
758 HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy(
759 ITypeInfo* This,
760 MEMBERID memid,
761 INVOKEKIND invKind,
762 DWORD refPtrFlags,
763 BSTR* pBstrDllName,
764 BSTR* pBstrName,
765 WORD* pwOrdinal);
766 void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
767 struct IRpcStubBuffer* This,
768 struct IRpcChannelBuffer* pRpcChannelBuffer,
769 PRPC_MESSAGE pRpcMessage,
770 DWORD* pdwStubPhase);
771 HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
772 ITypeInfo* This,
773 MEMBERID memid,
774 INVOKEKIND invKind,
775 BSTR* pBstrDllName,
776 BSTR* pBstrName,
777 WORD* pwOrdinal);
778 HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
779 ITypeInfo* This,
780 MEMBERID memid,
781 INVOKEKIND invKind,
782 DWORD refPtrFlags,
783 BSTR* pBstrDllName,
784 BSTR* pBstrName,
785 WORD* pwOrdinal);
786 HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy(
787 ITypeInfo* This,
788 HREFTYPE hRefType,
789 ITypeInfo** ppTInfo);
790 void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
791 struct IRpcStubBuffer* This,
792 struct IRpcChannelBuffer* pRpcChannelBuffer,
793 PRPC_MESSAGE pRpcMessage,
794 DWORD* pdwStubPhase);
795 HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy(
796 ITypeInfo* This);
797 void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
798 struct IRpcStubBuffer* This,
799 struct IRpcChannelBuffer* pRpcChannelBuffer,
800 PRPC_MESSAGE pRpcMessage,
801 DWORD* pdwStubPhase);
802 HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
803 ITypeInfo* This,
804 MEMBERID memid,
805 INVOKEKIND invKind,
806 PVOID* ppv);
807 HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
808 ITypeInfo* This);
809 HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy(
810 ITypeInfo* This,
811 REFIID riid,
812 IUnknown** ppvObj);
813 void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
814 struct IRpcStubBuffer* This,
815 struct IRpcChannelBuffer* pRpcChannelBuffer,
816 PRPC_MESSAGE pRpcMessage,
817 DWORD* pdwStubPhase);
818 HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
819 ITypeInfo* This,
820 IUnknown* pUnkOuter,
821 REFIID riid,
822 PVOID* ppvObj);
823 HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
824 ITypeInfo* This,
825 REFIID riid,
826 IUnknown** ppvObj);
827 HRESULT CALLBACK ITypeInfo_GetMops_Proxy(
828 ITypeInfo* This,
829 MEMBERID memid,
830 BSTR* pBstrMops);
831 void __RPC_STUB ITypeInfo_GetMops_Stub(
832 struct IRpcStubBuffer* This,
833 struct IRpcChannelBuffer* pRpcChannelBuffer,
834 PRPC_MESSAGE pRpcMessage,
835 DWORD* pdwStubPhase);
836 HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy(
837 ITypeInfo* This,
838 ITypeLib** ppTLib,
839 UINT* pIndex);
840 void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
841 struct IRpcStubBuffer* This,
842 struct IRpcChannelBuffer* pRpcChannelBuffer,
843 PRPC_MESSAGE pRpcMessage,
844 DWORD* pdwStubPhase);
845 HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
846 ITypeInfo* This,
847 ITypeLib** ppTLib,
848 UINT* pIndex);
849 HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
850 ITypeInfo* This,
851 ITypeLib** ppTLib,
852 UINT* pIndex);
853 HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy(
854 ITypeInfo* This);
855 void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
856 struct IRpcStubBuffer* This,
857 struct IRpcChannelBuffer* pRpcChannelBuffer,
858 PRPC_MESSAGE pRpcMessage,
859 DWORD* pdwStubPhase);
860 void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
861 ITypeInfo* This,
862 TYPEATTR* pTypeAttr);
863 HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
864 ITypeInfo* This);
865 HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy(
866 ITypeInfo* This);
867 void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
868 struct IRpcStubBuffer* This,
869 struct IRpcChannelBuffer* pRpcChannelBuffer,
870 PRPC_MESSAGE pRpcMessage,
871 DWORD* pdwStubPhase);
872 void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
873 ITypeInfo* This,
874 FUNCDESC* pFuncDesc);
875 HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
876 ITypeInfo* This);
877 HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy(
878 ITypeInfo* This);
879 void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
880 struct IRpcStubBuffer* This,
881 struct IRpcChannelBuffer* pRpcChannelBuffer,
882 PRPC_MESSAGE pRpcMessage,
883 DWORD* pdwStubPhase);
884 void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
885 ITypeInfo* This,
886 VARDESC* pVarDesc);
887 HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
888 ITypeInfo* This);
889
890 #define INTERFACE ITypeInfo2
891 DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo)
892 {
893 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
894 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
895 STDMETHOD_(ULONG,Release)(THIS) PURE;
896 STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
897 STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
898 STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
899 STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
900 STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
901 STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
902 STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
903 STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
904 STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
905 STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
906 STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
907 STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
908 STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
909 STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
910 STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
911 STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
912 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
913 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
914 STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
915 STDMETHOD(GetTypeKind)(THIS_ TYPEKIND*) PURE;
916 STDMETHOD(GetTypeFlags)(THIS_ ULONG*) PURE;
917 STDMETHOD(GetFuncIndexOfMemId)(THIS_ MEMBERID,INVOKEKIND,UINT*) PURE;
918 STDMETHOD(GetVarIndexOfMemId)(THIS_ MEMBERID,UINT*) PURE;
919 STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
920 STDMETHOD(GetFuncCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
921 STDMETHOD(GetParamCustData)(THIS_ UINT,UINT,REFGUID,VARIANT*) PURE;
922 STDMETHOD(GetVarCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
923 STDMETHOD(GetImplTypeCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
924 STDMETHOD(GetDocumentation2)(THIS_ MEMBERID,LCID,BSTR*,DWORD*,BSTR*) PURE;
925 STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
926 STDMETHOD(GetAllFuncCustData)(THIS_ UINT,CUSTDATA*) PURE;
927 STDMETHOD(GetAllParamCustData)(THIS_ UINT,UINT,CUSTDATA*) PURE;
928 STDMETHOD(GetAllVarCustData)(THIS_ UINT,CUSTDATA*) PURE;
929 STDMETHOD(GetAllImplTypeCustData)(THIS_ UINT,CUSTDATA*) PURE;
930 };
931 #undef INTERFACE
932
933 #ifdef COBJMACROS
934 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
935 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
936 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
937 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
938 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
939 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
940 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
941 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
942 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
943 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
944 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
945 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
946 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
947 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
948 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
949 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
950 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
951 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
952 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
953 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
954 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
955 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
956 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
957 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
958 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
959 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
960 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
961 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
962 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
963 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
964 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
965 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
966 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
967 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
968 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
969 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
970 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
971 #endif
972
973 #define INTERFACE ITypeLib
974 DECLARE_INTERFACE_(ITypeLib,IUnknown)
975 {
976 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
977 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
978 STDMETHOD_(ULONG,Release)(THIS) PURE;
979 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
980 STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
981 STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
982 STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
983 STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
984 STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
985 STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
986 STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
987 STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
988 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
989 };
990 #undef INTERFACE
991
992 #ifdef COBJMACROS
993 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
994 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
995 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
996 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
997 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
998 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
999 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
1000 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
1001 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1002 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1003 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
1004 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
1005 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
1006 #endif
1007
1008 HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
1009 ITypeLib* This,
1010 UINT* pcTInfo);
1011 void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
1012 struct IRpcStubBuffer* This,
1013 struct IRpcChannelBuffer* pRpcChannelBuffer,
1014 PRPC_MESSAGE pRpcMessage,
1015 DWORD* pdwStubPhase);
1016 UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
1017 ITypeLib* This);
1018 HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
1019 ITypeLib* This,
1020 UINT* pcTInfo);
1021 HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy(
1022 ITypeLib* This,
1023 UINT index,
1024 ITypeInfo** ppTInfo);
1025 void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
1026 struct IRpcStubBuffer* This,
1027 struct IRpcChannelBuffer* pRpcChannelBuffer,
1028 PRPC_MESSAGE pRpcMessage,
1029 DWORD* pdwStubPhase);
1030 HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy(
1031 ITypeLib* This,
1032 UINT index,
1033 TYPEKIND* pTKind);
1034 void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
1035 struct IRpcStubBuffer* This,
1036 struct IRpcChannelBuffer* pRpcChannelBuffer,
1037 PRPC_MESSAGE pRpcMessage,
1038 DWORD* pdwStubPhase);
1039 HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy(
1040 ITypeLib* This,
1041 REFGUID guid,
1042 ITypeInfo** ppTinfo);
1043 void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
1044 struct IRpcStubBuffer* This,
1045 struct IRpcChannelBuffer* pRpcChannelBuffer,
1046 PRPC_MESSAGE pRpcMessage,
1047 DWORD* pdwStubPhase);
1048 HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy(
1049 ITypeLib* This,
1050 LPTLIBATTR* ppTLibAttr,
1051 CLEANLOCALSTORAGE* pDummy);
1052 void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
1053 struct IRpcStubBuffer* This,
1054 struct IRpcChannelBuffer* pRpcChannelBuffer,
1055 PRPC_MESSAGE pRpcMessage,
1056 DWORD* pdwStubPhase);
1057 HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
1058 ITypeLib* This,
1059 TLIBATTR** ppTLibAttr);
1060 HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
1061 ITypeLib* This,
1062 LPTLIBATTR* ppTLibAttr,
1063 CLEANLOCALSTORAGE* pDummy);
1064 HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy(
1065 ITypeLib* This,
1066 ITypeComp** ppTComp);
1067 void __RPC_STUB ITypeLib_GetTypeComp_Stub(
1068 struct IRpcStubBuffer* This,
1069 struct IRpcChannelBuffer* pRpcChannelBuffer,
1070 PRPC_MESSAGE pRpcMessage,
1071 DWORD* pdwStubPhase);
1072 HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy(
1073 ITypeLib* This,
1074 INT index,
1075 DWORD refPtrFlags,
1076 BSTR* pBstrName,
1077 BSTR* pBstrDocString,
1078 DWORD* pdwHelpContext,
1079 BSTR* pBstrHelpFile);
1080 void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
1081 struct IRpcStubBuffer* This,
1082 struct IRpcChannelBuffer* pRpcChannelBuffer,
1083 PRPC_MESSAGE pRpcMessage,
1084 DWORD* pdwStubPhase);
1085 HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
1086 ITypeLib* This,
1087 INT index,
1088 BSTR* pBstrName,
1089 BSTR* pBstrDocString,
1090 DWORD* pdwHelpContext,
1091 BSTR* pBstrHelpFile);
1092 HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
1093 ITypeLib* This,
1094 INT index,
1095 DWORD refPtrFlags,
1096 BSTR* pBstrName,
1097 BSTR* pBstrDocString,
1098 DWORD* pdwHelpContext,
1099 BSTR* pBstrHelpFile);
1100 HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy(
1101 ITypeLib* This,
1102 LPOLESTR szNameBuf,
1103 ULONG lHashVal,
1104 BOOL* pfName,
1105 BSTR* pBstrLibName);
1106 void __RPC_STUB ITypeLib_RemoteIsName_Stub(
1107 struct IRpcStubBuffer* This,
1108 struct IRpcChannelBuffer* pRpcChannelBuffer,
1109 PRPC_MESSAGE pRpcMessage,
1110 DWORD* pdwStubPhase);
1111 HRESULT CALLBACK ITypeLib_IsName_Proxy(
1112 ITypeLib* This,
1113 LPOLESTR szNameBuf,
1114 ULONG lHashVal,
1115 BOOL* pfName);
1116 HRESULT __RPC_STUB ITypeLib_IsName_Stub(
1117 ITypeLib* This,
1118 LPOLESTR szNameBuf,
1119 ULONG lHashVal,
1120 BOOL* pfName,
1121 BSTR* pBstrLibName);
1122 HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy(
1123 ITypeLib* This,
1124 LPOLESTR szNameBuf,
1125 ULONG lHashVal,
1126 ITypeInfo** ppTInfo,
1127 MEMBERID* rgMemId,
1128 USHORT* pcFound,
1129 BSTR* pBstrLibName);
1130 void __RPC_STUB ITypeLib_RemoteFindName_Stub(
1131 struct IRpcStubBuffer* This,
1132 struct IRpcChannelBuffer* pRpcChannelBuffer,
1133 PRPC_MESSAGE pRpcMessage,
1134 DWORD* pdwStubPhase);
1135 HRESULT CALLBACK ITypeLib_FindName_Proxy(
1136 ITypeLib* This,
1137 LPOLESTR szNameBuf,
1138 ULONG lHashVal,
1139 ITypeInfo** ppTInfo,
1140 MEMBERID* rgMemId,
1141 USHORT* pcFound);
1142 HRESULT __RPC_STUB ITypeLib_FindName_Stub(
1143 ITypeLib* This,
1144 LPOLESTR szNameBuf,
1145 ULONG lHashVal,
1146 ITypeInfo** ppTInfo,
1147 MEMBERID* rgMemId,
1148 USHORT* pcFound,
1149 BSTR* pBstrLibName);
1150 HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy(
1151 ITypeLib* This);
1152 void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
1153 struct IRpcStubBuffer* This,
1154 struct IRpcChannelBuffer* pRpcChannelBuffer,
1155 PRPC_MESSAGE pRpcMessage,
1156 DWORD* pdwStubPhase);
1157 void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
1158 ITypeLib* This,
1159 TLIBATTR* pTLibAttr);
1160 HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
1161 ITypeLib* This);
1162
1163 #define INTERFACE ITypeLib2
1164 DECLARE_INTERFACE_(ITypeLib2,ITypeLib)
1165 {
1166 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1167 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1168 STDMETHOD_(ULONG,Release)(THIS) PURE;
1169 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
1170 STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
1171 STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
1172 STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
1173 STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
1174 STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
1175 STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
1176 STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
1177 STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
1178 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
1179 STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
1180 STDMETHOD(GetLibStatistics)(THIS_ ULONG*,ULONG*) PURE;
1181 STDMETHOD(GetDocumentation2)(THIS_ INT,LCID,BSTR*,DWORD*,BSTR*) PURE;
1182 STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
1183 };
1184 #undef INTERFACE
1185
1186 #ifdef COBJMACROS
1187 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1188 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
1189 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
1190 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
1191 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
1192 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
1193 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
1194 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
1195 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1196 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1197 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
1198 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
1199 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
1200 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1201 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
1202 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
1203 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
1204 #endif
1205
1206 #define INTERFACE ITypeFactory
1207 DECLARE_INTERFACE_(ITypeFactory,IUnknown)
1208 {
1209 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1210 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1211 STDMETHOD_(ULONG,Release)(THIS) PURE;
1212 STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
1213 STDMETHOD(CreateFromTypeInfo)(THIS_ LPTYPEINFO,REFIID,LPUNKNOWN*);
1214 };
1215 #undef INTERFACE
1216
1217 #ifdef COBJMACROS
1218 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1219 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
1220 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
1221 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
1222 #endif
1223
1224 #define INTERFACE ICreateTypeInfo
1225 DECLARE_INTERFACE_(ICreateTypeInfo,IUnknown)
1226 {
1227 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1228 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1229 STDMETHOD_(ULONG,Release)(THIS) PURE;
1230 STDMETHOD(SetGuid)(THIS_ REFGUID) PURE;
1231 STDMETHOD(SetTypeFlags)(THIS_ UINT) PURE;
1232 STDMETHOD(SetDocString)(THIS_ LPOLESTR) PURE;
1233 STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
1234 STDMETHOD(SetVersion)(THIS_ WORD,WORD) PURE;
1235 STDMETHOD(AddRefTypeInfo)(THIS_ ITypeInfo*,HREFTYPE*) PURE;
1236 STDMETHOD(AddFuncDesc)(THIS_ UINT,FUNCDESC*) PURE;
1237 STDMETHOD(AddImplType)(THIS_ UINT,HREFTYPE) PURE;
1238 STDMETHOD(SetImplTypeFlags)(THIS_ UINT,INT) PURE;
1239 STDMETHOD(SetAlignment)(THIS_ WORD) PURE;
1240 STDMETHOD(SetSchema)(THIS_ LPOLESTR) PURE;
1241 STDMETHOD(AddVarDesc)(THIS_ UINT,VARDESC*) PURE;
1242 STDMETHOD(SetFuncAndParamNames)(THIS_ UINT,LPOLESTR*,UINT) PURE;
1243 STDMETHOD(SetVarName)(THIS_ UINT,LPOLESTR) PURE;
1244 STDMETHOD(SetTypeDescAlias)(THIS_ TYPEDESC*) PURE;
1245 STDMETHOD(DefineFuncAsDllEntry)(THIS_ UINT,LPOLESTR,LPOLESTR) PURE;
1246 STDMETHOD(SetFuncDocString)(THIS_ UINT,LPOLESTR) PURE;
1247 STDMETHOD(SetVarDocString)(THIS_ UINT,LPOLESTR) PURE;
1248 STDMETHOD(SetFuncHelpContext)(THIS_ UINT,DWORD) PURE;
1249 STDMETHOD(SetVarHelpContext)(THIS_ UINT,DWORD) PURE;
1250 STDMETHOD(SetMops)(THIS_ UINT,BSTR) PURE;
1251 STDMETHOD(SetTypeIdldesc)(THIS_ IDLDESC*) PURE;
1252 STDMETHOD(LayOut)(THIS) PURE;
1253 };
1254 #undef INTERFACE
1255
1256 #ifdef COBJMACROS
1257 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1258 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1259 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
1260 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
1261 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
1262 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
1263 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
1264 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
1265 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
1266 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
1267 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
1268 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
1269 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
1270 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
1271 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
1272 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
1273 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
1274 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
1275 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
1276 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
1277 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
1278 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
1279 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
1280 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
1281 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
1282 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
1283 #endif
1284
1285 #define INTERFACE ICreateTypeInfo2
1286 DECLARE_INTERFACE_(ICreateTypeInfo2,IUnknown)
1287 {
1288 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1289 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1290 STDMETHOD_(ULONG,Release)(THIS) PURE;
1291 STDMETHOD(SetGuid)(THIS_ REFGUID) PURE;
1292 STDMETHOD(SetTypeFlags)(THIS_ UINT) PURE;
1293 STDMETHOD(SetDocString)(THIS_ LPOLESTR) PURE;
1294 STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
1295 STDMETHOD(SetVersion)(THIS_ WORD,WORD) PURE;
1296 STDMETHOD(AddRefTypeInfo)(THIS_ ITypeInfo*,HREFTYPE*) PURE;
1297 STDMETHOD(AddFuncDesc)(THIS_ UINT,FUNCDESC*) PURE;
1298 STDMETHOD(AddImplType)(THIS_ UINT,HREFTYPE) PURE;
1299 STDMETHOD(SetImplTypeFlags)(THIS_ UINT,INT) PURE;
1300 STDMETHOD(SetAlignment)(THIS_ WORD) PURE;
1301 STDMETHOD(SetSchema)(THIS_ LPOLESTR) PURE;
1302 STDMETHOD(AddVarDesc)(THIS_ UINT,VARDESC*) PURE;
1303 STDMETHOD(SetFuncAndParamNames)(THIS_ UINT,LPOLESTR*,UINT) PURE;
1304 STDMETHOD(SetVarName)(THIS_ UINT,LPOLESTR) PURE;
1305 STDMETHOD(SetTypeDescAlias)(THIS_ TYPEDESC*) PURE;
1306 STDMETHOD(DefineFuncAsDllEntry)(THIS_ UINT,LPOLESTR,LPOLESTR) PURE;
1307 STDMETHOD(SetFuncDocString)(THIS_ UINT,LPOLESTR) PURE;
1308 STDMETHOD(SetVarDocString)(THIS_ UINT,LPOLESTR) PURE;
1309 STDMETHOD(SetFuncHelpContext)(THIS_ UINT,DWORD) PURE;
1310 STDMETHOD(SetVarHelpContext)(THIS_ UINT,DWORD) PURE;
1311 STDMETHOD(SetMops)(THIS_ UINT,BSTR) PURE;
1312 STDMETHOD(SetTypeIdldesc)(THIS_ IDLDESC*) PURE;
1313 STDMETHOD(LayOut)(THIS) PURE;
1314 STDMETHOD(DeleteFuncDesc)(THIS_ UINT) PURE;
1315 STDMETHOD(DeleteFuncDescByMemId)(THIS_ MEMBERID, INVOKEKIND) PURE;
1316 STDMETHOD(DeleteVarDesc)(THIS_ UINT) PURE;
1317 STDMETHOD(DeleteVarDescByMemId)(THIS_ MEMBERID) PURE;
1318 STDMETHOD(DeleteImplType)(THIS_ UINT) PURE;
1319 STDMETHOD(SetCustData)(THIS_ REFGUID, VARIANT*) PURE;
1320 STDMETHOD(SetFuncCustData)(THIS_ UINT, REFGUID, VARIANT*) PURE;
1321 STDMETHOD(SetParamCustData)(THIS_ UINT, UINT, REFGUID, VARIANT*) PURE;
1322 STDMETHOD(SetVarCustData)(THIS_ UINT, REFGUID, VARIANT*) PURE;
1323 STDMETHOD(SetImplTypeCustData)(THIS_ UINT, REFGUID, VARIANT*) PURE;
1324 STDMETHOD(SetHelpStringContext)(THIS_ ULONG) PURE;
1325 STDMETHOD(SetFuncHelpStringContext)(THIS_ UINT, ULONG) PURE;
1326 STDMETHOD(SetVarHelpStringContext)(THIS_ UINT, ULONG) PURE;
1327 STDMETHOD(Invalidate)(THIS) PURE;
1328 STDMETHOD(SetName)(THIS_ LPOLESTR) PURE;
1329 };
1330 #undef INTERFACE
1331
1332 #ifdef COBJMACROS
1333 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1334 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1335 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1336 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
1337 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
1338 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
1339 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
1340 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
1341 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
1342 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
1343 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
1344 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
1345 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
1346 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
1347 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
1348 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
1349 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
1350 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
1351 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
1352 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
1353 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
1354 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
1355 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
1356 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
1357 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
1358 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
1359 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
1360 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
1361 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
1362 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
1363 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
1364 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
1365 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
1366 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
1367 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
1368 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
1369 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
1370 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
1371 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
1372 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
1373 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1374 #endif
1375
1376 #define INTERFACE ICreateTypeLib
1377 DECLARE_INTERFACE_(ICreateTypeLib,IUnknown)
1378 {
1379 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1380 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1381 STDMETHOD_(ULONG,Release)(THIS) PURE;
1382 STDMETHOD(CreateTypeInfo)(THIS_ LPOLESTR,TYPEKIND,ICreateTypeInfo**) PURE;
1383 STDMETHOD(SetName)(THIS_ LPOLESTR) PURE;
1384 STDMETHOD(SetVersion)(THIS_ WORD,WORD) PURE;
1385 STDMETHOD(SetGuid)(THIS_ REFGUID) PURE;
1386 STDMETHOD(SetDocString)(THIS_ LPOLESTR) PURE;
1387 STDMETHOD(SetHelpFileName)(THIS_ LPOLESTR) PURE;
1388 STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
1389 STDMETHOD(SetLcid)(THIS_ LCID) PURE;
1390 STDMETHOD(SetLibFlags)(THIS_ UINT) PURE;
1391 STDMETHOD(SaveAllChanges)(THIS) PURE;
1392 };
1393 #undef INTERFACE
1394
1395 #ifdef COBJMACROS
1396 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1397 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
1398 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
1399 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
1400 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1401 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
1402 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
1403 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
1404 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
1405 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
1406 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
1407 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
1408 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
1409 #endif
1410
1411 #define INTERFACE ICreateTypeLib2
1412 DECLARE_INTERFACE_(ICreateTypeLib2,IUnknown)
1413 {
1414 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1415 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1416 STDMETHOD_(ULONG,Release)(THIS) PURE;
1417 STDMETHOD(CreateTypeInfo)(THIS_ LPOLESTR,TYPEKIND,ICreateTypeInfo**) PURE;
1418 STDMETHOD(SetName)(THIS_ LPOLESTR) PURE;
1419 STDMETHOD(SetVersion)(THIS_ WORD,WORD) PURE;
1420 STDMETHOD(SetGuid)(THIS_ REFGUID) PURE;
1421 STDMETHOD(SetDocString)(THIS_ LPOLESTR) PURE;
1422 STDMETHOD(SetHelpFileName)(THIS_ LPOLESTR) PURE;
1423 STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
1424 STDMETHOD(SetLcid)(THIS_ LCID) PURE;
1425 STDMETHOD(SetLibFlags)(THIS_ UINT) PURE;
1426 STDMETHOD(SaveAllChanges)(THIS) PURE;
1427 STDMETHOD(DeleteTypeInfo)(THIS_ LPOLESTR) PURE;
1428 STDMETHOD(SetCustData)(THIS_ REFGUID, VARIANT*) PURE;
1429 STDMETHOD(SetHelpStringContext)(THIS_ ULONG) PURE;
1430 STDMETHOD(SetHelpStringDll)(THIS_ LPOLESTR) PURE;
1431 };
1432 #undef INTERFACE
1433
1434 #ifdef COBJMACROS
1435 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1436 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
1437 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
1438 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
1439 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1440 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
1441 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
1442 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
1443 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
1444 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
1445 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
1446 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
1447 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
1448 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
1449 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
1450 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
1451 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
1452 #endif
1453
1454 EXTERN_C const IID IID_IErrorInfo;
1455 #define INTERFACE IErrorInfo
1456 DECLARE_INTERFACE_(IErrorInfo, IUnknown)
1457 {
1458 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1459 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1460 STDMETHOD_(ULONG,Release)(THIS) PURE;
1461 STDMETHOD(GetGUID)(THIS_ GUID*) PURE;
1462 STDMETHOD(GetSource)(THIS_ BSTR*) PURE;
1463 STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
1464 STDMETHOD(GetHelpFile)(THIS_ BSTR*) PURE;
1465 STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE;
1466 };
1467 #undef INTERFACE
1468
1469 #ifdef COBJMACROS
1470 #define IErrorInfo_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
1471 #define IErrorInfo_AddRef(T) (T)->lpVtbl->AddRef(T)
1472 #define IErrorInfo_Release(T) (T)->lpVtbl->Release(T)
1473 #define IErrorInfo_GetGUID(T,a) (T)->lpVtbl->GetGUID(T,a)
1474 #define IErrorInfo_GetSource(T,a) (T)->lpVtbl->GetSource(T,a)
1475 #define IErrorInfo_GetDescription(T,a) (T)->lpVtbl->GetDescription(T,a)
1476 #define IErrorInfo_GetHelpFile(T,a) (T)->lpVtbl->GetHelpFile(T,a)
1477 #define IErrorInfo_GetHelpContext(T,a) (T)->lpVtbl->GetHelpContext(T,a)
1478 #endif
1479
1480 EXTERN_C const IID IID_ICreateErrorInfo;
1481 #define INTERFACE ICreateErrorInfo
1482 DECLARE_INTERFACE_(ICreateErrorInfo, IUnknown)
1483 {
1484 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*)PURE;
1485 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1486 STDMETHOD_(ULONG,Release)(THIS) PURE;
1487 STDMETHOD(SetGUID)(THIS_ REFGUID) PURE;
1488 STDMETHOD(SetSource)(THIS_ LPOLESTR) PURE;
1489 STDMETHOD(SetDescription)(THIS_ LPOLESTR) PURE;
1490 STDMETHOD(SetHelpFile)(THIS_ LPOLESTR) PURE;
1491 STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
1492 };
1493 #undef INTERFACE
1494
1495 EXTERN_C const IID IID_ISupportErrorInfo;
1496 #define INTERFACE ISupportErrorInfo
1497 DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown)
1498 {
1499 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1500 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1501 STDMETHOD_(ULONG,Release)(THIS) PURE;
1502 STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE;
1503 };
1504 #undef INTERFACE
1505
1506 EXTERN_C const IID IID_IRecordInfo;
1507 #define INTERFACE IRecordInfo
1508 DECLARE_INTERFACE_(IRecordInfo, IUnknown)
1509 {
1510 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1511 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1512 STDMETHOD_(ULONG,Release)(THIS) PURE;
1513 STDMETHOD(RecordInit)(THIS_ PVOID) PURE;
1514 STDMETHOD(RecordClear)(THIS_ PVOID) PURE;
1515 STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE;
1516 STDMETHOD(GetGuid)(THIS_ GUID*) PURE;
1517 STDMETHOD(GetName)(THIS_ BSTR*) PURE;
1518 STDMETHOD(GetSize)(THIS_ ULONG*) PURE;
1519 STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE;
1520 STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE;
1521 STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE;
1522 STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE;
1523 STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE;
1524 STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE;
1525 STDMETHOD_(BOOL,IsMatchingType)(THIS_ THIS) PURE;
1526 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE;
1527 STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE;
1528 STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE;
1529 };
1530 #undef INTERFACE
1531
1532 #ifdef COBJMACROS
1533 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1534 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1535 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
1536 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
1537 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
1538 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
1539 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
1540 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
1541 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
1542 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
1543 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
1544 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
1545 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
1546 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
1547 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
1548 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
1549 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
1550 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
1551 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
1552 #endif
1553
1554 EXTERN_C const IID IID_ITypeMarshal;
1555 #define INTERFACE ITypeMarshal
1556 DECLARE_INTERFACE_(ITypeMarshal, IUnknown)
1557 {
1558 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1559 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1560 STDMETHOD_(ULONG,Release)(THIS) PURE;
1561 STDMETHOD(Size)(THIS_ PVOID,DWORD,PVOID,ULONG*) PURE;
1562 STDMETHOD(Marshal)(THIS_ PVOID,DWORD,PVOID,ULONG,BYTE*,ULONG*) PURE;
1563 STDMETHOD(Unmarshal)(THIS_ PVOID,DWORD,ULONG,BYTE*,ULONG*) PURE;
1564 STDMETHOD(Free)(THIS_ PVOID) PURE;
1565 };
1566 #undef INTERFACE
1567
1568 unsigned long __RPC_USER BSTR_UserSize(unsigned long*,unsigned long,LPBSTR);
1569 unsigned char* __RPC_USER BSTR_UserMarshal(unsigned long*,unsigned char*,LPBSTR);
1570 unsigned char* __RPC_USER BSTR_UserUnmarshal(unsigned long*,unsigned char*,LPBSTR);
1571 void __RPC_USER BSTR_UserFree(unsigned long*,LPBSTR);
1572 unsigned long __RPC_USER CLEANLOCALSTORAGE_UserSize(unsigned long*,unsigned long,CLEANLOCALSTORAGE*);
1573 unsigned char* __RPC_USER CLEANLOCALSTORAGE_UserMarshal(unsigned long*,unsigned char*,CLEANLOCALSTORAGE*);
1574 unsigned char* __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(unsigned long*,unsigned char*,CLEANLOCALSTORAGE*);
1575 void __RPC_USER CLEANLOCALSTORAGE_UserFree(unsigned long*,CLEANLOCALSTORAGE*);
1576 unsigned long __RPC_USER VARIANT_UserSize(unsigned long*,unsigned long,LPVARIANT);
1577 unsigned char* __RPC_USER VARIANT_UserMarshal(unsigned long*,unsigned char*,LPVARIANT);
1578 unsigned char* __RPC_USER VARIANT_UserUnmarshal(unsigned long*,unsigned char*,LPVARIANT);
1579 void __RPC_USER VARIANT_UserFree(unsigned long*,LPVARIANT);
1580 HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Proxy(LPDISPATCH,DISPID,REFIID,LCID,WORD,DISPPARAMS*,LPVARIANT,LPEXCEPINFO,LPUINT);
1581 HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Stub(LPDISPATCH,DISPID,REFIID,LCID,DWORD,DISPPARAMS*,LPVARIANT,LPEXCEPINFO,LPUINT,UINT,LPUINT,LPVARIANTARG);
1582 HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy(LPDISPATCH,DISPID,REFIID,LCID,DWORD,DISPPARAMS*,LPVARIANT,LPEXCEPINFO,LPUINT,UINT,LPUINT,LPVARIANTARG);
1583 HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Proxy(LPENUMVARIANT,ULONG,LPVARIANT,PULONG);
1584 HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Stub(LPENUMVARIANT,ULONG,LPVARIANT,PULONG);
1585 HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy(LPENUMVARIANT,ULONG,LPVARIANT,PULONG);
1586 HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Proxy(LPTYPECOMP,LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,BINDPTR*);
1587 HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Stub(LPTYPECOMP,LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPFUNCDESC*,LPVARDESC*,LPTYPECOMP*,CLEANLOCALSTORAGE*);
1588 HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Proxy(LPTYPECOMP,LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*);
1589 HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Stub(LPTYPECOMP,LPOLESTR,ULONG,LPTYPEINFO*);
1590 HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Proxy(LPTYPEINFO,LPTYPEATTR*);
1591 HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Stub(LPTYPEINFO,LPTYPEATTR*,CLEANLOCALSTORAGE*);
1592 HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Proxy(LPTYPEINFO,UINT,FUNCDESC**);
1593 HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Stub(LPTYPEINFO,UINT,LPFUNCDESC*,CLEANLOCALSTORAGE*);
1594 HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Proxy(LPTYPEINFO,UINT,LPVARDESC*);
1595 HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Stub(LPTYPEINFO,UINT,LPVARDESC*,CLEANLOCALSTORAGE*);
1596 HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Proxy(LPTYPEINFO,MEMBERID,LPBSTR,UINT,LPUINT);
1597 HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Stub(LPTYPEINFO,MEMBERID,LPBSTR,UINT,LPUINT);
1598 HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Proxy(LPTYPEINFO,LPOLESTR*,UINT,MEMBERID*);
1599 HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Stub(LPTYPEINFO);
1600 HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Proxy(LPTYPEINFO,PVOID,MEMBERID,WORD,DISPPARAMS*,LPVARIANT,LPEXCEPINFO,LPUINT);
1601 HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Stub(LPTYPEINFO);
1602 HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Proxy(LPTYPEINFO,MEMBERID,LPBSTR,LPBSTR,LPDWORD,LPBSTR);
1603 HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Stub(LPTYPEINFO,MEMBERID,DWORD,LPBSTR,LPBSTR,LPDWORD,LPBSTR);
1604 HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Proxy(LPTYPEINFO,MEMBERID,INVOKEKIND,LPBSTR,LPBSTR,LPWORD);
1605 HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Stub(LPTYPEINFO,MEMBERID,INVOKEKIND,DWORD,LPBSTR,LPBSTR,LPWORD);
1606 HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Proxy(LPTYPEINFO,MEMBERID,INVOKEKIND,PVOID*);
1607 HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Stub(LPTYPEINFO);
1608 HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Proxy(LPTYPEINFO,LPUNKNOWN,REFIID,PVOID*);
1609 HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Stub(LPTYPEINFO,REFIID,LPUNKNOWN*);
1610 HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Proxy(LPTYPEINFO,LPTYPELIB*,PUINT);
1611 HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Stub(LPTYPEINFO,LPTYPELIB*,PUINT);
1612 void STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Proxy(LPTYPEINFO,LPTYPEATTR);
1613 HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Stub(LPTYPEINFO);
1614 void STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Proxy(LPTYPEINFO,LPFUNCDESC);
1615 HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Stub(LPTYPEINFO);
1616 void STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Proxy(LPTYPEINFO,VARDESC*);
1617 HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Stub(LPTYPEINFO);
1618 HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Proxy(LPTYPEINFO2,MEMBERID,LCID,LPBSTR,LPDWORD,LPBSTR);
1619 HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Stub(LPTYPEINFO2,MEMBERID,LCID,DWORD,LPBSTR,LPDWORD,LPBSTR);
1620 UINT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Proxy(LPTYPELIB);
1621 HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Stub(LPTYPELIB,PUINT);
1622 HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Proxy(LPTYPELIB,LPTLIBATTR*);
1623 HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Stub(LPTYPELIB,LPTLIBATTR*,CLEANLOCALSTORAGE*);
1624 HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Proxy(LPTYPELIB,INT,LPBSTR,LPBSTR,LPDWORD,LPBSTR);
1625 HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Stub(LPTYPELIB,INT,DWORD,LPBSTR,LPBSTR,LPDWORD,LPBSTR);
1626 HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Proxy(LPTYPELIB,LPOLESTR,ULONG,LPBOOL);
1627 HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Stub(LPTYPELIB,LPOLESTR,ULONG,LPBOOL,LPBSTR);
1628 HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Proxy(LPTYPELIB,LPOLESTR,ULONG,LPTYPEINFO*,MEMBERID*,PUSHORT);
1629 HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Stub(LPTYPELIB,LPOLESTR,ULONG,LPTYPEINFO*,MEMBERID*,PUSHORT,LPBSTR);
1630 void STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Proxy(LPTYPELIB,LPTLIBATTR);
1631 HRESULT STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Stub(LPTYPELIB);
1632 HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Proxy(LPTYPELIB2,PULONG,PULONG);
1633 HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Stub(LPTYPELIB2,PULONG,PULONG);
1634 HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Proxy(LPTYPELIB2,INT,LCID,LPBSTR,LPDWORD,LPBSTR);
1635 HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Stub(LPTYPELIB2,INT,LCID,DWORD,LPBSTR,LPDWORD,LPBSTR);
1636
1637 #ifdef __cplusplus
1638 }
1639 #endif
1640 #endif