Convert initData as well.
[wine/multimedia.git] / include / oaidl.h
blobb48c9280c1e42c6ba7ba4ddc3d333e3349879ea2
1 /*** Autogenerated by WIDL 0.1 from oaidl.idl - Do not edit ***/
2 #include "rpc.h"
3 #include "rpcndr.h"
5 #ifndef __WIDL_OAIDL_H
6 #define __WIDL_OAIDL_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include "objidl.h"
11 #ifndef __IDispatch_FWD_DEFINED__
12 #define __IDispatch_FWD_DEFINED__
13 typedef struct IDispatch IDispatch;
14 #endif
16 #ifndef __ITypeInfo_FWD_DEFINED__
17 #define __ITypeInfo_FWD_DEFINED__
18 typedef struct ITypeInfo ITypeInfo;
19 #endif
21 #ifndef __ITypeLib_FWD_DEFINED__
22 #define __ITypeLib_FWD_DEFINED__
23 typedef struct ITypeLib ITypeLib;
24 #endif
26 #ifndef __IRecordInfo_FWD_DEFINED__
27 #define __IRecordInfo_FWD_DEFINED__
28 typedef struct IRecordInfo IRecordInfo;
29 #endif
31 typedef CY CURRENCY;
33 typedef struct tagSAFEARRAYBOUND {
34 ULONG cElements;
35 LONG lLbound;
36 } SAFEARRAYBOUND, *LPSAFEARRAYBOUND;
38 typedef struct _wireVARIANT *wireVARIANT;
40 typedef struct _wireBRECORD *wireBRECORD;
42 typedef struct _wireSAFEARR_BSTR {
43 ULONG Size;
44 wireBSTR *aBstr;
45 } SAFEARR_BSTR;
47 typedef struct _wireSAFEARR_UNKNOWN {
48 ULONG Size;
49 IUnknown **apUnknown;
50 } SAFEARR_UNKNOWN;
52 typedef struct _wireSAFEARR_DISPATCH {
53 ULONG Size;
54 IDispatch **apDispatch;
55 } SAFEARR_DISPATCH;
57 typedef struct _wireSAFEARR_VARIANT {
58 ULONG Size;
59 wireVARIANT *aVariant;
60 } SAFEARR_VARIANT;
62 typedef struct _wireSAFEARR_BRECORD {
63 ULONG Size;
64 wireBRECORD *aRecord;
65 } SAFEARR_BRECORD;
67 typedef struct _wireSAFEARR_HAVEIID {
68 ULONG Size;
69 IUnknown **apUnknown;
70 IID iid;
71 } SAFEARR_HAVEIID;
73 typedef enum tagSF_TYPE {
74 SF_ERROR = VT_ERROR,
75 SF_I1 = VT_I1,
76 SF_I2 = VT_I2,
77 SF_I4 = VT_I4,
78 SF_I8 = VT_I8,
79 SF_BSTR = VT_BSTR,
80 SF_UNKNOWN = VT_UNKNOWN,
81 SF_DISPATCH = VT_DISPATCH,
82 SF_VARIANT = VT_VARIANT,
83 SF_RECORD = VT_RECORD,
84 SF_HAVEIID = VT_UNKNOWN | VT_RESERVED
85 } SF_TYPE;
87 typedef struct _wireSAFEARRAY_UNION {
88 ULONG sfType;
89 union {
90 SAFEARR_BSTR BstrStr;
91 SAFEARR_UNKNOWN UnknownStr;
92 SAFEARR_DISPATCH DispatchStr;
93 SAFEARR_VARIANT VariantStr;
94 SAFEARR_BRECORD RecordStr;
95 SAFEARR_HAVEIID HaveIidStr;
96 BYTE_SIZEDARR ByteStr;
97 WORD_SIZEDARR WordStr;
98 DWORD_SIZEDARR LongStr;
99 HYPER_SIZEDARR HyperStr;
100 } u;
101 } SAFEARRAYUNION;
103 typedef struct _wireSAFEARRAY {
104 USHORT cDims;
105 USHORT fFeatures;
106 ULONG cbElements;
107 ULONG cLocks;
108 SAFEARRAYUNION uArrayStructs;
109 SAFEARRAYBOUND rgsabound[1];
110 } *wireSAFEARRAY;
112 typedef wireSAFEARRAY *wirePSAFEARRAY;
114 typedef struct tagSAFEARRAY {
115 USHORT cDims;
116 USHORT fFeatures;
117 ULONG cbElements;
118 ULONG cLocks;
119 PVOID pvData;
120 SAFEARRAYBOUND rgsabound[1];
121 } SAFEARRAY;
123 typedef SAFEARRAY *LPSAFEARRAY;
124 unsigned long __RPC_USER LPSAFEARRAY_UserSize (unsigned long *, unsigned long, LPSAFEARRAY *);
125 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (unsigned long *, unsigned char *, LPSAFEARRAY *);
126 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY *);
127 void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRAY *);
129 #define FADF_AUTO (0x1)
131 #define FADF_STATIC (0x2)
133 #define FADF_EMBEDDED (0x4)
135 #define FADF_FIXEDSIZE (0x10)
137 #define FADF_RECORD (0x20)
139 #define FADF_HAVEIID (0x40)
141 #define FADF_HAVEVARTYPE (0x80)
143 #define FADF_BSTR (0x100)
145 #define FADF_UNKNOWN (0x200)
147 #define FADF_DISPATCH (0x400)
149 #define FADF_VARIANT (0x800)
151 #define FADF_RESERVED (0xf008)
153 #define FADF_CREATEVECTOR (0x2000)
155 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
156 #define __VARIANT_NAME_1 n1
157 #define __VARIANT_NAME_2 n2
158 #define __VARIANT_NAME_3 n3
159 #define __VARIANT_NAME_4 brecVal
160 #else
161 #define __tagVARIANT
162 #define __VARIANT_NAME_1
163 #define __VARIANT_NAME_2
164 #define __VARIANT_NAME_3
165 #define __tagBRECORD
166 #define __VARIANT_NAME_4
167 #endif
168 typedef struct tagVARIANT VARIANT;
169 unsigned long __RPC_USER VARIANT_UserSize (unsigned long *, unsigned long, VARIANT *);
170 unsigned char * __RPC_USER VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT *);
171 unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *);
172 void __RPC_USER VARIANT_UserFree (unsigned long *, VARIANT *);
174 struct tagVARIANT {
175 union {
176 struct __tagVARIANT {
177 VARTYPE vt;
178 WORD wReserved1;
179 WORD wReserved2;
180 WORD wReserved3;
181 union {
182 CHAR cVal;
183 USHORT uiVal;
184 ULONG ulVal;
185 INT intVal;
186 UINT uintVal;
187 BYTE bVal;
188 SHORT iVal;
189 LONG lVal;
190 FLOAT fltVal;
191 DOUBLE dblVal;
192 VARIANT_BOOL boolVal;
193 SCODE scode;
194 DATE date;
195 BSTR bstrVal;
196 CY cyVal;
197 IUnknown *punkVal;
198 IDispatch *pdispVal;
199 SAFEARRAY *parray;
200 CHAR *pcVal;
201 USHORT *puiVal;
202 ULONG *pulVal;
203 INT *pintVal;
204 UINT *puintVal;
205 BYTE *pbVal;
206 SHORT *piVal;
207 LONG *plVal;
208 FLOAT *pfltVal;
209 DOUBLE *pdblVal;
210 VARIANT_BOOL *pboolVal;
211 SCODE *pscode;
212 DATE *pdate;
213 BSTR *pbstrVal;
214 VARIANT *pvarVal;
215 PVOID byref;
216 CY *pcyVal;
217 DECIMAL *pdecVal;
218 IUnknown **ppunkVal;
219 IDispatch **ppdispVal;
220 SAFEARRAY **pparray;
221 struct __tagBRECORD {
222 PVOID pvRecord;
223 IRecordInfo *pRecInfo;
224 } __VARIANT_NAME_4;
225 } __VARIANT_NAME_3;
226 } __VARIANT_NAME_2;
227 DECIMAL decVal;
228 } __VARIANT_NAME_1;
231 typedef VARIANT *LPVARIANT;
233 typedef VARIANT VARIANTARG;
235 typedef VARIANTARG *LPVARIANTARG;
237 struct _wireBRECORD {
238 ULONG fFlags;
239 ULONG clSize;
240 IRecordInfo *pRecInfo;
241 byte *pRecord;
244 struct _wireVARIANT {
245 DWORD clSize;
246 DWORD rpcReserved;
247 USHORT vt;
248 USHORT wReserved1;
249 USHORT wReserved2;
250 USHORT wReserved3;
251 union {
252 CHAR cVal;
253 USHORT uiVal;
254 ULONG ulVal;
255 INT intVal;
256 UINT uintVal;
257 BYTE bVal;
258 SHORT iVal;
259 LONG lVal;
260 FLOAT fltVal;
261 DOUBLE dblVal;
262 VARIANT_BOOL boolVal;
263 SCODE scode;
264 DATE date;
265 wireBSTR bstrVal;
266 CY cyVal;
267 DECIMAL decVal;
268 IUnknown *punkVal;
269 IDispatch *pdispVal;
270 wireSAFEARRAY parray;
271 CHAR *pcVal;
272 USHORT *puiVal;
273 ULONG *pulVal;
274 INT *pintVal;
275 UINT *puintVal;
276 BYTE *pbVal;
277 SHORT *piVal;
278 LONG *plVal;
279 FLOAT *pfltVal;
280 DOUBLE *pdblVal;
281 VARIANT_BOOL *pboolVal;
282 SCODE *pscode;
283 DATE *pdate;
284 wireBSTR *pbstrVal;
285 wireVARIANT *pvarVal;
286 CY *pcyVal;
287 DECIMAL *pdecVal;
288 IUnknown **ppunkVal;
289 IDispatch **ppdispVal;
290 wireSAFEARRAY *pparray;
291 wireBRECORD brecVal;
292 } DUMMYUNIONNAME;
295 typedef LONG DISPID;
297 typedef DWORD HREFTYPE;
299 typedef DISPID MEMBERID;
301 typedef enum tagTYPEKIND {
302 TKIND_ENUM = 0,
303 TKIND_RECORD,
304 TKIND_MODULE,
305 TKIND_INTERFACE,
306 TKIND_DISPATCH,
307 TKIND_COCLASS,
308 TKIND_ALIAS,
309 TKIND_UNION,
310 TKIND_MAX
311 } TYPEKIND;
313 typedef struct tagTYPEDESC {
314 union {
315 struct tagTYPEDESC *lptdesc;
316 struct tagARRAYDESC *lpadesc;
317 HREFTYPE hreftype;
318 } DUMMYUNIONNAME;
319 VARTYPE vt;
320 } TYPEDESC;
322 typedef struct tagARRAYDESC {
323 TYPEDESC tdescElem;
324 USHORT cDims;
325 SAFEARRAYBOUND rgbounds[1];
326 } ARRAYDESC;
328 typedef struct tagPARAMDESCEX {
329 ULONG cBytes;
330 VARIANTARG varDefaultValue;
331 } PARAMDESCEX, *LPPARAMDESCEX;
333 typedef struct tagPARAMDESC {
334 LPPARAMDESCEX pparamdescex;
335 USHORT wParamFlags;
336 } PARAMDESC, *LPPARAMDESC;
338 #define PARAMFLAG_NONE (0x0)
340 #define PARAMFLAG_FIN (0x1)
342 #define PARAMFLAG_FOUT (0x2)
344 #define PARAMFLAG_FLCID (0x4)
346 #define PARAMFLAG_FRETVAL (0x8)
348 #define PARAMFLAG_FOPT (0x10)
350 #define PARAMFLAG_FHASDEFAULT (0x20)
352 #define PARAMFLAG_FHASCUSTDATA (0x40)
354 typedef struct tagIDLDESC {
355 ULONG dwReserved;
356 USHORT wIDLFlags;
357 } IDLDESC, *LPIDLDESC;
359 #define IDLFLAG_NONE (PARAMFLAG_NONE)
361 #define IDLFLAG_FIN (PARAMFLAG_FIN)
363 #define IDLFLAG_FOUT (PARAMFLAG_FOUT)
365 #define IDLFLAG_FLCID (PARAMFLAG_FLCID)
367 #define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL)
369 #if 0
370 typedef struct tagELEMDESC {
371 TYPEDESC tdesc;
372 PARAMDESC paramdesc;
373 } ELEMDESC;
375 #else
376 typedef struct tagELEMDESC {
377 TYPEDESC tdesc;
378 union {
379 IDLDESC idldesc;
380 PARAMDESC paramdesc;
381 } DUMMYUNIONNAME;
382 } ELEMDESC, *LPELEMDESC;
383 #endif
384 typedef struct tagTYPEATTR {
385 GUID guid;
386 LCID lcid;
387 DWORD dwReserved;
388 MEMBERID memidConstructor;
389 MEMBERID memidDestructor;
390 LPOLESTR lpstrSchema;
391 ULONG cbSizeInstance;
392 TYPEKIND typekind;
393 WORD cFuncs;
394 WORD cVars;
395 WORD cImplTypes;
396 WORD cbSizeVft;
397 WORD cbAlignment;
398 WORD wTypeFlags;
399 WORD wMajorVerNum;
400 WORD wMinorVerNum;
401 TYPEDESC tdescAlias;
402 IDLDESC idldescType;
403 } TYPEATTR, *LPTYPEATTR;
405 typedef struct tagDISPPARAMS {
406 VARIANTARG *rgvarg;
407 DISPID *rgdispidNamedArgs;
408 UINT cArgs;
409 UINT cNamedArgs;
410 } DISPPARAMS;
412 #if 0
413 typedef struct tagEXCEPINFO {
414 WORD wCode;
415 WORD wReserved;
416 BSTR bstrSource;
417 BSTR bstrDescription;
418 BSTR bstrHelpFile;
419 DWORD dwHelpContext;
420 ULONG pvReserved;
421 ULONG pfnDeferredFillIn;
422 SCODE scode;
423 } EXCEPINFO;
425 #else
426 typedef struct tagEXCEPINFO {
427 WORD wCode;
428 WORD wReserved;
429 BSTR bstrSource;
430 BSTR bstrDescription;
431 BSTR bstrHelpFile;
432 DWORD dwHelpContext;
433 PVOID pvReserved;
434 HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
435 SCODE scode;
436 } EXCEPINFO, *LPEXCEPINFO;
437 #endif
438 typedef enum tagCALLCONV {
439 CC_FASTCALL = 0,
440 CC_CDECL = 1,
441 CC_MSCPASCAL,
442 CC_PASCAL = CC_MSCPASCAL,
443 CC_MACPASCAL,
444 CC_STDCALL,
445 CC_FPFASTCALL,
446 CC_SYSCALL,
447 CC_MPWCDECL,
448 CC_MPWPASCAL,
449 CC_MAX
450 } CALLCONV;
452 typedef enum tagFUNCKIND {
453 FUNC_VIRTUAL,
454 FUNC_PUREVIRTUAL,
455 FUNC_NONVIRTUAL,
456 FUNC_STATIC,
457 FUNC_DISPATCH
458 } FUNCKIND;
460 typedef enum tagINVOKEKIND {
461 INVOKE_FUNC = 1,
462 INVOKE_PROPERTYGET = 2,
463 INVOKE_PROPERTYPUT = 4,
464 INVOKE_PROPERTYPUTREF = 8
465 } INVOKEKIND;
467 typedef struct tagFUNCDESC {
468 MEMBERID memid;
469 SCODE *lprgscode;
470 ELEMDESC *lprgelemdescParam;
471 FUNCKIND funckind;
472 INVOKEKIND invkind;
473 CALLCONV callconv;
474 SHORT cParams;
475 SHORT cParamsOpt;
476 SHORT oVft;
477 SHORT cScodes;
478 ELEMDESC elemdescFunc;
479 WORD wFuncFlags;
480 } FUNCDESC, *LPFUNCDESC;
482 typedef enum tagVARKIND {
483 VAR_PERINSTANCE,
484 VAR_STATIC,
485 VAR_CONST,
486 VAR_DISPATCH
487 } VARKIND;
489 #define IMPLTYPEFLAG_FDEFAULT (0x1)
491 #define IMPLTYPEFLAG_FSOURCE (0x2)
493 #define IMPLTYPEFLAG_FRESTRICTED (0x4)
495 #define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8)
497 typedef struct tagVARDESC {
498 MEMBERID memid;
499 LPOLESTR lpstrSchema;
500 union {
501 ULONG oInst;
502 VARIANT *lpvarValue;
503 } DUMMYUNIONNAME;
504 ELEMDESC elemdescVar;
505 WORD wVarFlags;
506 VARKIND varkind;
507 } VARDESC, *LPVARDESC;
509 typedef enum tagTYPEFLAGS {
510 TYPEFLAG_FAPPOBJECT = 0x1,
511 TYPEFLAG_FCANCREATE = 0x2,
512 TYPEFLAG_FLICENSED = 0x4,
513 TYPEFLAG_FPREDECLID = 0x8,
514 TYPEFLAG_FHIDDEN = 0x10,
515 TYPEFLAG_FCONTROL = 0x20,
516 TYPEFLAG_FDUAL = 0x40,
517 TYPEFLAG_FNONEXTENSIBLE = 0x80,
518 TYPEFLAG_FOLEAUTOMATION = 0x100,
519 TYPEFLAG_FRESTRICTED = 0x200,
520 TYPEFLAG_FAGGREGATABLE = 0x400,
521 TYPEFLAG_FREPLACEABLE = 0x800,
522 TYPEFLAG_FDISPATCHABLE = 0x1000,
523 TYPEFLAG_FREVERSEBIND = 0x2000,
524 TYPEFLAG_FPROXY = 0x4000
525 } TYPEFLAGS;
527 typedef enum tagFUNCFLAGS {
528 FUNCFLAG_FRESTRICTED = 0x1,
529 FUNCFLAG_FSOURCE = 0x2,
530 FUNCFLAG_FBINDABLE = 0x4,
531 FUNCFLAG_FREQUESTEDIT = 0x8,
532 FUNCFLAG_FDISPLAYBIND = 0x10,
533 FUNCFLAG_FDEFAULTBIND = 0x20,
534 FUNCFLAG_FHIDDEN = 0x40,
535 FUNCFLAG_FUSESGETLASTERROR = 0x80,
536 FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
537 FUNCFLAG_FUIDEFAULT = 0x200,
538 FUNCFLAG_FNONBROWSABLE = 0x400,
539 FUNCFLAG_FREPLACEABLE = 0x800,
540 FUNCFLAG_FIMMEDIATEBIND = 0x1000
541 } FUNCFLAGS;
543 typedef enum tagVARFLAGS {
544 VARFLAG_FREADONLY = 0x1,
545 VARFLAG_FSOURCE = 0x2,
546 VARFLAG_FBINDABLE = 0x4,
547 VARFLAG_FREQUESTEDIT = 0x8,
548 VARFLAG_FDISPLAYBIND = 0x10,
549 VARFLAG_FDEFAULTBIND = 0x20,
550 VARFLAG_FHIDDEN = 0x40,
551 VARFLAG_FRESTRICTED = 0x80,
552 VARFLAG_FDEFAULTCOLLELEM = 0x100,
553 VARFLAG_FUIDEFAULT = 0x200,
554 VARFLAG_FNONBROWSABLE = 0x400,
555 VARFLAG_FREPLACEABLE = 0x800,
556 VARFLAG_FIMMEDIATEBIND = 0x1000
557 } VARFLAGS;
559 typedef struct tagCLEANLOCALSTORAGE {
560 IUnknown *pInterface;
561 PVOID pStorage;
562 DWORD flags;
563 } CLEANLOCALSTORAGE;
564 unsigned long __RPC_USER CLEANLOCALSTORAGE_UserSize (unsigned long *, unsigned long, CLEANLOCALSTORAGE *);
565 unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal (unsigned long *, unsigned char *, CLEANLOCALSTORAGE *);
566 unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE *);
567 void __RPC_USER CLEANLOCALSTORAGE_UserFree (unsigned long *, CLEANLOCALSTORAGE *);
569 typedef struct tagCUSTDATAITEM {
570 GUID guid;
571 VARIANTARG varValue;
572 } CUSTDATAITEM, *LPCUSTDATAITEM;
574 typedef struct tagCUSTDATA {
575 DWORD cCustData;
576 LPCUSTDATAITEM prgCustData;
577 } CUSTDATA, *LPCUSTDATA;
579 typedef IDispatch *LPDISPATCH;
581 #define DISPID_UNKNOWN (-1)
583 #define DISPID_VALUE (0)
585 #define DISPID_PROPERTYPUT (-3)
587 #define DISPID_NEWENUM (-4)
589 #define DISPID_EVALUATE (-5)
591 #define DISPID_CONSTRUCTOR (-6)
593 #define DISPID_DESTRUCTOR (-7)
595 #define DISPID_COLLECT (-8)
597 /*****************************************************************************
598 * IDispatch interface
600 #ifndef __IDispatch_INTERFACE_DEFINED__
601 #define __IDispatch_INTERFACE_DEFINED__
603 DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
604 #if defined(__cplusplus) && !defined(CINTERFACE)
605 struct IDispatch : public IUnknown
607 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
608 UINT* pctinfo) = 0;
610 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
611 UINT iTInfo,
612 LCID lcid,
613 ITypeInfo** ppTInfo) = 0;
615 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
616 REFIID riid,
617 LPOLESTR* rgszNames,
618 UINT cNames,
619 LCID lcid,
620 DISPID* rgDispId) = 0;
622 virtual HRESULT STDMETHODCALLTYPE Invoke(
623 DISPID dispIdMember,
624 REFIID riid,
625 LCID lcid,
626 WORD wFlags,
627 DISPPARAMS* pDispParams,
628 VARIANT* pVarResult,
629 EXCEPINFO* pExcepInfo,
630 UINT* puArgErr) = 0;
633 #else
634 typedef struct IDispatchVtbl IDispatchVtbl;
635 struct IDispatch {
636 const IDispatchVtbl* lpVtbl;
638 struct IDispatchVtbl {
639 ICOM_MSVTABLE_COMPAT_FIELDS
641 /*** IUnknown methods ***/
642 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
643 IDispatch* This,
644 REFIID riid,
645 void** ppvObject);
647 ULONG (STDMETHODCALLTYPE *AddRef)(
648 IDispatch* This);
650 ULONG (STDMETHODCALLTYPE *Release)(
651 IDispatch* This);
653 /*** IDispatch methods ***/
654 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
655 IDispatch* This,
656 UINT* pctinfo);
658 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
659 IDispatch* This,
660 UINT iTInfo,
661 LCID lcid,
662 ITypeInfo** ppTInfo);
664 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
665 IDispatch* This,
666 REFIID riid,
667 LPOLESTR* rgszNames,
668 UINT cNames,
669 LCID lcid,
670 DISPID* rgDispId);
672 HRESULT (STDMETHODCALLTYPE *Invoke)(
673 IDispatch* This,
674 DISPID dispIdMember,
675 REFIID riid,
676 LCID lcid,
677 WORD wFlags,
678 DISPPARAMS* pDispParams,
679 VARIANT* pVarResult,
680 EXCEPINFO* pExcepInfo,
681 UINT* puArgErr);
685 /*** IUnknown methods ***/
686 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
687 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
688 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
689 /*** IDispatch methods ***/
690 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
691 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
692 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
693 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
695 #endif
697 #define IDispatch_METHODS \
698 ICOM_MSVTABLE_COMPAT_FIELDS \
699 /*** IUnknown methods ***/ \
700 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
701 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
702 STDMETHOD_(ULONG,Release)(THIS) PURE; \
703 /*** IDispatch methods ***/ \
704 STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
705 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
706 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
707 STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
709 HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy(
710 IDispatch* This,
711 UINT* pctinfo);
712 void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
713 struct IRpcStubBuffer* This,
714 struct IRpcChannelBuffer* pRpcChannelBuffer,
715 PRPC_MESSAGE pRpcMessage,
716 DWORD* pdwStubPhase);
717 HRESULT CALLBACK IDispatch_GetTypeInfo_Proxy(
718 IDispatch* This,
719 UINT iTInfo,
720 LCID lcid,
721 ITypeInfo** ppTInfo);
722 void __RPC_STUB IDispatch_GetTypeInfo_Stub(
723 struct IRpcStubBuffer* This,
724 struct IRpcChannelBuffer* pRpcChannelBuffer,
725 PRPC_MESSAGE pRpcMessage,
726 DWORD* pdwStubPhase);
727 HRESULT CALLBACK IDispatch_GetIDsOfNames_Proxy(
728 IDispatch* This,
729 REFIID riid,
730 LPOLESTR* rgszNames,
731 UINT cNames,
732 LCID lcid,
733 DISPID* rgDispId);
734 void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
735 struct IRpcStubBuffer* This,
736 struct IRpcChannelBuffer* pRpcChannelBuffer,
737 PRPC_MESSAGE pRpcMessage,
738 DWORD* pdwStubPhase);
739 HRESULT CALLBACK IDispatch_RemoteInvoke_Proxy(
740 IDispatch* This,
741 DISPID dispIdMember,
742 REFIID riid,
743 LCID lcid,
744 DWORD dwFlags,
745 DISPPARAMS* pDispParams,
746 VARIANT* pVarResult,
747 EXCEPINFO* pExcepInfo,
748 UINT* pArgErr,
749 UINT cVarRef,
750 UINT* rgVarRefIdx,
751 VARIANTARG* rgVarRef);
752 void __RPC_STUB IDispatch_RemoteInvoke_Stub(
753 struct IRpcStubBuffer* This,
754 struct IRpcChannelBuffer* pRpcChannelBuffer,
755 PRPC_MESSAGE pRpcMessage,
756 DWORD* pdwStubPhase);
757 HRESULT CALLBACK IDispatch_Invoke_Proxy(
758 IDispatch* This,
759 DISPID dispIdMember,
760 REFIID riid,
761 LCID lcid,
762 WORD wFlags,
763 DISPPARAMS* pDispParams,
764 VARIANT* pVarResult,
765 EXCEPINFO* pExcepInfo,
766 UINT* puArgErr);
767 HRESULT __RPC_STUB IDispatch_Invoke_Stub(
768 IDispatch* This,
769 DISPID dispIdMember,
770 REFIID riid,
771 LCID lcid,
772 DWORD dwFlags,
773 DISPPARAMS* pDispParams,
774 VARIANT* pVarResult,
775 EXCEPINFO* pExcepInfo,
776 UINT* pArgErr,
777 UINT cVarRef,
778 UINT* rgVarRefIdx,
779 VARIANTARG* rgVarRef);
781 #endif /* __IDispatch_INTERFACE_DEFINED__ */
783 #ifndef __IEnumVARIANT_FWD_DEFINED__
784 #define __IEnumVARIANT_FWD_DEFINED__
785 typedef struct IEnumVARIANT IEnumVARIANT;
786 #endif
788 typedef IEnumVARIANT *LPENUMVARIANT;
790 /*****************************************************************************
791 * IEnumVARIANT interface
793 #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
794 #define __IEnumVARIANT_INTERFACE_DEFINED__
796 DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
797 #if defined(__cplusplus) && !defined(CINTERFACE)
798 struct IEnumVARIANT : public IUnknown
800 virtual HRESULT STDMETHODCALLTYPE Next(
801 ULONG celt,
802 VARIANT* rgVar,
803 ULONG* pCeltFetched) = 0;
805 virtual HRESULT STDMETHODCALLTYPE Skip(
806 ULONG celt) = 0;
808 virtual HRESULT STDMETHODCALLTYPE Reset(
809 ) = 0;
811 virtual HRESULT STDMETHODCALLTYPE Clone(
812 IEnumVARIANT** ppEnum) = 0;
815 #else
816 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl;
817 struct IEnumVARIANT {
818 const IEnumVARIANTVtbl* lpVtbl;
820 struct IEnumVARIANTVtbl {
821 ICOM_MSVTABLE_COMPAT_FIELDS
823 /*** IUnknown methods ***/
824 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
825 IEnumVARIANT* This,
826 REFIID riid,
827 void** ppvObject);
829 ULONG (STDMETHODCALLTYPE *AddRef)(
830 IEnumVARIANT* This);
832 ULONG (STDMETHODCALLTYPE *Release)(
833 IEnumVARIANT* This);
835 /*** IEnumVARIANT methods ***/
836 HRESULT (STDMETHODCALLTYPE *Next)(
837 IEnumVARIANT* This,
838 ULONG celt,
839 VARIANT* rgVar,
840 ULONG* pCeltFetched);
842 HRESULT (STDMETHODCALLTYPE *Skip)(
843 IEnumVARIANT* This,
844 ULONG celt);
846 HRESULT (STDMETHODCALLTYPE *Reset)(
847 IEnumVARIANT* This);
849 HRESULT (STDMETHODCALLTYPE *Clone)(
850 IEnumVARIANT* This,
851 IEnumVARIANT** ppEnum);
855 /*** IUnknown methods ***/
856 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
857 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
858 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
859 /*** IEnumVARIANT methods ***/
860 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
861 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
862 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
863 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
865 #endif
867 #define IEnumVARIANT_METHODS \
868 ICOM_MSVTABLE_COMPAT_FIELDS \
869 /*** IUnknown methods ***/ \
870 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
871 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
872 STDMETHOD_(ULONG,Release)(THIS) PURE; \
873 /*** IEnumVARIANT methods ***/ \
874 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
875 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
876 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
877 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
879 HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy(
880 IEnumVARIANT* This,
881 ULONG celt,
882 VARIANT* rgVar,
883 ULONG* pCeltFetched);
884 void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
885 struct IRpcStubBuffer* This,
886 struct IRpcChannelBuffer* pRpcChannelBuffer,
887 PRPC_MESSAGE pRpcMessage,
888 DWORD* pdwStubPhase);
889 HRESULT CALLBACK IEnumVARIANT_Next_Proxy(
890 IEnumVARIANT* This,
891 ULONG celt,
892 VARIANT* rgVar,
893 ULONG* pCeltFetched);
894 HRESULT __RPC_STUB IEnumVARIANT_Next_Stub(
895 IEnumVARIANT* This,
896 ULONG celt,
897 VARIANT* rgVar,
898 ULONG* pCeltFetched);
899 HRESULT CALLBACK IEnumVARIANT_Skip_Proxy(
900 IEnumVARIANT* This,
901 ULONG celt);
902 void __RPC_STUB IEnumVARIANT_Skip_Stub(
903 struct IRpcStubBuffer* This,
904 struct IRpcChannelBuffer* pRpcChannelBuffer,
905 PRPC_MESSAGE pRpcMessage,
906 DWORD* pdwStubPhase);
907 HRESULT CALLBACK IEnumVARIANT_Reset_Proxy(
908 IEnumVARIANT* This);
909 void __RPC_STUB IEnumVARIANT_Reset_Stub(
910 struct IRpcStubBuffer* This,
911 struct IRpcChannelBuffer* pRpcChannelBuffer,
912 PRPC_MESSAGE pRpcMessage,
913 DWORD* pdwStubPhase);
914 HRESULT CALLBACK IEnumVARIANT_Clone_Proxy(
915 IEnumVARIANT* This,
916 IEnumVARIANT** ppEnum);
917 void __RPC_STUB IEnumVARIANT_Clone_Stub(
918 struct IRpcStubBuffer* This,
919 struct IRpcChannelBuffer* pRpcChannelBuffer,
920 PRPC_MESSAGE pRpcMessage,
921 DWORD* pdwStubPhase);
923 #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
925 #ifndef __ITypeComp_FWD_DEFINED__
926 #define __ITypeComp_FWD_DEFINED__
927 typedef struct ITypeComp ITypeComp;
928 #endif
930 typedef ITypeComp *LPTYPECOMP;
932 typedef enum tagDESCKIND {
933 DESCKIND_NONE = 0,
934 DESCKIND_FUNCDESC,
935 DESCKIND_VARDESC,
936 DESCKIND_TYPECOMP,
937 DESCKIND_IMPLICITAPPOBJ,
938 DESCKIND_MAX
939 } DESCKIND;
941 typedef union tagBINDPTR {
942 FUNCDESC *lpfuncdesc;
943 VARDESC *lpvardesc;
944 ITypeComp *lptcomp;
945 } BINDPTR, *LPBINDPTR;
947 /*****************************************************************************
948 * ITypeComp interface
950 #ifndef __ITypeComp_INTERFACE_DEFINED__
951 #define __ITypeComp_INTERFACE_DEFINED__
953 DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
954 #if defined(__cplusplus) && !defined(CINTERFACE)
955 struct ITypeComp : public IUnknown
957 virtual HRESULT STDMETHODCALLTYPE Bind(
958 LPOLESTR szName,
959 ULONG lHashVal,
960 WORD wFlags,
961 ITypeInfo** ppTInfo,
962 DESCKIND* pDescKind,
963 BINDPTR* pBindPtr) = 0;
965 virtual HRESULT STDMETHODCALLTYPE BindType(
966 LPOLESTR szName,
967 ULONG lHashVal,
968 ITypeInfo** ppTInfo,
969 ITypeComp** ppTComp) = 0;
972 #else
973 typedef struct ITypeCompVtbl ITypeCompVtbl;
974 struct ITypeComp {
975 const ITypeCompVtbl* lpVtbl;
977 struct ITypeCompVtbl {
978 ICOM_MSVTABLE_COMPAT_FIELDS
980 /*** IUnknown methods ***/
981 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
982 ITypeComp* This,
983 REFIID riid,
984 void** ppvObject);
986 ULONG (STDMETHODCALLTYPE *AddRef)(
987 ITypeComp* This);
989 ULONG (STDMETHODCALLTYPE *Release)(
990 ITypeComp* This);
992 /*** ITypeComp methods ***/
993 HRESULT (STDMETHODCALLTYPE *Bind)(
994 ITypeComp* This,
995 LPOLESTR szName,
996 ULONG lHashVal,
997 WORD wFlags,
998 ITypeInfo** ppTInfo,
999 DESCKIND* pDescKind,
1000 BINDPTR* pBindPtr);
1002 HRESULT (STDMETHODCALLTYPE *BindType)(
1003 ITypeComp* This,
1004 LPOLESTR szName,
1005 ULONG lHashVal,
1006 ITypeInfo** ppTInfo,
1007 ITypeComp** ppTComp);
1011 /*** IUnknown methods ***/
1012 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1013 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
1014 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
1015 /*** ITypeComp methods ***/
1016 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
1017 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
1019 #endif
1021 #define ITypeComp_METHODS \
1022 ICOM_MSVTABLE_COMPAT_FIELDS \
1023 /*** IUnknown methods ***/ \
1024 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1025 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1026 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1027 /*** ITypeComp methods ***/ \
1028 STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
1029 STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
1031 HRESULT CALLBACK ITypeComp_RemoteBind_Proxy(
1032 ITypeComp* This,
1033 LPOLESTR szName,
1034 ULONG lHashVal,
1035 WORD wFlags,
1036 ITypeInfo** ppTInfo,
1037 DESCKIND* pDescKind,
1038 LPFUNCDESC* ppFuncDesc,
1039 LPVARDESC* ppVarDesc,
1040 ITypeComp** ppTypeComp,
1041 CLEANLOCALSTORAGE* pDummy);
1042 void __RPC_STUB ITypeComp_RemoteBind_Stub(
1043 struct IRpcStubBuffer* This,
1044 struct IRpcChannelBuffer* pRpcChannelBuffer,
1045 PRPC_MESSAGE pRpcMessage,
1046 DWORD* pdwStubPhase);
1047 HRESULT CALLBACK ITypeComp_Bind_Proxy(
1048 ITypeComp* This,
1049 LPOLESTR szName,
1050 ULONG lHashVal,
1051 WORD wFlags,
1052 ITypeInfo** ppTInfo,
1053 DESCKIND* pDescKind,
1054 BINDPTR* pBindPtr);
1055 HRESULT __RPC_STUB ITypeComp_Bind_Stub(
1056 ITypeComp* This,
1057 LPOLESTR szName,
1058 ULONG lHashVal,
1059 WORD wFlags,
1060 ITypeInfo** ppTInfo,
1061 DESCKIND* pDescKind,
1062 LPFUNCDESC* ppFuncDesc,
1063 LPVARDESC* ppVarDesc,
1064 ITypeComp** ppTypeComp,
1065 CLEANLOCALSTORAGE* pDummy);
1066 HRESULT CALLBACK ITypeComp_RemoteBindType_Proxy(
1067 ITypeComp* This,
1068 LPOLESTR szName,
1069 ULONG lHashVal,
1070 ITypeInfo** ppTInfo);
1071 void __RPC_STUB ITypeComp_RemoteBindType_Stub(
1072 struct IRpcStubBuffer* This,
1073 struct IRpcChannelBuffer* pRpcChannelBuffer,
1074 PRPC_MESSAGE pRpcMessage,
1075 DWORD* pdwStubPhase);
1076 HRESULT CALLBACK ITypeComp_BindType_Proxy(
1077 ITypeComp* This,
1078 LPOLESTR szName,
1079 ULONG lHashVal,
1080 ITypeInfo** ppTInfo,
1081 ITypeComp** ppTComp);
1082 HRESULT __RPC_STUB ITypeComp_BindType_Stub(
1083 ITypeComp* This,
1084 LPOLESTR szName,
1085 ULONG lHashVal,
1086 ITypeInfo** ppTInfo);
1088 #endif /* __ITypeComp_INTERFACE_DEFINED__ */
1090 typedef ITypeInfo *LPTYPEINFO;
1092 /*****************************************************************************
1093 * ITypeInfo interface
1095 #ifndef __ITypeInfo_INTERFACE_DEFINED__
1096 #define __ITypeInfo_INTERFACE_DEFINED__
1098 DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1099 #if defined(__cplusplus) && !defined(CINTERFACE)
1100 struct ITypeInfo : public IUnknown
1102 virtual HRESULT STDMETHODCALLTYPE GetTypeAttr(
1103 TYPEATTR** ppTypeAttr) = 0;
1105 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
1106 ITypeComp** ppTComp) = 0;
1108 virtual HRESULT STDMETHODCALLTYPE GetFuncDesc(
1109 UINT index,
1110 FUNCDESC** ppFuncDesc) = 0;
1112 virtual HRESULT STDMETHODCALLTYPE GetVarDesc(
1113 UINT index,
1114 VARDESC** ppVarDesc) = 0;
1116 virtual HRESULT STDMETHODCALLTYPE GetNames(
1117 MEMBERID memid,
1118 BSTR* rgBstrNames,
1119 UINT cMaxNames,
1120 UINT* pcNames) = 0;
1122 virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType(
1123 UINT index,
1124 HREFTYPE* pRefType) = 0;
1126 virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags(
1127 UINT index,
1128 INT* pImplTypeFlags) = 0;
1130 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
1131 LPOLESTR* rgszNames,
1132 UINT cNames,
1133 MEMBERID* pMemId) = 0;
1135 virtual HRESULT STDMETHODCALLTYPE Invoke(
1136 PVOID pvInstance,
1137 MEMBERID memid,
1138 WORD wFlags,
1139 DISPPARAMS* pDispParams,
1140 VARIANT* pVarResult,
1141 EXCEPINFO* pExcepInfo,
1142 UINT* puArgErr) = 0;
1144 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
1145 MEMBERID memid,
1146 BSTR* pBstrName,
1147 BSTR* pBstrDocString,
1148 DWORD* pdwHelpContext,
1149 BSTR* pBstrHelpFile) = 0;
1151 virtual HRESULT STDMETHODCALLTYPE GetDllEntry(
1152 MEMBERID memid,
1153 INVOKEKIND invKind,
1154 BSTR* pBstrDllName,
1155 BSTR* pBstrName,
1156 WORD* pwOrdinal) = 0;
1158 virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo(
1159 HREFTYPE hRefType,
1160 ITypeInfo** ppTInfo) = 0;
1162 virtual HRESULT STDMETHODCALLTYPE AddressOfMember(
1163 MEMBERID memid,
1164 INVOKEKIND invKind,
1165 PVOID* ppv) = 0;
1167 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
1168 IUnknown* pUnkOuter,
1169 REFIID riid,
1170 PVOID* ppvObj) = 0;
1172 virtual HRESULT STDMETHODCALLTYPE GetMops(
1173 MEMBERID memid,
1174 BSTR* pBstrMops) = 0;
1176 virtual HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
1177 ITypeLib** ppTLib,
1178 UINT* pIndex) = 0;
1180 virtual void STDMETHODCALLTYPE ReleaseTypeAttr(
1181 TYPEATTR* pTypeAttr) = 0;
1183 virtual void STDMETHODCALLTYPE ReleaseFuncDesc(
1184 FUNCDESC* pFuncDesc) = 0;
1186 virtual void STDMETHODCALLTYPE ReleaseVarDesc(
1187 VARDESC* pVarDesc) = 0;
1190 #else
1191 typedef struct ITypeInfoVtbl ITypeInfoVtbl;
1192 struct ITypeInfo {
1193 const ITypeInfoVtbl* lpVtbl;
1195 struct ITypeInfoVtbl {
1196 ICOM_MSVTABLE_COMPAT_FIELDS
1198 /*** IUnknown methods ***/
1199 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1200 ITypeInfo* This,
1201 REFIID riid,
1202 void** ppvObject);
1204 ULONG (STDMETHODCALLTYPE *AddRef)(
1205 ITypeInfo* This);
1207 ULONG (STDMETHODCALLTYPE *Release)(
1208 ITypeInfo* This);
1210 /*** ITypeInfo methods ***/
1211 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1212 ITypeInfo* This,
1213 TYPEATTR** ppTypeAttr);
1215 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1216 ITypeInfo* This,
1217 ITypeComp** ppTComp);
1219 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1220 ITypeInfo* This,
1221 UINT index,
1222 FUNCDESC** ppFuncDesc);
1224 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1225 ITypeInfo* This,
1226 UINT index,
1227 VARDESC** ppVarDesc);
1229 HRESULT (STDMETHODCALLTYPE *GetNames)(
1230 ITypeInfo* This,
1231 MEMBERID memid,
1232 BSTR* rgBstrNames,
1233 UINT cMaxNames,
1234 UINT* pcNames);
1236 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1237 ITypeInfo* This,
1238 UINT index,
1239 HREFTYPE* pRefType);
1241 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1242 ITypeInfo* This,
1243 UINT index,
1244 INT* pImplTypeFlags);
1246 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1247 ITypeInfo* This,
1248 LPOLESTR* rgszNames,
1249 UINT cNames,
1250 MEMBERID* pMemId);
1252 HRESULT (STDMETHODCALLTYPE *Invoke)(
1253 ITypeInfo* This,
1254 PVOID pvInstance,
1255 MEMBERID memid,
1256 WORD wFlags,
1257 DISPPARAMS* pDispParams,
1258 VARIANT* pVarResult,
1259 EXCEPINFO* pExcepInfo,
1260 UINT* puArgErr);
1262 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1263 ITypeInfo* This,
1264 MEMBERID memid,
1265 BSTR* pBstrName,
1266 BSTR* pBstrDocString,
1267 DWORD* pdwHelpContext,
1268 BSTR* pBstrHelpFile);
1270 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1271 ITypeInfo* This,
1272 MEMBERID memid,
1273 INVOKEKIND invKind,
1274 BSTR* pBstrDllName,
1275 BSTR* pBstrName,
1276 WORD* pwOrdinal);
1278 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1279 ITypeInfo* This,
1280 HREFTYPE hRefType,
1281 ITypeInfo** ppTInfo);
1283 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1284 ITypeInfo* This,
1285 MEMBERID memid,
1286 INVOKEKIND invKind,
1287 PVOID* ppv);
1289 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1290 ITypeInfo* This,
1291 IUnknown* pUnkOuter,
1292 REFIID riid,
1293 PVOID* ppvObj);
1295 HRESULT (STDMETHODCALLTYPE *GetMops)(
1296 ITypeInfo* This,
1297 MEMBERID memid,
1298 BSTR* pBstrMops);
1300 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1301 ITypeInfo* This,
1302 ITypeLib** ppTLib,
1303 UINT* pIndex);
1305 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1306 ITypeInfo* This,
1307 TYPEATTR* pTypeAttr);
1309 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1310 ITypeInfo* This,
1311 FUNCDESC* pFuncDesc);
1313 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1314 ITypeInfo* This,
1315 VARDESC* pVarDesc);
1319 /*** IUnknown methods ***/
1320 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1321 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1322 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1323 /*** ITypeInfo methods ***/
1324 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1325 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1326 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1327 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1328 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1329 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1330 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1331 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1332 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1333 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1334 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1335 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1336 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1337 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1338 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1339 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1340 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1341 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1342 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1344 #endif
1346 #define ITypeInfo_METHODS \
1347 ICOM_MSVTABLE_COMPAT_FIELDS \
1348 /*** IUnknown methods ***/ \
1349 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1350 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1351 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1352 /*** ITypeInfo methods ***/ \
1353 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1354 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1355 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1356 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1357 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1358 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1359 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1360 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1361 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1362 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1363 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1364 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1365 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1366 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1367 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1368 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1369 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1370 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1371 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
1373 HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
1374 ITypeInfo* This,
1375 LPTYPEATTR* ppTypeAttr,
1376 CLEANLOCALSTORAGE* pDummy);
1377 void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
1378 struct IRpcStubBuffer* This,
1379 struct IRpcChannelBuffer* pRpcChannelBuffer,
1380 PRPC_MESSAGE pRpcMessage,
1381 DWORD* pdwStubPhase);
1382 HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy(
1383 ITypeInfo* This,
1384 TYPEATTR** ppTypeAttr);
1385 HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
1386 ITypeInfo* This,
1387 LPTYPEATTR* ppTypeAttr,
1388 CLEANLOCALSTORAGE* pDummy);
1389 HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy(
1390 ITypeInfo* This,
1391 ITypeComp** ppTComp);
1392 void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
1393 struct IRpcStubBuffer* This,
1394 struct IRpcChannelBuffer* pRpcChannelBuffer,
1395 PRPC_MESSAGE pRpcMessage,
1396 DWORD* pdwStubPhase);
1397 HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy(
1398 ITypeInfo* This,
1399 UINT index,
1400 LPFUNCDESC* ppFuncDesc,
1401 CLEANLOCALSTORAGE* pDummy);
1402 void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
1403 struct IRpcStubBuffer* This,
1404 struct IRpcChannelBuffer* pRpcChannelBuffer,
1405 PRPC_MESSAGE pRpcMessage,
1406 DWORD* pdwStubPhase);
1407 HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy(
1408 ITypeInfo* This,
1409 UINT index,
1410 FUNCDESC** ppFuncDesc);
1411 HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
1412 ITypeInfo* This,
1413 UINT index,
1414 LPFUNCDESC* ppFuncDesc,
1415 CLEANLOCALSTORAGE* pDummy);
1416 HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy(
1417 ITypeInfo* This,
1418 UINT index,
1419 LPVARDESC* ppVarDesc,
1420 CLEANLOCALSTORAGE* pDummy);
1421 void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
1422 struct IRpcStubBuffer* This,
1423 struct IRpcChannelBuffer* pRpcChannelBuffer,
1424 PRPC_MESSAGE pRpcMessage,
1425 DWORD* pdwStubPhase);
1426 HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
1427 ITypeInfo* This,
1428 UINT index,
1429 VARDESC** ppVarDesc);
1430 HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
1431 ITypeInfo* This,
1432 UINT index,
1433 LPVARDESC* ppVarDesc,
1434 CLEANLOCALSTORAGE* pDummy);
1435 HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy(
1436 ITypeInfo* This,
1437 MEMBERID memid,
1438 BSTR* rgBstrNames,
1439 UINT cMaxNames,
1440 UINT* pcNames);
1441 void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
1442 struct IRpcStubBuffer* This,
1443 struct IRpcChannelBuffer* pRpcChannelBuffer,
1444 PRPC_MESSAGE pRpcMessage,
1445 DWORD* pdwStubPhase);
1446 HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
1447 ITypeInfo* This,
1448 MEMBERID memid,
1449 BSTR* rgBstrNames,
1450 UINT cMaxNames,
1451 UINT* pcNames);
1452 HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
1453 ITypeInfo* This,
1454 MEMBERID memid,
1455 BSTR* rgBstrNames,
1456 UINT cMaxNames,
1457 UINT* pcNames);
1458 HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy(
1459 ITypeInfo* This,
1460 UINT index,
1461 HREFTYPE* pRefType);
1462 void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
1463 struct IRpcStubBuffer* This,
1464 struct IRpcChannelBuffer* pRpcChannelBuffer,
1465 PRPC_MESSAGE pRpcMessage,
1466 DWORD* pdwStubPhase);
1467 HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy(
1468 ITypeInfo* This,
1469 UINT index,
1470 INT* pImplTypeFlags);
1471 void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
1472 struct IRpcStubBuffer* This,
1473 struct IRpcChannelBuffer* pRpcChannelBuffer,
1474 PRPC_MESSAGE pRpcMessage,
1475 DWORD* pdwStubPhase);
1476 HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy(
1477 ITypeInfo* This);
1478 void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
1479 struct IRpcStubBuffer* This,
1480 struct IRpcChannelBuffer* pRpcChannelBuffer,
1481 PRPC_MESSAGE pRpcMessage,
1482 DWORD* pdwStubPhase);
1483 HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
1484 ITypeInfo* This,
1485 LPOLESTR* rgszNames,
1486 UINT cNames,
1487 MEMBERID* pMemId);
1488 HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
1489 ITypeInfo* This);
1490 HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy(
1491 ITypeInfo* This);
1492 void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
1493 struct IRpcStubBuffer* This,
1494 struct IRpcChannelBuffer* pRpcChannelBuffer,
1495 PRPC_MESSAGE pRpcMessage,
1496 DWORD* pdwStubPhase);
1497 HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
1498 ITypeInfo* This,
1499 PVOID pvInstance,
1500 MEMBERID memid,
1501 WORD wFlags,
1502 DISPPARAMS* pDispParams,
1503 VARIANT* pVarResult,
1504 EXCEPINFO* pExcepInfo,
1505 UINT* puArgErr);
1506 HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
1507 ITypeInfo* This);
1508 HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy(
1509 ITypeInfo* This,
1510 MEMBERID memid,
1511 DWORD refPtrFlags,
1512 BSTR* pBstrName,
1513 BSTR* pBstrDocString,
1514 DWORD* pdwHelpContext,
1515 BSTR* pBstrHelpFile);
1516 void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
1517 struct IRpcStubBuffer* This,
1518 struct IRpcChannelBuffer* pRpcChannelBuffer,
1519 PRPC_MESSAGE pRpcMessage,
1520 DWORD* pdwStubPhase);
1521 HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
1522 ITypeInfo* This,
1523 MEMBERID memid,
1524 BSTR* pBstrName,
1525 BSTR* pBstrDocString,
1526 DWORD* pdwHelpContext,
1527 BSTR* pBstrHelpFile);
1528 HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
1529 ITypeInfo* This,
1530 MEMBERID memid,
1531 DWORD refPtrFlags,
1532 BSTR* pBstrName,
1533 BSTR* pBstrDocString,
1534 DWORD* pdwHelpContext,
1535 BSTR* pBstrHelpFile);
1536 HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy(
1537 ITypeInfo* This,
1538 MEMBERID memid,
1539 INVOKEKIND invKind,
1540 DWORD refPtrFlags,
1541 BSTR* pBstrDllName,
1542 BSTR* pBstrName,
1543 WORD* pwOrdinal);
1544 void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
1545 struct IRpcStubBuffer* This,
1546 struct IRpcChannelBuffer* pRpcChannelBuffer,
1547 PRPC_MESSAGE pRpcMessage,
1548 DWORD* pdwStubPhase);
1549 HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
1550 ITypeInfo* This,
1551 MEMBERID memid,
1552 INVOKEKIND invKind,
1553 BSTR* pBstrDllName,
1554 BSTR* pBstrName,
1555 WORD* pwOrdinal);
1556 HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
1557 ITypeInfo* This,
1558 MEMBERID memid,
1559 INVOKEKIND invKind,
1560 DWORD refPtrFlags,
1561 BSTR* pBstrDllName,
1562 BSTR* pBstrName,
1563 WORD* pwOrdinal);
1564 HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy(
1565 ITypeInfo* This,
1566 HREFTYPE hRefType,
1567 ITypeInfo** ppTInfo);
1568 void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
1569 struct IRpcStubBuffer* This,
1570 struct IRpcChannelBuffer* pRpcChannelBuffer,
1571 PRPC_MESSAGE pRpcMessage,
1572 DWORD* pdwStubPhase);
1573 HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy(
1574 ITypeInfo* This);
1575 void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
1576 struct IRpcStubBuffer* This,
1577 struct IRpcChannelBuffer* pRpcChannelBuffer,
1578 PRPC_MESSAGE pRpcMessage,
1579 DWORD* pdwStubPhase);
1580 HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
1581 ITypeInfo* This,
1582 MEMBERID memid,
1583 INVOKEKIND invKind,
1584 PVOID* ppv);
1585 HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
1586 ITypeInfo* This);
1587 HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy(
1588 ITypeInfo* This,
1589 REFIID riid,
1590 IUnknown** ppvObj);
1591 void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
1592 struct IRpcStubBuffer* This,
1593 struct IRpcChannelBuffer* pRpcChannelBuffer,
1594 PRPC_MESSAGE pRpcMessage,
1595 DWORD* pdwStubPhase);
1596 HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
1597 ITypeInfo* This,
1598 IUnknown* pUnkOuter,
1599 REFIID riid,
1600 PVOID* ppvObj);
1601 HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
1602 ITypeInfo* This,
1603 REFIID riid,
1604 IUnknown** ppvObj);
1605 HRESULT CALLBACK ITypeInfo_GetMops_Proxy(
1606 ITypeInfo* This,
1607 MEMBERID memid,
1608 BSTR* pBstrMops);
1609 void __RPC_STUB ITypeInfo_GetMops_Stub(
1610 struct IRpcStubBuffer* This,
1611 struct IRpcChannelBuffer* pRpcChannelBuffer,
1612 PRPC_MESSAGE pRpcMessage,
1613 DWORD* pdwStubPhase);
1614 HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1615 ITypeInfo* This,
1616 ITypeLib** ppTLib,
1617 UINT* pIndex);
1618 void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
1619 struct IRpcStubBuffer* This,
1620 struct IRpcChannelBuffer* pRpcChannelBuffer,
1621 PRPC_MESSAGE pRpcMessage,
1622 DWORD* pdwStubPhase);
1623 HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
1624 ITypeInfo* This,
1625 ITypeLib** ppTLib,
1626 UINT* pIndex);
1627 HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
1628 ITypeInfo* This,
1629 ITypeLib** ppTLib,
1630 UINT* pIndex);
1631 HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy(
1632 ITypeInfo* This);
1633 void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
1634 struct IRpcStubBuffer* This,
1635 struct IRpcChannelBuffer* pRpcChannelBuffer,
1636 PRPC_MESSAGE pRpcMessage,
1637 DWORD* pdwStubPhase);
1638 void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
1639 ITypeInfo* This,
1640 TYPEATTR* pTypeAttr);
1641 HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
1642 ITypeInfo* This);
1643 HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy(
1644 ITypeInfo* This);
1645 void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
1646 struct IRpcStubBuffer* This,
1647 struct IRpcChannelBuffer* pRpcChannelBuffer,
1648 PRPC_MESSAGE pRpcMessage,
1649 DWORD* pdwStubPhase);
1650 void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
1651 ITypeInfo* This,
1652 FUNCDESC* pFuncDesc);
1653 HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
1654 ITypeInfo* This);
1655 HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy(
1656 ITypeInfo* This);
1657 void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
1658 struct IRpcStubBuffer* This,
1659 struct IRpcChannelBuffer* pRpcChannelBuffer,
1660 PRPC_MESSAGE pRpcMessage,
1661 DWORD* pdwStubPhase);
1662 void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
1663 ITypeInfo* This,
1664 VARDESC* pVarDesc);
1665 HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
1666 ITypeInfo* This);
1668 #endif /* __ITypeInfo_INTERFACE_DEFINED__ */
1670 #ifndef __ITypeInfo2_FWD_DEFINED__
1671 #define __ITypeInfo2_FWD_DEFINED__
1672 typedef struct ITypeInfo2 ITypeInfo2;
1673 #endif
1675 typedef ITypeInfo2 *LPTYPEINFO2;
1677 /*****************************************************************************
1678 * ITypeInfo2 interface
1680 #ifndef __ITypeInfo2_INTERFACE_DEFINED__
1681 #define __ITypeInfo2_INTERFACE_DEFINED__
1683 DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1684 #if defined(__cplusplus) && !defined(CINTERFACE)
1685 struct ITypeInfo2 : public ITypeInfo
1687 virtual HRESULT STDMETHODCALLTYPE GetTypeKind(
1688 TYPEKIND* pTypeKind) = 0;
1690 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
1691 ULONG* pTypeFlags) = 0;
1693 virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId(
1694 MEMBERID memid,
1695 INVOKEKIND invKind,
1696 UINT* pFuncIndex) = 0;
1698 virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId(
1699 MEMBERID memid,
1700 UINT* pVarIndex) = 0;
1702 virtual HRESULT STDMETHODCALLTYPE GetCustData(
1703 REFGUID guid,
1704 VARIANT* pVarVal) = 0;
1706 virtual HRESULT STDMETHODCALLTYPE GetFuncCustData(
1707 UINT index,
1708 REFGUID guid,
1709 VARIANT* pVarVal) = 0;
1711 virtual HRESULT STDMETHODCALLTYPE GetParamCustData(
1712 UINT indexFunc,
1713 UINT indexParam,
1714 REFGUID guid,
1715 VARIANT* pVarVal) = 0;
1717 virtual HRESULT STDMETHODCALLTYPE GetVarCustData(
1718 UINT index,
1719 REFGUID guid,
1720 VARIANT* pVarVal) = 0;
1722 virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData(
1723 UINT index,
1724 REFGUID guid,
1725 VARIANT* pVarVal) = 0;
1727 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
1728 MEMBERID memid,
1729 LCID lcid,
1730 BSTR* pbstrHelpString,
1731 DWORD* pdwHelpStringContext,
1732 BSTR* pbstrHelpStringDll) = 0;
1734 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
1735 CUSTDATA* pCustData) = 0;
1737 virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData(
1738 UINT index,
1739 CUSTDATA* pCustData) = 0;
1741 virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData(
1742 UINT indexFunc,
1743 UINT indexParam,
1744 CUSTDATA* pCustData) = 0;
1746 virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData(
1747 UINT index,
1748 CUSTDATA* pCustData) = 0;
1750 virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData(
1751 UINT index,
1752 CUSTDATA* pCustData) = 0;
1755 #else
1756 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl;
1757 struct ITypeInfo2 {
1758 const ITypeInfo2Vtbl* lpVtbl;
1760 struct ITypeInfo2Vtbl {
1761 ICOM_MSVTABLE_COMPAT_FIELDS
1763 /*** IUnknown methods ***/
1764 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1765 ITypeInfo2* This,
1766 REFIID riid,
1767 void** ppvObject);
1769 ULONG (STDMETHODCALLTYPE *AddRef)(
1770 ITypeInfo2* This);
1772 ULONG (STDMETHODCALLTYPE *Release)(
1773 ITypeInfo2* This);
1775 /*** ITypeInfo methods ***/
1776 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1777 ITypeInfo2* This,
1778 TYPEATTR** ppTypeAttr);
1780 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1781 ITypeInfo2* This,
1782 ITypeComp** ppTComp);
1784 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1785 ITypeInfo2* This,
1786 UINT index,
1787 FUNCDESC** ppFuncDesc);
1789 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1790 ITypeInfo2* This,
1791 UINT index,
1792 VARDESC** ppVarDesc);
1794 HRESULT (STDMETHODCALLTYPE *GetNames)(
1795 ITypeInfo2* This,
1796 MEMBERID memid,
1797 BSTR* rgBstrNames,
1798 UINT cMaxNames,
1799 UINT* pcNames);
1801 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1802 ITypeInfo2* This,
1803 UINT index,
1804 HREFTYPE* pRefType);
1806 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1807 ITypeInfo2* This,
1808 UINT index,
1809 INT* pImplTypeFlags);
1811 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1812 ITypeInfo2* This,
1813 LPOLESTR* rgszNames,
1814 UINT cNames,
1815 MEMBERID* pMemId);
1817 HRESULT (STDMETHODCALLTYPE *Invoke)(
1818 ITypeInfo2* This,
1819 PVOID pvInstance,
1820 MEMBERID memid,
1821 WORD wFlags,
1822 DISPPARAMS* pDispParams,
1823 VARIANT* pVarResult,
1824 EXCEPINFO* pExcepInfo,
1825 UINT* puArgErr);
1827 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1828 ITypeInfo2* This,
1829 MEMBERID memid,
1830 BSTR* pBstrName,
1831 BSTR* pBstrDocString,
1832 DWORD* pdwHelpContext,
1833 BSTR* pBstrHelpFile);
1835 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1836 ITypeInfo2* This,
1837 MEMBERID memid,
1838 INVOKEKIND invKind,
1839 BSTR* pBstrDllName,
1840 BSTR* pBstrName,
1841 WORD* pwOrdinal);
1843 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1844 ITypeInfo2* This,
1845 HREFTYPE hRefType,
1846 ITypeInfo** ppTInfo);
1848 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1849 ITypeInfo2* This,
1850 MEMBERID memid,
1851 INVOKEKIND invKind,
1852 PVOID* ppv);
1854 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1855 ITypeInfo2* This,
1856 IUnknown* pUnkOuter,
1857 REFIID riid,
1858 PVOID* ppvObj);
1860 HRESULT (STDMETHODCALLTYPE *GetMops)(
1861 ITypeInfo2* This,
1862 MEMBERID memid,
1863 BSTR* pBstrMops);
1865 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1866 ITypeInfo2* This,
1867 ITypeLib** ppTLib,
1868 UINT* pIndex);
1870 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1871 ITypeInfo2* This,
1872 TYPEATTR* pTypeAttr);
1874 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1875 ITypeInfo2* This,
1876 FUNCDESC* pFuncDesc);
1878 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1879 ITypeInfo2* This,
1880 VARDESC* pVarDesc);
1882 /*** ITypeInfo2 methods ***/
1883 HRESULT (STDMETHODCALLTYPE *GetTypeKind)(
1884 ITypeInfo2* This,
1885 TYPEKIND* pTypeKind);
1887 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
1888 ITypeInfo2* This,
1889 ULONG* pTypeFlags);
1891 HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)(
1892 ITypeInfo2* This,
1893 MEMBERID memid,
1894 INVOKEKIND invKind,
1895 UINT* pFuncIndex);
1897 HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)(
1898 ITypeInfo2* This,
1899 MEMBERID memid,
1900 UINT* pVarIndex);
1902 HRESULT (STDMETHODCALLTYPE *GetCustData)(
1903 ITypeInfo2* This,
1904 REFGUID guid,
1905 VARIANT* pVarVal);
1907 HRESULT (STDMETHODCALLTYPE *GetFuncCustData)(
1908 ITypeInfo2* This,
1909 UINT index,
1910 REFGUID guid,
1911 VARIANT* pVarVal);
1913 HRESULT (STDMETHODCALLTYPE *GetParamCustData)(
1914 ITypeInfo2* This,
1915 UINT indexFunc,
1916 UINT indexParam,
1917 REFGUID guid,
1918 VARIANT* pVarVal);
1920 HRESULT (STDMETHODCALLTYPE *GetVarCustData)(
1921 ITypeInfo2* This,
1922 UINT index,
1923 REFGUID guid,
1924 VARIANT* pVarVal);
1926 HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)(
1927 ITypeInfo2* This,
1928 UINT index,
1929 REFGUID guid,
1930 VARIANT* pVarVal);
1932 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
1933 ITypeInfo2* This,
1934 MEMBERID memid,
1935 LCID lcid,
1936 BSTR* pbstrHelpString,
1937 DWORD* pdwHelpStringContext,
1938 BSTR* pbstrHelpStringDll);
1940 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
1941 ITypeInfo2* This,
1942 CUSTDATA* pCustData);
1944 HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)(
1945 ITypeInfo2* This,
1946 UINT index,
1947 CUSTDATA* pCustData);
1949 HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)(
1950 ITypeInfo2* This,
1951 UINT indexFunc,
1952 UINT indexParam,
1953 CUSTDATA* pCustData);
1955 HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)(
1956 ITypeInfo2* This,
1957 UINT index,
1958 CUSTDATA* pCustData);
1960 HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)(
1961 ITypeInfo2* This,
1962 UINT index,
1963 CUSTDATA* pCustData);
1967 /*** IUnknown methods ***/
1968 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1969 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1970 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1971 /*** ITypeInfo methods ***/
1972 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1973 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1974 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1975 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1976 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1977 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1978 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1979 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1980 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1981 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1982 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1983 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1984 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1985 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1986 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1987 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1988 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1989 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1990 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1991 /*** ITypeInfo2 methods ***/
1992 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1993 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
1994 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
1995 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
1996 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1997 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
1998 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
1999 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
2000 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
2001 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2002 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2003 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
2004 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
2005 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
2006 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
2008 #endif
2010 #define ITypeInfo2_METHODS \
2011 ICOM_MSVTABLE_COMPAT_FIELDS \
2012 /*** IUnknown methods ***/ \
2013 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2014 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2015 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2016 /*** ITypeInfo methods ***/ \
2017 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
2018 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2019 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
2020 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
2021 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
2022 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
2023 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
2024 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
2025 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
2026 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2027 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
2028 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
2029 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
2030 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
2031 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
2032 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
2033 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
2034 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
2035 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
2036 /*** ITypeInfo2 methods ***/ \
2037 STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
2038 STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
2039 STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
2040 STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
2041 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2042 STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2043 STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
2044 STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2045 STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2046 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2047 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
2048 STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2049 STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
2050 STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2051 STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
2053 HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy(
2054 ITypeInfo2* This,
2055 TYPEKIND* pTypeKind);
2056 void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
2057 struct IRpcStubBuffer* This,
2058 struct IRpcChannelBuffer* pRpcChannelBuffer,
2059 PRPC_MESSAGE pRpcMessage,
2060 DWORD* pdwStubPhase);
2061 HRESULT CALLBACK ITypeInfo2_GetTypeFlags_Proxy(
2062 ITypeInfo2* This,
2063 ULONG* pTypeFlags);
2064 void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
2065 struct IRpcStubBuffer* This,
2066 struct IRpcChannelBuffer* pRpcChannelBuffer,
2067 PRPC_MESSAGE pRpcMessage,
2068 DWORD* pdwStubPhase);
2069 HRESULT CALLBACK ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2070 ITypeInfo2* This,
2071 MEMBERID memid,
2072 INVOKEKIND invKind,
2073 UINT* pFuncIndex);
2074 void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
2075 struct IRpcStubBuffer* This,
2076 struct IRpcChannelBuffer* pRpcChannelBuffer,
2077 PRPC_MESSAGE pRpcMessage,
2078 DWORD* pdwStubPhase);
2079 HRESULT CALLBACK ITypeInfo2_GetVarIndexOfMemId_Proxy(
2080 ITypeInfo2* This,
2081 MEMBERID memid,
2082 UINT* pVarIndex);
2083 void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
2084 struct IRpcStubBuffer* This,
2085 struct IRpcChannelBuffer* pRpcChannelBuffer,
2086 PRPC_MESSAGE pRpcMessage,
2087 DWORD* pdwStubPhase);
2088 HRESULT CALLBACK ITypeInfo2_GetCustData_Proxy(
2089 ITypeInfo2* This,
2090 REFGUID guid,
2091 VARIANT* pVarVal);
2092 void __RPC_STUB ITypeInfo2_GetCustData_Stub(
2093 struct IRpcStubBuffer* This,
2094 struct IRpcChannelBuffer* pRpcChannelBuffer,
2095 PRPC_MESSAGE pRpcMessage,
2096 DWORD* pdwStubPhase);
2097 HRESULT CALLBACK ITypeInfo2_GetFuncCustData_Proxy(
2098 ITypeInfo2* This,
2099 UINT index,
2100 REFGUID guid,
2101 VARIANT* pVarVal);
2102 void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
2103 struct IRpcStubBuffer* This,
2104 struct IRpcChannelBuffer* pRpcChannelBuffer,
2105 PRPC_MESSAGE pRpcMessage,
2106 DWORD* pdwStubPhase);
2107 HRESULT CALLBACK ITypeInfo2_GetParamCustData_Proxy(
2108 ITypeInfo2* This,
2109 UINT indexFunc,
2110 UINT indexParam,
2111 REFGUID guid,
2112 VARIANT* pVarVal);
2113 void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
2114 struct IRpcStubBuffer* This,
2115 struct IRpcChannelBuffer* pRpcChannelBuffer,
2116 PRPC_MESSAGE pRpcMessage,
2117 DWORD* pdwStubPhase);
2118 HRESULT CALLBACK ITypeInfo2_GetVarCustData_Proxy(
2119 ITypeInfo2* This,
2120 UINT index,
2121 REFGUID guid,
2122 VARIANT* pVarVal);
2123 void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
2124 struct IRpcStubBuffer* This,
2125 struct IRpcChannelBuffer* pRpcChannelBuffer,
2126 PRPC_MESSAGE pRpcMessage,
2127 DWORD* pdwStubPhase);
2128 HRESULT CALLBACK ITypeInfo2_GetImplTypeCustData_Proxy(
2129 ITypeInfo2* This,
2130 UINT index,
2131 REFGUID guid,
2132 VARIANT* pVarVal);
2133 void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
2134 struct IRpcStubBuffer* This,
2135 struct IRpcChannelBuffer* pRpcChannelBuffer,
2136 PRPC_MESSAGE pRpcMessage,
2137 DWORD* pdwStubPhase);
2138 HRESULT CALLBACK ITypeInfo2_RemoteGetDocumentation2_Proxy(
2139 ITypeInfo2* This,
2140 MEMBERID memid,
2141 LCID lcid,
2142 DWORD refPtrFlags,
2143 BSTR* pbstrHelpString,
2144 DWORD* pdwHelpStringContext,
2145 BSTR* pbstrHelpStringDll);
2146 void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
2147 struct IRpcStubBuffer* This,
2148 struct IRpcChannelBuffer* pRpcChannelBuffer,
2149 PRPC_MESSAGE pRpcMessage,
2150 DWORD* pdwStubPhase);
2151 HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy(
2152 ITypeInfo2* This,
2153 MEMBERID memid,
2154 LCID lcid,
2155 BSTR* pbstrHelpString,
2156 DWORD* pdwHelpStringContext,
2157 BSTR* pbstrHelpStringDll);
2158 HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub(
2159 ITypeInfo2* This,
2160 MEMBERID memid,
2161 LCID lcid,
2162 DWORD refPtrFlags,
2163 BSTR* pbstrHelpString,
2164 DWORD* pdwHelpStringContext,
2165 BSTR* pbstrHelpStringDll);
2166 HRESULT CALLBACK ITypeInfo2_GetAllCustData_Proxy(
2167 ITypeInfo2* This,
2168 CUSTDATA* pCustData);
2169 void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
2170 struct IRpcStubBuffer* This,
2171 struct IRpcChannelBuffer* pRpcChannelBuffer,
2172 PRPC_MESSAGE pRpcMessage,
2173 DWORD* pdwStubPhase);
2174 HRESULT CALLBACK ITypeInfo2_GetAllFuncCustData_Proxy(
2175 ITypeInfo2* This,
2176 UINT index,
2177 CUSTDATA* pCustData);
2178 void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
2179 struct IRpcStubBuffer* This,
2180 struct IRpcChannelBuffer* pRpcChannelBuffer,
2181 PRPC_MESSAGE pRpcMessage,
2182 DWORD* pdwStubPhase);
2183 HRESULT CALLBACK ITypeInfo2_GetAllParamCustData_Proxy(
2184 ITypeInfo2* This,
2185 UINT indexFunc,
2186 UINT indexParam,
2187 CUSTDATA* pCustData);
2188 void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
2189 struct IRpcStubBuffer* This,
2190 struct IRpcChannelBuffer* pRpcChannelBuffer,
2191 PRPC_MESSAGE pRpcMessage,
2192 DWORD* pdwStubPhase);
2193 HRESULT CALLBACK ITypeInfo2_GetAllVarCustData_Proxy(
2194 ITypeInfo2* This,
2195 UINT index,
2196 CUSTDATA* pCustData);
2197 void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
2198 struct IRpcStubBuffer* This,
2199 struct IRpcChannelBuffer* pRpcChannelBuffer,
2200 PRPC_MESSAGE pRpcMessage,
2201 DWORD* pdwStubPhase);
2202 HRESULT CALLBACK ITypeInfo2_GetAllImplTypeCustData_Proxy(
2203 ITypeInfo2* This,
2204 UINT index,
2205 CUSTDATA* pCustData);
2206 void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
2207 struct IRpcStubBuffer* This,
2208 struct IRpcChannelBuffer* pRpcChannelBuffer,
2209 PRPC_MESSAGE pRpcMessage,
2210 DWORD* pdwStubPhase);
2212 #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
2214 typedef ITypeLib *LPTYPELIB;
2216 typedef enum tagSYSKIND {
2217 SYS_WIN16 = 0,
2218 SYS_WIN32,
2219 SYS_MAC
2220 } SYSKIND;
2222 typedef enum tagLIBFLAGS {
2223 LIBFLAG_FRESTRICTED = 0x1,
2224 LIBFLAG_FCONTROL = 0x2,
2225 LIBFLAG_FHIDDEN = 0x4,
2226 LIBFLAG_FHASDISKIMAGE = 0x8
2227 } LIBFLAGS;
2229 typedef struct tagTLIBATTR {
2230 GUID guid;
2231 LCID lcid;
2232 SYSKIND syskind;
2233 WORD wMajorVerNum;
2234 WORD wMinorVerNum;
2235 WORD wLibFlags;
2236 } TLIBATTR, *LPTLIBATTR;
2238 /*****************************************************************************
2239 * ITypeLib interface
2241 #ifndef __ITypeLib_INTERFACE_DEFINED__
2242 #define __ITypeLib_INTERFACE_DEFINED__
2244 DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2245 #if defined(__cplusplus) && !defined(CINTERFACE)
2246 struct ITypeLib : public IUnknown
2248 virtual UINT STDMETHODCALLTYPE GetTypeInfoCount(
2249 ) = 0;
2251 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
2252 UINT index,
2253 ITypeInfo** ppTInfo) = 0;
2255 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType(
2256 UINT index,
2257 TYPEKIND* pTKind) = 0;
2259 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid(
2260 REFGUID guid,
2261 ITypeInfo** ppTinfo) = 0;
2263 virtual HRESULT STDMETHODCALLTYPE GetLibAttr(
2264 TLIBATTR** ppTLibAttr) = 0;
2266 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
2267 ITypeComp** ppTComp) = 0;
2269 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
2270 INT index,
2271 BSTR* pBstrName,
2272 BSTR* pBstrDocString,
2273 DWORD* pdwHelpContext,
2274 BSTR* pBstrHelpFile) = 0;
2276 virtual HRESULT STDMETHODCALLTYPE IsName(
2277 LPOLESTR szNameBuf,
2278 ULONG lHashVal,
2279 BOOL* pfName) = 0;
2281 virtual HRESULT STDMETHODCALLTYPE FindName(
2282 LPOLESTR szNameBuf,
2283 ULONG lHashVal,
2284 ITypeInfo** ppTInfo,
2285 MEMBERID* rgMemId,
2286 USHORT* pcFound) = 0;
2288 virtual void STDMETHODCALLTYPE ReleaseTLibAttr(
2289 TLIBATTR* pTLibAttr) = 0;
2292 #else
2293 typedef struct ITypeLibVtbl ITypeLibVtbl;
2294 struct ITypeLib {
2295 const ITypeLibVtbl* lpVtbl;
2297 struct ITypeLibVtbl {
2298 ICOM_MSVTABLE_COMPAT_FIELDS
2300 /*** IUnknown methods ***/
2301 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2302 ITypeLib* This,
2303 REFIID riid,
2304 void** ppvObject);
2306 ULONG (STDMETHODCALLTYPE *AddRef)(
2307 ITypeLib* This);
2309 ULONG (STDMETHODCALLTYPE *Release)(
2310 ITypeLib* This);
2312 /*** ITypeLib methods ***/
2313 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2314 ITypeLib* This);
2316 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2317 ITypeLib* This,
2318 UINT index,
2319 ITypeInfo** ppTInfo);
2321 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2322 ITypeLib* This,
2323 UINT index,
2324 TYPEKIND* pTKind);
2326 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2327 ITypeLib* This,
2328 REFGUID guid,
2329 ITypeInfo** ppTinfo);
2331 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2332 ITypeLib* This,
2333 TLIBATTR** ppTLibAttr);
2335 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2336 ITypeLib* This,
2337 ITypeComp** ppTComp);
2339 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2340 ITypeLib* This,
2341 INT index,
2342 BSTR* pBstrName,
2343 BSTR* pBstrDocString,
2344 DWORD* pdwHelpContext,
2345 BSTR* pBstrHelpFile);
2347 HRESULT (STDMETHODCALLTYPE *IsName)(
2348 ITypeLib* This,
2349 LPOLESTR szNameBuf,
2350 ULONG lHashVal,
2351 BOOL* pfName);
2353 HRESULT (STDMETHODCALLTYPE *FindName)(
2354 ITypeLib* This,
2355 LPOLESTR szNameBuf,
2356 ULONG lHashVal,
2357 ITypeInfo** ppTInfo,
2358 MEMBERID* rgMemId,
2359 USHORT* pcFound);
2361 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2362 ITypeLib* This,
2363 TLIBATTR* pTLibAttr);
2367 /*** IUnknown methods ***/
2368 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2369 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2370 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2371 /*** ITypeLib methods ***/
2372 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2373 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2374 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2375 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2376 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2377 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2378 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2379 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2380 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2381 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2383 #endif
2385 #define ITypeLib_METHODS \
2386 ICOM_MSVTABLE_COMPAT_FIELDS \
2387 /*** IUnknown methods ***/ \
2388 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2389 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2390 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2391 /*** ITypeLib methods ***/ \
2392 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2393 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2394 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2395 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2396 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2397 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2398 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2399 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2400 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2401 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
2403 HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
2404 ITypeLib* This,
2405 UINT* pcTInfo);
2406 void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
2407 struct IRpcStubBuffer* This,
2408 struct IRpcChannelBuffer* pRpcChannelBuffer,
2409 PRPC_MESSAGE pRpcMessage,
2410 DWORD* pdwStubPhase);
2411 UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
2412 ITypeLib* This);
2413 HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
2414 ITypeLib* This,
2415 UINT* pcTInfo);
2416 HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy(
2417 ITypeLib* This,
2418 UINT index,
2419 ITypeInfo** ppTInfo);
2420 void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
2421 struct IRpcStubBuffer* This,
2422 struct IRpcChannelBuffer* pRpcChannelBuffer,
2423 PRPC_MESSAGE pRpcMessage,
2424 DWORD* pdwStubPhase);
2425 HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy(
2426 ITypeLib* This,
2427 UINT index,
2428 TYPEKIND* pTKind);
2429 void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
2430 struct IRpcStubBuffer* This,
2431 struct IRpcChannelBuffer* pRpcChannelBuffer,
2432 PRPC_MESSAGE pRpcMessage,
2433 DWORD* pdwStubPhase);
2434 HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy(
2435 ITypeLib* This,
2436 REFGUID guid,
2437 ITypeInfo** ppTinfo);
2438 void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
2439 struct IRpcStubBuffer* This,
2440 struct IRpcChannelBuffer* pRpcChannelBuffer,
2441 PRPC_MESSAGE pRpcMessage,
2442 DWORD* pdwStubPhase);
2443 HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy(
2444 ITypeLib* This,
2445 LPTLIBATTR* ppTLibAttr,
2446 CLEANLOCALSTORAGE* pDummy);
2447 void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
2448 struct IRpcStubBuffer* This,
2449 struct IRpcChannelBuffer* pRpcChannelBuffer,
2450 PRPC_MESSAGE pRpcMessage,
2451 DWORD* pdwStubPhase);
2452 HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
2453 ITypeLib* This,
2454 TLIBATTR** ppTLibAttr);
2455 HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
2456 ITypeLib* This,
2457 LPTLIBATTR* ppTLibAttr,
2458 CLEANLOCALSTORAGE* pDummy);
2459 HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy(
2460 ITypeLib* This,
2461 ITypeComp** ppTComp);
2462 void __RPC_STUB ITypeLib_GetTypeComp_Stub(
2463 struct IRpcStubBuffer* This,
2464 struct IRpcChannelBuffer* pRpcChannelBuffer,
2465 PRPC_MESSAGE pRpcMessage,
2466 DWORD* pdwStubPhase);
2467 HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy(
2468 ITypeLib* This,
2469 INT index,
2470 DWORD refPtrFlags,
2471 BSTR* pBstrName,
2472 BSTR* pBstrDocString,
2473 DWORD* pdwHelpContext,
2474 BSTR* pBstrHelpFile);
2475 void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
2476 struct IRpcStubBuffer* This,
2477 struct IRpcChannelBuffer* pRpcChannelBuffer,
2478 PRPC_MESSAGE pRpcMessage,
2479 DWORD* pdwStubPhase);
2480 HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
2481 ITypeLib* This,
2482 INT index,
2483 BSTR* pBstrName,
2484 BSTR* pBstrDocString,
2485 DWORD* pdwHelpContext,
2486 BSTR* pBstrHelpFile);
2487 HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
2488 ITypeLib* This,
2489 INT index,
2490 DWORD refPtrFlags,
2491 BSTR* pBstrName,
2492 BSTR* pBstrDocString,
2493 DWORD* pdwHelpContext,
2494 BSTR* pBstrHelpFile);
2495 HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy(
2496 ITypeLib* This,
2497 LPOLESTR szNameBuf,
2498 ULONG lHashVal,
2499 BOOL* pfName,
2500 BSTR* pBstrLibName);
2501 void __RPC_STUB ITypeLib_RemoteIsName_Stub(
2502 struct IRpcStubBuffer* This,
2503 struct IRpcChannelBuffer* pRpcChannelBuffer,
2504 PRPC_MESSAGE pRpcMessage,
2505 DWORD* pdwStubPhase);
2506 HRESULT CALLBACK ITypeLib_IsName_Proxy(
2507 ITypeLib* This,
2508 LPOLESTR szNameBuf,
2509 ULONG lHashVal,
2510 BOOL* pfName);
2511 HRESULT __RPC_STUB ITypeLib_IsName_Stub(
2512 ITypeLib* This,
2513 LPOLESTR szNameBuf,
2514 ULONG lHashVal,
2515 BOOL* pfName,
2516 BSTR* pBstrLibName);
2517 HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy(
2518 ITypeLib* This,
2519 LPOLESTR szNameBuf,
2520 ULONG lHashVal,
2521 ITypeInfo** ppTInfo,
2522 MEMBERID* rgMemId,
2523 USHORT* pcFound,
2524 BSTR* pBstrLibName);
2525 void __RPC_STUB ITypeLib_RemoteFindName_Stub(
2526 struct IRpcStubBuffer* This,
2527 struct IRpcChannelBuffer* pRpcChannelBuffer,
2528 PRPC_MESSAGE pRpcMessage,
2529 DWORD* pdwStubPhase);
2530 HRESULT CALLBACK ITypeLib_FindName_Proxy(
2531 ITypeLib* This,
2532 LPOLESTR szNameBuf,
2533 ULONG lHashVal,
2534 ITypeInfo** ppTInfo,
2535 MEMBERID* rgMemId,
2536 USHORT* pcFound);
2537 HRESULT __RPC_STUB ITypeLib_FindName_Stub(
2538 ITypeLib* This,
2539 LPOLESTR szNameBuf,
2540 ULONG lHashVal,
2541 ITypeInfo** ppTInfo,
2542 MEMBERID* rgMemId,
2543 USHORT* pcFound,
2544 BSTR* pBstrLibName);
2545 HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy(
2546 ITypeLib* This);
2547 void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
2548 struct IRpcStubBuffer* This,
2549 struct IRpcChannelBuffer* pRpcChannelBuffer,
2550 PRPC_MESSAGE pRpcMessage,
2551 DWORD* pdwStubPhase);
2552 void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
2553 ITypeLib* This,
2554 TLIBATTR* pTLibAttr);
2555 HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
2556 ITypeLib* This);
2558 #endif /* __ITypeLib_INTERFACE_DEFINED__ */
2560 #ifndef __ITypeLib2_FWD_DEFINED__
2561 #define __ITypeLib2_FWD_DEFINED__
2562 typedef struct ITypeLib2 ITypeLib2;
2563 #endif
2565 typedef ITypeLib2 *LPTYPELIB2;
2567 /*****************************************************************************
2568 * ITypeLib2 interface
2570 #ifndef __ITypeLib2_INTERFACE_DEFINED__
2571 #define __ITypeLib2_INTERFACE_DEFINED__
2573 DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2574 #if defined(__cplusplus) && !defined(CINTERFACE)
2575 struct ITypeLib2 : public ITypeLib
2577 virtual HRESULT STDMETHODCALLTYPE GetCustData(
2578 REFGUID guid,
2579 VARIANT* pVarVal) = 0;
2581 virtual HRESULT STDMETHODCALLTYPE GetLibStatistics(
2582 ULONG* pcUniqueNames,
2583 ULONG* pcchUniqueNames) = 0;
2585 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
2586 INT index,
2587 LCID lcid,
2588 BSTR* pbstrHelpString,
2589 DWORD* pdwHelpStringContext,
2590 BSTR* pbstrHelpStringDll) = 0;
2592 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
2593 CUSTDATA* pCustData) = 0;
2596 #else
2597 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl;
2598 struct ITypeLib2 {
2599 const ITypeLib2Vtbl* lpVtbl;
2601 struct ITypeLib2Vtbl {
2602 ICOM_MSVTABLE_COMPAT_FIELDS
2604 /*** IUnknown methods ***/
2605 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2606 ITypeLib2* This,
2607 REFIID riid,
2608 void** ppvObject);
2610 ULONG (STDMETHODCALLTYPE *AddRef)(
2611 ITypeLib2* This);
2613 ULONG (STDMETHODCALLTYPE *Release)(
2614 ITypeLib2* This);
2616 /*** ITypeLib methods ***/
2617 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2618 ITypeLib2* This);
2620 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2621 ITypeLib2* This,
2622 UINT index,
2623 ITypeInfo** ppTInfo);
2625 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2626 ITypeLib2* This,
2627 UINT index,
2628 TYPEKIND* pTKind);
2630 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2631 ITypeLib2* This,
2632 REFGUID guid,
2633 ITypeInfo** ppTinfo);
2635 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2636 ITypeLib2* This,
2637 TLIBATTR** ppTLibAttr);
2639 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2640 ITypeLib2* This,
2641 ITypeComp** ppTComp);
2643 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2644 ITypeLib2* This,
2645 INT index,
2646 BSTR* pBstrName,
2647 BSTR* pBstrDocString,
2648 DWORD* pdwHelpContext,
2649 BSTR* pBstrHelpFile);
2651 HRESULT (STDMETHODCALLTYPE *IsName)(
2652 ITypeLib2* This,
2653 LPOLESTR szNameBuf,
2654 ULONG lHashVal,
2655 BOOL* pfName);
2657 HRESULT (STDMETHODCALLTYPE *FindName)(
2658 ITypeLib2* This,
2659 LPOLESTR szNameBuf,
2660 ULONG lHashVal,
2661 ITypeInfo** ppTInfo,
2662 MEMBERID* rgMemId,
2663 USHORT* pcFound);
2665 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2666 ITypeLib2* This,
2667 TLIBATTR* pTLibAttr);
2669 /*** ITypeLib2 methods ***/
2670 HRESULT (STDMETHODCALLTYPE *GetCustData)(
2671 ITypeLib2* This,
2672 REFGUID guid,
2673 VARIANT* pVarVal);
2675 HRESULT (STDMETHODCALLTYPE *GetLibStatistics)(
2676 ITypeLib2* This,
2677 ULONG* pcUniqueNames,
2678 ULONG* pcchUniqueNames);
2680 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
2681 ITypeLib2* This,
2682 INT index,
2683 LCID lcid,
2684 BSTR* pbstrHelpString,
2685 DWORD* pdwHelpStringContext,
2686 BSTR* pbstrHelpStringDll);
2688 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
2689 ITypeLib2* This,
2690 CUSTDATA* pCustData);
2694 /*** IUnknown methods ***/
2695 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2696 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2697 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2698 /*** ITypeLib methods ***/
2699 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2700 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2701 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2702 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2703 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2704 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2705 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2706 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2707 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2708 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2709 /*** ITypeLib2 methods ***/
2710 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2711 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2712 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2713 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2715 #endif
2717 #define ITypeLib2_METHODS \
2718 ICOM_MSVTABLE_COMPAT_FIELDS \
2719 /*** IUnknown methods ***/ \
2720 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2721 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2722 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2723 /*** ITypeLib methods ***/ \
2724 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2725 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2726 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2727 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2728 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2729 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2730 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2731 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2732 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2733 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
2734 /*** ITypeLib2 methods ***/ \
2735 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2736 STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
2737 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2738 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
2740 HRESULT CALLBACK ITypeLib2_GetCustData_Proxy(
2741 ITypeLib2* This,
2742 REFGUID guid,
2743 VARIANT* pVarVal);
2744 void __RPC_STUB ITypeLib2_GetCustData_Stub(
2745 struct IRpcStubBuffer* This,
2746 struct IRpcChannelBuffer* pRpcChannelBuffer,
2747 PRPC_MESSAGE pRpcMessage,
2748 DWORD* pdwStubPhase);
2749 HRESULT CALLBACK ITypeLib2_RemoteGetLibStatistics_Proxy(
2750 ITypeLib2* This,
2751 ULONG* pcUniqueNames,
2752 ULONG* pcchUniqueNames);
2753 void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
2754 struct IRpcStubBuffer* This,
2755 struct IRpcChannelBuffer* pRpcChannelBuffer,
2756 PRPC_MESSAGE pRpcMessage,
2757 DWORD* pdwStubPhase);
2758 HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy(
2759 ITypeLib2* This,
2760 ULONG* pcUniqueNames,
2761 ULONG* pcchUniqueNames);
2762 HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
2763 ITypeLib2* This,
2764 ULONG* pcUniqueNames,
2765 ULONG* pcchUniqueNames);
2766 HRESULT CALLBACK ITypeLib2_RemoteGetDocumentation2_Proxy(
2767 ITypeLib2* This,
2768 INT index,
2769 LCID lcid,
2770 DWORD refPtrFlags,
2771 BSTR* pbstrHelpString,
2772 DWORD* pdwHelpStringContext,
2773 BSTR* pbstrHelpStringDll);
2774 void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
2775 struct IRpcStubBuffer* This,
2776 struct IRpcChannelBuffer* pRpcChannelBuffer,
2777 PRPC_MESSAGE pRpcMessage,
2778 DWORD* pdwStubPhase);
2779 HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
2780 ITypeLib2* This,
2781 INT index,
2782 LCID lcid,
2783 BSTR* pbstrHelpString,
2784 DWORD* pdwHelpStringContext,
2785 BSTR* pbstrHelpStringDll);
2786 HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
2787 ITypeLib2* This,
2788 INT index,
2789 LCID lcid,
2790 DWORD refPtrFlags,
2791 BSTR* pbstrHelpString,
2792 DWORD* pdwHelpStringContext,
2793 BSTR* pbstrHelpStringDll);
2794 HRESULT CALLBACK ITypeLib2_GetAllCustData_Proxy(
2795 ITypeLib2* This,
2796 CUSTDATA* pCustData);
2797 void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
2798 struct IRpcStubBuffer* This,
2799 struct IRpcChannelBuffer* pRpcChannelBuffer,
2800 PRPC_MESSAGE pRpcMessage,
2801 DWORD* pdwStubPhase);
2803 #endif /* __ITypeLib2_INTERFACE_DEFINED__ */
2805 #ifndef __ITypeChangeEvents_FWD_DEFINED__
2806 #define __ITypeChangeEvents_FWD_DEFINED__
2807 typedef struct ITypeChangeEvents ITypeChangeEvents;
2808 #endif
2810 typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;
2812 typedef enum tagCHANGEKIND {
2813 CHANGEKIND_ADDMEMBER,
2814 CHANGEKIND_DELETEMEMBER,
2815 CHANGEKIND_SETNAMES,
2816 CHANGEKIND_SETDOCUMENTATION,
2817 CHANGEKIND_GENERAL,
2818 CHANGEKIND_INVALIDATE,
2819 CHANGEKIND_CHANGEFAILED,
2820 CHANGEKIND_MAX
2821 } CHANGEKIND;
2823 /*****************************************************************************
2824 * ITypeChangeEvents interface
2826 #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
2827 #define __ITypeChangeEvents_INTERFACE_DEFINED__
2829 DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2830 #if defined(__cplusplus) && !defined(CINTERFACE)
2831 struct ITypeChangeEvents : public IUnknown
2833 virtual HRESULT STDMETHODCALLTYPE RequestTypeChange(
2834 CHANGEKIND changeKind,
2835 ITypeInfo* pTInfoBefore,
2836 LPOLESTR pStrName,
2837 INT* pfCancel) = 0;
2839 virtual HRESULT STDMETHODCALLTYPE AfterTypeChange(
2840 CHANGEKIND changeKind,
2841 ITypeInfo* pTInfoAfter,
2842 LPOLESTR pStrName) = 0;
2845 #else
2846 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl;
2847 struct ITypeChangeEvents {
2848 const ITypeChangeEventsVtbl* lpVtbl;
2850 struct ITypeChangeEventsVtbl {
2851 ICOM_MSVTABLE_COMPAT_FIELDS
2853 /*** IUnknown methods ***/
2854 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2855 ITypeChangeEvents* This,
2856 REFIID riid,
2857 void** ppvObject);
2859 ULONG (STDMETHODCALLTYPE *AddRef)(
2860 ITypeChangeEvents* This);
2862 ULONG (STDMETHODCALLTYPE *Release)(
2863 ITypeChangeEvents* This);
2865 /*** ITypeChangeEvents methods ***/
2866 HRESULT (STDMETHODCALLTYPE *RequestTypeChange)(
2867 ITypeChangeEvents* This,
2868 CHANGEKIND changeKind,
2869 ITypeInfo* pTInfoBefore,
2870 LPOLESTR pStrName,
2871 INT* pfCancel);
2873 HRESULT (STDMETHODCALLTYPE *AfterTypeChange)(
2874 ITypeChangeEvents* This,
2875 CHANGEKIND changeKind,
2876 ITypeInfo* pTInfoAfter,
2877 LPOLESTR pStrName);
2881 /*** IUnknown methods ***/
2882 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2883 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2884 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2885 /*** ITypeChangeEvents methods ***/
2886 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2887 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2889 #endif
2891 #define ITypeChangeEvents_METHODS \
2892 ICOM_MSVTABLE_COMPAT_FIELDS \
2893 /*** IUnknown methods ***/ \
2894 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2895 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2896 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2897 /*** ITypeChangeEvents methods ***/ \
2898 STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
2899 STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
2901 HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy(
2902 ITypeChangeEvents* This,
2903 CHANGEKIND changeKind,
2904 ITypeInfo* pTInfoBefore,
2905 LPOLESTR pStrName,
2906 INT* pfCancel);
2907 void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
2908 struct IRpcStubBuffer* This,
2909 struct IRpcChannelBuffer* pRpcChannelBuffer,
2910 PRPC_MESSAGE pRpcMessage,
2911 DWORD* pdwStubPhase);
2912 HRESULT CALLBACK ITypeChangeEvents_AfterTypeChange_Proxy(
2913 ITypeChangeEvents* This,
2914 CHANGEKIND changeKind,
2915 ITypeInfo* pTInfoAfter,
2916 LPOLESTR pStrName);
2917 void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
2918 struct IRpcStubBuffer* This,
2919 struct IRpcChannelBuffer* pRpcChannelBuffer,
2920 PRPC_MESSAGE pRpcMessage,
2921 DWORD* pdwStubPhase);
2923 #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
2925 #ifndef __IErrorInfo_FWD_DEFINED__
2926 #define __IErrorInfo_FWD_DEFINED__
2927 typedef struct IErrorInfo IErrorInfo;
2928 #endif
2930 typedef IErrorInfo *LPERRORINFO;
2932 /*****************************************************************************
2933 * IErrorInfo interface
2935 #ifndef __IErrorInfo_INTERFACE_DEFINED__
2936 #define __IErrorInfo_INTERFACE_DEFINED__
2938 DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2939 #if defined(__cplusplus) && !defined(CINTERFACE)
2940 struct IErrorInfo : public IUnknown
2942 virtual HRESULT STDMETHODCALLTYPE GetGUID(
2943 GUID* pGUID) = 0;
2945 virtual HRESULT STDMETHODCALLTYPE GetSource(
2946 BSTR* pBstrSource) = 0;
2948 virtual HRESULT STDMETHODCALLTYPE GetDescription(
2949 BSTR* pBstrDescription) = 0;
2951 virtual HRESULT STDMETHODCALLTYPE GetHelpFile(
2952 BSTR* pBstrHelpFile) = 0;
2954 virtual HRESULT STDMETHODCALLTYPE GetHelpContext(
2955 DWORD* pdwHelpContext) = 0;
2958 #else
2959 typedef struct IErrorInfoVtbl IErrorInfoVtbl;
2960 struct IErrorInfo {
2961 const IErrorInfoVtbl* lpVtbl;
2963 struct IErrorInfoVtbl {
2964 ICOM_MSVTABLE_COMPAT_FIELDS
2966 /*** IUnknown methods ***/
2967 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2968 IErrorInfo* This,
2969 REFIID riid,
2970 void** ppvObject);
2972 ULONG (STDMETHODCALLTYPE *AddRef)(
2973 IErrorInfo* This);
2975 ULONG (STDMETHODCALLTYPE *Release)(
2976 IErrorInfo* This);
2978 /*** IErrorInfo methods ***/
2979 HRESULT (STDMETHODCALLTYPE *GetGUID)(
2980 IErrorInfo* This,
2981 GUID* pGUID);
2983 HRESULT (STDMETHODCALLTYPE *GetSource)(
2984 IErrorInfo* This,
2985 BSTR* pBstrSource);
2987 HRESULT (STDMETHODCALLTYPE *GetDescription)(
2988 IErrorInfo* This,
2989 BSTR* pBstrDescription);
2991 HRESULT (STDMETHODCALLTYPE *GetHelpFile)(
2992 IErrorInfo* This,
2993 BSTR* pBstrHelpFile);
2995 HRESULT (STDMETHODCALLTYPE *GetHelpContext)(
2996 IErrorInfo* This,
2997 DWORD* pdwHelpContext);
3001 /*** IUnknown methods ***/
3002 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3003 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3004 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3005 /*** IErrorInfo methods ***/
3006 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
3007 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
3008 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
3009 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
3010 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
3012 #endif
3014 #define IErrorInfo_METHODS \
3015 ICOM_MSVTABLE_COMPAT_FIELDS \
3016 /*** IUnknown methods ***/ \
3017 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3018 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3019 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3020 /*** IErrorInfo methods ***/ \
3021 STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
3022 STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
3023 STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
3024 STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
3025 STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
3027 HRESULT CALLBACK IErrorInfo_GetGUID_Proxy(
3028 IErrorInfo* This,
3029 GUID* pGUID);
3030 void __RPC_STUB IErrorInfo_GetGUID_Stub(
3031 struct IRpcStubBuffer* This,
3032 struct IRpcChannelBuffer* pRpcChannelBuffer,
3033 PRPC_MESSAGE pRpcMessage,
3034 DWORD* pdwStubPhase);
3035 HRESULT CALLBACK IErrorInfo_GetSource_Proxy(
3036 IErrorInfo* This,
3037 BSTR* pBstrSource);
3038 void __RPC_STUB IErrorInfo_GetSource_Stub(
3039 struct IRpcStubBuffer* This,
3040 struct IRpcChannelBuffer* pRpcChannelBuffer,
3041 PRPC_MESSAGE pRpcMessage,
3042 DWORD* pdwStubPhase);
3043 HRESULT CALLBACK IErrorInfo_GetDescription_Proxy(
3044 IErrorInfo* This,
3045 BSTR* pBstrDescription);
3046 void __RPC_STUB IErrorInfo_GetDescription_Stub(
3047 struct IRpcStubBuffer* This,
3048 struct IRpcChannelBuffer* pRpcChannelBuffer,
3049 PRPC_MESSAGE pRpcMessage,
3050 DWORD* pdwStubPhase);
3051 HRESULT CALLBACK IErrorInfo_GetHelpFile_Proxy(
3052 IErrorInfo* This,
3053 BSTR* pBstrHelpFile);
3054 void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
3055 struct IRpcStubBuffer* This,
3056 struct IRpcChannelBuffer* pRpcChannelBuffer,
3057 PRPC_MESSAGE pRpcMessage,
3058 DWORD* pdwStubPhase);
3059 HRESULT CALLBACK IErrorInfo_GetHelpContext_Proxy(
3060 IErrorInfo* This,
3061 DWORD* pdwHelpContext);
3062 void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
3063 struct IRpcStubBuffer* This,
3064 struct IRpcChannelBuffer* pRpcChannelBuffer,
3065 PRPC_MESSAGE pRpcMessage,
3066 DWORD* pdwStubPhase);
3068 #endif /* __IErrorInfo_INTERFACE_DEFINED__ */
3070 #ifndef __ICreateErrorInfo_FWD_DEFINED__
3071 #define __ICreateErrorInfo_FWD_DEFINED__
3072 typedef struct ICreateErrorInfo ICreateErrorInfo;
3073 #endif
3075 typedef ICreateErrorInfo *LPCREATEERRORINFO;
3077 /*****************************************************************************
3078 * ICreateErrorInfo interface
3080 #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
3081 #define __ICreateErrorInfo_INTERFACE_DEFINED__
3083 DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3084 #if defined(__cplusplus) && !defined(CINTERFACE)
3085 struct ICreateErrorInfo : public IUnknown
3087 virtual HRESULT STDMETHODCALLTYPE SetGUID(
3088 REFGUID rguid) = 0;
3090 virtual HRESULT STDMETHODCALLTYPE SetSource(
3091 LPOLESTR szSource) = 0;
3093 virtual HRESULT STDMETHODCALLTYPE SetDescription(
3094 LPOLESTR szDescription) = 0;
3096 virtual HRESULT STDMETHODCALLTYPE SetHelpFile(
3097 LPOLESTR szHelpFile) = 0;
3099 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
3100 DWORD dwHelpContext) = 0;
3103 #else
3104 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl;
3105 struct ICreateErrorInfo {
3106 const ICreateErrorInfoVtbl* lpVtbl;
3108 struct ICreateErrorInfoVtbl {
3109 ICOM_MSVTABLE_COMPAT_FIELDS
3111 /*** IUnknown methods ***/
3112 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3113 ICreateErrorInfo* This,
3114 REFIID riid,
3115 void** ppvObject);
3117 ULONG (STDMETHODCALLTYPE *AddRef)(
3118 ICreateErrorInfo* This);
3120 ULONG (STDMETHODCALLTYPE *Release)(
3121 ICreateErrorInfo* This);
3123 /*** ICreateErrorInfo methods ***/
3124 HRESULT (STDMETHODCALLTYPE *SetGUID)(
3125 ICreateErrorInfo* This,
3126 REFGUID rguid);
3128 HRESULT (STDMETHODCALLTYPE *SetSource)(
3129 ICreateErrorInfo* This,
3130 LPOLESTR szSource);
3132 HRESULT (STDMETHODCALLTYPE *SetDescription)(
3133 ICreateErrorInfo* This,
3134 LPOLESTR szDescription);
3136 HRESULT (STDMETHODCALLTYPE *SetHelpFile)(
3137 ICreateErrorInfo* This,
3138 LPOLESTR szHelpFile);
3140 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
3141 ICreateErrorInfo* This,
3142 DWORD dwHelpContext);
3146 /*** IUnknown methods ***/
3147 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3148 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3149 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3150 /*** ICreateErrorInfo methods ***/
3151 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3152 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3153 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3154 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3155 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3157 #endif
3159 #define ICreateErrorInfo_METHODS \
3160 ICOM_MSVTABLE_COMPAT_FIELDS \
3161 /*** IUnknown methods ***/ \
3162 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3163 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3164 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3165 /*** ICreateErrorInfo methods ***/ \
3166 STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
3167 STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
3168 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
3169 STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
3170 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
3172 HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy(
3173 ICreateErrorInfo* This,
3174 REFGUID rguid);
3175 void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
3176 struct IRpcStubBuffer* This,
3177 struct IRpcChannelBuffer* pRpcChannelBuffer,
3178 PRPC_MESSAGE pRpcMessage,
3179 DWORD* pdwStubPhase);
3180 HRESULT CALLBACK ICreateErrorInfo_SetSource_Proxy(
3181 ICreateErrorInfo* This,
3182 LPOLESTR szSource);
3183 void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
3184 struct IRpcStubBuffer* This,
3185 struct IRpcChannelBuffer* pRpcChannelBuffer,
3186 PRPC_MESSAGE pRpcMessage,
3187 DWORD* pdwStubPhase);
3188 HRESULT CALLBACK ICreateErrorInfo_SetDescription_Proxy(
3189 ICreateErrorInfo* This,
3190 LPOLESTR szDescription);
3191 void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
3192 struct IRpcStubBuffer* This,
3193 struct IRpcChannelBuffer* pRpcChannelBuffer,
3194 PRPC_MESSAGE pRpcMessage,
3195 DWORD* pdwStubPhase);
3196 HRESULT CALLBACK ICreateErrorInfo_SetHelpFile_Proxy(
3197 ICreateErrorInfo* This,
3198 LPOLESTR szHelpFile);
3199 void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
3200 struct IRpcStubBuffer* This,
3201 struct IRpcChannelBuffer* pRpcChannelBuffer,
3202 PRPC_MESSAGE pRpcMessage,
3203 DWORD* pdwStubPhase);
3204 HRESULT CALLBACK ICreateErrorInfo_SetHelpContext_Proxy(
3205 ICreateErrorInfo* This,
3206 DWORD dwHelpContext);
3207 void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
3208 struct IRpcStubBuffer* This,
3209 struct IRpcChannelBuffer* pRpcChannelBuffer,
3210 PRPC_MESSAGE pRpcMessage,
3211 DWORD* pdwStubPhase);
3213 #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
3215 #ifndef __ISupportErrorInfo_FWD_DEFINED__
3216 #define __ISupportErrorInfo_FWD_DEFINED__
3217 typedef struct ISupportErrorInfo ISupportErrorInfo;
3218 #endif
3220 typedef ISupportErrorInfo *LPSUPPORTERRORINFO;
3222 /*****************************************************************************
3223 * ISupportErrorInfo interface
3225 #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
3226 #define __ISupportErrorInfo_INTERFACE_DEFINED__
3228 DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3229 #if defined(__cplusplus) && !defined(CINTERFACE)
3230 struct ISupportErrorInfo : public IUnknown
3232 virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(
3233 REFIID riid) = 0;
3236 #else
3237 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl;
3238 struct ISupportErrorInfo {
3239 const ISupportErrorInfoVtbl* lpVtbl;
3241 struct ISupportErrorInfoVtbl {
3242 ICOM_MSVTABLE_COMPAT_FIELDS
3244 /*** IUnknown methods ***/
3245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3246 ISupportErrorInfo* This,
3247 REFIID riid,
3248 void** ppvObject);
3250 ULONG (STDMETHODCALLTYPE *AddRef)(
3251 ISupportErrorInfo* This);
3253 ULONG (STDMETHODCALLTYPE *Release)(
3254 ISupportErrorInfo* This);
3256 /*** ISupportErrorInfo methods ***/
3257 HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)(
3258 ISupportErrorInfo* This,
3259 REFIID riid);
3263 /*** IUnknown methods ***/
3264 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3265 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3266 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3267 /*** ISupportErrorInfo methods ***/
3268 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3270 #endif
3272 #define ISupportErrorInfo_METHODS \
3273 ICOM_MSVTABLE_COMPAT_FIELDS \
3274 /*** IUnknown methods ***/ \
3275 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3276 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3277 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3278 /*** ISupportErrorInfo methods ***/ \
3279 STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
3281 HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3282 ISupportErrorInfo* This,
3283 REFIID riid);
3284 void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3285 struct IRpcStubBuffer* This,
3286 struct IRpcChannelBuffer* pRpcChannelBuffer,
3287 PRPC_MESSAGE pRpcMessage,
3288 DWORD* pdwStubPhase);
3290 #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
3292 #ifndef __ITypeFactory_FWD_DEFINED__
3293 #define __ITypeFactory_FWD_DEFINED__
3294 typedef struct ITypeFactory ITypeFactory;
3295 #endif
3297 /*****************************************************************************
3298 * ITypeFactory interface
3300 #ifndef __ITypeFactory_INTERFACE_DEFINED__
3301 #define __ITypeFactory_INTERFACE_DEFINED__
3303 DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3304 #if defined(__cplusplus) && !defined(CINTERFACE)
3305 struct ITypeFactory : public IUnknown
3307 virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo(
3308 ITypeInfo* pTypeInfo,
3309 REFIID riid,
3310 IUnknown** ppv) = 0;
3313 #else
3314 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl;
3315 struct ITypeFactory {
3316 const ITypeFactoryVtbl* lpVtbl;
3318 struct ITypeFactoryVtbl {
3319 ICOM_MSVTABLE_COMPAT_FIELDS
3321 /*** IUnknown methods ***/
3322 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3323 ITypeFactory* This,
3324 REFIID riid,
3325 void** ppvObject);
3327 ULONG (STDMETHODCALLTYPE *AddRef)(
3328 ITypeFactory* This);
3330 ULONG (STDMETHODCALLTYPE *Release)(
3331 ITypeFactory* This);
3333 /*** ITypeFactory methods ***/
3334 HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)(
3335 ITypeFactory* This,
3336 ITypeInfo* pTypeInfo,
3337 REFIID riid,
3338 IUnknown** ppv);
3342 /*** IUnknown methods ***/
3343 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3344 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3345 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3346 /*** ITypeFactory methods ***/
3347 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3349 #endif
3351 #define ITypeFactory_METHODS \
3352 ICOM_MSVTABLE_COMPAT_FIELDS \
3353 /*** IUnknown methods ***/ \
3354 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3355 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3356 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3357 /*** ITypeFactory methods ***/ \
3358 STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
3360 HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy(
3361 ITypeFactory* This,
3362 ITypeInfo* pTypeInfo,
3363 REFIID riid,
3364 IUnknown** ppv);
3365 void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
3366 struct IRpcStubBuffer* This,
3367 struct IRpcChannelBuffer* pRpcChannelBuffer,
3368 PRPC_MESSAGE pRpcMessage,
3369 DWORD* pdwStubPhase);
3371 #endif /* __ITypeFactory_INTERFACE_DEFINED__ */
3373 #ifndef __ITypeMarshal_FWD_DEFINED__
3374 #define __ITypeMarshal_FWD_DEFINED__
3375 typedef struct ITypeMarshal ITypeMarshal;
3376 #endif
3378 /*****************************************************************************
3379 * ITypeMarshal interface
3381 #ifndef __ITypeMarshal_INTERFACE_DEFINED__
3382 #define __ITypeMarshal_INTERFACE_DEFINED__
3384 DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3385 #if defined(__cplusplus) && !defined(CINTERFACE)
3386 struct ITypeMarshal : public IUnknown
3388 virtual HRESULT STDMETHODCALLTYPE Size(
3389 PVOID pvType,
3390 DWORD dwDestContext,
3391 PVOID pvDestContext,
3392 ULONG* pSize) = 0;
3394 virtual HRESULT STDMETHODCALLTYPE Marshal(
3395 PVOID pvType,
3396 DWORD dwDestContext,
3397 PVOID pvDestContext,
3398 ULONG cbBufferLength,
3399 BYTE* pBuffer,
3400 ULONG* pcbWritten) = 0;
3402 virtual HRESULT STDMETHODCALLTYPE Unmarshal(
3403 PVOID pvType,
3404 DWORD dwFlags,
3405 ULONG cbBufferLength,
3406 BYTE* pBuffer,
3407 ULONG* pcbRead) = 0;
3409 virtual HRESULT STDMETHODCALLTYPE Free(
3410 PVOID pvType) = 0;
3413 #else
3414 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl;
3415 struct ITypeMarshal {
3416 const ITypeMarshalVtbl* lpVtbl;
3418 struct ITypeMarshalVtbl {
3419 ICOM_MSVTABLE_COMPAT_FIELDS
3421 /*** IUnknown methods ***/
3422 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3423 ITypeMarshal* This,
3424 REFIID riid,
3425 void** ppvObject);
3427 ULONG (STDMETHODCALLTYPE *AddRef)(
3428 ITypeMarshal* This);
3430 ULONG (STDMETHODCALLTYPE *Release)(
3431 ITypeMarshal* This);
3433 /*** ITypeMarshal methods ***/
3434 HRESULT (STDMETHODCALLTYPE *Size)(
3435 ITypeMarshal* This,
3436 PVOID pvType,
3437 DWORD dwDestContext,
3438 PVOID pvDestContext,
3439 ULONG* pSize);
3441 HRESULT (STDMETHODCALLTYPE *Marshal)(
3442 ITypeMarshal* This,
3443 PVOID pvType,
3444 DWORD dwDestContext,
3445 PVOID pvDestContext,
3446 ULONG cbBufferLength,
3447 BYTE* pBuffer,
3448 ULONG* pcbWritten);
3450 HRESULT (STDMETHODCALLTYPE *Unmarshal)(
3451 ITypeMarshal* This,
3452 PVOID pvType,
3453 DWORD dwFlags,
3454 ULONG cbBufferLength,
3455 BYTE* pBuffer,
3456 ULONG* pcbRead);
3458 HRESULT (STDMETHODCALLTYPE *Free)(
3459 ITypeMarshal* This,
3460 PVOID pvType);
3464 /*** IUnknown methods ***/
3465 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3466 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3467 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3468 /*** ITypeMarshal methods ***/
3469 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3470 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3471 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3472 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3474 #endif
3476 #define ITypeMarshal_METHODS \
3477 ICOM_MSVTABLE_COMPAT_FIELDS \
3478 /*** IUnknown methods ***/ \
3479 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3480 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3481 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3482 /*** ITypeMarshal methods ***/ \
3483 STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
3484 STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
3485 STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
3486 STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
3488 HRESULT CALLBACK ITypeMarshal_Size_Proxy(
3489 ITypeMarshal* This,
3490 PVOID pvType,
3491 DWORD dwDestContext,
3492 PVOID pvDestContext,
3493 ULONG* pSize);
3494 void __RPC_STUB ITypeMarshal_Size_Stub(
3495 struct IRpcStubBuffer* This,
3496 struct IRpcChannelBuffer* pRpcChannelBuffer,
3497 PRPC_MESSAGE pRpcMessage,
3498 DWORD* pdwStubPhase);
3499 HRESULT CALLBACK ITypeMarshal_Marshal_Proxy(
3500 ITypeMarshal* This,
3501 PVOID pvType,
3502 DWORD dwDestContext,
3503 PVOID pvDestContext,
3504 ULONG cbBufferLength,
3505 BYTE* pBuffer,
3506 ULONG* pcbWritten);
3507 void __RPC_STUB ITypeMarshal_Marshal_Stub(
3508 struct IRpcStubBuffer* This,
3509 struct IRpcChannelBuffer* pRpcChannelBuffer,
3510 PRPC_MESSAGE pRpcMessage,
3511 DWORD* pdwStubPhase);
3512 HRESULT CALLBACK ITypeMarshal_Unmarshal_Proxy(
3513 ITypeMarshal* This,
3514 PVOID pvType,
3515 DWORD dwFlags,
3516 ULONG cbBufferLength,
3517 BYTE* pBuffer,
3518 ULONG* pcbRead);
3519 void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
3520 struct IRpcStubBuffer* This,
3521 struct IRpcChannelBuffer* pRpcChannelBuffer,
3522 PRPC_MESSAGE pRpcMessage,
3523 DWORD* pdwStubPhase);
3524 HRESULT CALLBACK ITypeMarshal_Free_Proxy(
3525 ITypeMarshal* This,
3526 PVOID pvType);
3527 void __RPC_STUB ITypeMarshal_Free_Stub(
3528 struct IRpcStubBuffer* This,
3529 struct IRpcChannelBuffer* pRpcChannelBuffer,
3530 PRPC_MESSAGE pRpcMessage,
3531 DWORD* pdwStubPhase);
3533 #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
3535 typedef IRecordInfo *LPRECORDINFO;
3537 /*****************************************************************************
3538 * IRecordInfo interface
3540 #ifndef __IRecordInfo_INTERFACE_DEFINED__
3541 #define __IRecordInfo_INTERFACE_DEFINED__
3543 DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3544 #if defined(__cplusplus) && !defined(CINTERFACE)
3545 struct IRecordInfo : public IUnknown
3547 virtual HRESULT STDMETHODCALLTYPE RecordInit(
3548 PVOID pvNew) = 0;
3550 virtual HRESULT STDMETHODCALLTYPE RecordClear(
3551 PVOID pvExisting) = 0;
3553 virtual HRESULT STDMETHODCALLTYPE RecordCopy(
3554 PVOID pvExisting,
3555 PVOID pvNew) = 0;
3557 virtual HRESULT STDMETHODCALLTYPE GetGuid(
3558 GUID* pguid) = 0;
3560 virtual HRESULT STDMETHODCALLTYPE GetName(
3561 BSTR* pbstrName) = 0;
3563 virtual HRESULT STDMETHODCALLTYPE GetSize(
3564 ULONG* pcbSize) = 0;
3566 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
3567 ITypeInfo** ppTypeInfo) = 0;
3569 virtual HRESULT STDMETHODCALLTYPE GetField(
3570 PVOID pvData,
3571 LPCOLESTR szFieldName,
3572 VARIANT* pvarField) = 0;
3574 virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy(
3575 PVOID pvData,
3576 LPCOLESTR szFieldName,
3577 VARIANT* pvarField,
3578 PVOID* ppvDataCArray) = 0;
3580 virtual HRESULT STDMETHODCALLTYPE PutField(
3581 ULONG wFlags,
3582 PVOID pvData,
3583 LPCOLESTR szFieldName,
3584 VARIANT* pvarField) = 0;
3586 virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy(
3587 ULONG wFlags,
3588 PVOID pvData,
3589 LPCOLESTR szFieldName,
3590 VARIANT* pvarField) = 0;
3592 virtual HRESULT STDMETHODCALLTYPE GetFieldNames(
3593 ULONG* pcNames,
3594 BSTR* rgBstrNames) = 0;
3596 virtual BOOL STDMETHODCALLTYPE IsMatchingType(
3597 IRecordInfo* pRecordInfo) = 0;
3599 virtual PVOID STDMETHODCALLTYPE RecordCreate(
3600 ) = 0;
3602 virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy(
3603 PVOID pvSource,
3604 PVOID* ppvDest) = 0;
3606 virtual HRESULT STDMETHODCALLTYPE RecordDestroy(
3607 PVOID pvRecord) = 0;
3610 #else
3611 typedef struct IRecordInfoVtbl IRecordInfoVtbl;
3612 struct IRecordInfo {
3613 const IRecordInfoVtbl* lpVtbl;
3615 struct IRecordInfoVtbl {
3616 ICOM_MSVTABLE_COMPAT_FIELDS
3618 /*** IUnknown methods ***/
3619 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3620 IRecordInfo* This,
3621 REFIID riid,
3622 void** ppvObject);
3624 ULONG (STDMETHODCALLTYPE *AddRef)(
3625 IRecordInfo* This);
3627 ULONG (STDMETHODCALLTYPE *Release)(
3628 IRecordInfo* This);
3630 /*** IRecordInfo methods ***/
3631 HRESULT (STDMETHODCALLTYPE *RecordInit)(
3632 IRecordInfo* This,
3633 PVOID pvNew);
3635 HRESULT (STDMETHODCALLTYPE *RecordClear)(
3636 IRecordInfo* This,
3637 PVOID pvExisting);
3639 HRESULT (STDMETHODCALLTYPE *RecordCopy)(
3640 IRecordInfo* This,
3641 PVOID pvExisting,
3642 PVOID pvNew);
3644 HRESULT (STDMETHODCALLTYPE *GetGuid)(
3645 IRecordInfo* This,
3646 GUID* pguid);
3648 HRESULT (STDMETHODCALLTYPE *GetName)(
3649 IRecordInfo* This,
3650 BSTR* pbstrName);
3652 HRESULT (STDMETHODCALLTYPE *GetSize)(
3653 IRecordInfo* This,
3654 ULONG* pcbSize);
3656 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3657 IRecordInfo* This,
3658 ITypeInfo** ppTypeInfo);
3660 HRESULT (STDMETHODCALLTYPE *GetField)(
3661 IRecordInfo* This,
3662 PVOID pvData,
3663 LPCOLESTR szFieldName,
3664 VARIANT* pvarField);
3666 HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)(
3667 IRecordInfo* This,
3668 PVOID pvData,
3669 LPCOLESTR szFieldName,
3670 VARIANT* pvarField,
3671 PVOID* ppvDataCArray);
3673 HRESULT (STDMETHODCALLTYPE *PutField)(
3674 IRecordInfo* This,
3675 ULONG wFlags,
3676 PVOID pvData,
3677 LPCOLESTR szFieldName,
3678 VARIANT* pvarField);
3680 HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)(
3681 IRecordInfo* This,
3682 ULONG wFlags,
3683 PVOID pvData,
3684 LPCOLESTR szFieldName,
3685 VARIANT* pvarField);
3687 HRESULT (STDMETHODCALLTYPE *GetFieldNames)(
3688 IRecordInfo* This,
3689 ULONG* pcNames,
3690 BSTR* rgBstrNames);
3692 BOOL (STDMETHODCALLTYPE *IsMatchingType)(
3693 IRecordInfo* This,
3694 IRecordInfo* pRecordInfo);
3696 PVOID (STDMETHODCALLTYPE *RecordCreate)(
3697 IRecordInfo* This);
3699 HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)(
3700 IRecordInfo* This,
3701 PVOID pvSource,
3702 PVOID* ppvDest);
3704 HRESULT (STDMETHODCALLTYPE *RecordDestroy)(
3705 IRecordInfo* This,
3706 PVOID pvRecord);
3710 /*** IUnknown methods ***/
3711 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3712 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3713 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3714 /*** IRecordInfo methods ***/
3715 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3716 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3717 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3718 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3719 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3720 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3721 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3722 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3723 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3724 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3725 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3726 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3727 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3728 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3729 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3730 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3732 #endif
3734 #define IRecordInfo_METHODS \
3735 ICOM_MSVTABLE_COMPAT_FIELDS \
3736 /*** IUnknown methods ***/ \
3737 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3738 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3739 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3740 /*** IRecordInfo methods ***/ \
3741 STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
3742 STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
3743 STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
3744 STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
3745 STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
3746 STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
3747 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
3748 STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3749 STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
3750 STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3751 STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3752 STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
3753 STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
3754 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
3755 STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
3756 STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
3758 HRESULT CALLBACK IRecordInfo_RecordInit_Proxy(
3759 IRecordInfo* This,
3760 PVOID pvNew);
3761 void __RPC_STUB IRecordInfo_RecordInit_Stub(
3762 struct IRpcStubBuffer* This,
3763 struct IRpcChannelBuffer* pRpcChannelBuffer,
3764 PRPC_MESSAGE pRpcMessage,
3765 DWORD* pdwStubPhase);
3766 HRESULT CALLBACK IRecordInfo_RecordClear_Proxy(
3767 IRecordInfo* This,
3768 PVOID pvExisting);
3769 void __RPC_STUB IRecordInfo_RecordClear_Stub(
3770 struct IRpcStubBuffer* This,
3771 struct IRpcChannelBuffer* pRpcChannelBuffer,
3772 PRPC_MESSAGE pRpcMessage,
3773 DWORD* pdwStubPhase);
3774 HRESULT CALLBACK IRecordInfo_RecordCopy_Proxy(
3775 IRecordInfo* This,
3776 PVOID pvExisting,
3777 PVOID pvNew);
3778 void __RPC_STUB IRecordInfo_RecordCopy_Stub(
3779 struct IRpcStubBuffer* This,
3780 struct IRpcChannelBuffer* pRpcChannelBuffer,
3781 PRPC_MESSAGE pRpcMessage,
3782 DWORD* pdwStubPhase);
3783 HRESULT CALLBACK IRecordInfo_GetGuid_Proxy(
3784 IRecordInfo* This,
3785 GUID* pguid);
3786 void __RPC_STUB IRecordInfo_GetGuid_Stub(
3787 struct IRpcStubBuffer* This,
3788 struct IRpcChannelBuffer* pRpcChannelBuffer,
3789 PRPC_MESSAGE pRpcMessage,
3790 DWORD* pdwStubPhase);
3791 HRESULT CALLBACK IRecordInfo_GetName_Proxy(
3792 IRecordInfo* This,
3793 BSTR* pbstrName);
3794 void __RPC_STUB IRecordInfo_GetName_Stub(
3795 struct IRpcStubBuffer* This,
3796 struct IRpcChannelBuffer* pRpcChannelBuffer,
3797 PRPC_MESSAGE pRpcMessage,
3798 DWORD* pdwStubPhase);
3799 HRESULT CALLBACK IRecordInfo_GetSize_Proxy(
3800 IRecordInfo* This,
3801 ULONG* pcbSize);
3802 void __RPC_STUB IRecordInfo_GetSize_Stub(
3803 struct IRpcStubBuffer* This,
3804 struct IRpcChannelBuffer* pRpcChannelBuffer,
3805 PRPC_MESSAGE pRpcMessage,
3806 DWORD* pdwStubPhase);
3807 HRESULT CALLBACK IRecordInfo_GetTypeInfo_Proxy(
3808 IRecordInfo* This,
3809 ITypeInfo** ppTypeInfo);
3810 void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
3811 struct IRpcStubBuffer* This,
3812 struct IRpcChannelBuffer* pRpcChannelBuffer,
3813 PRPC_MESSAGE pRpcMessage,
3814 DWORD* pdwStubPhase);
3815 HRESULT CALLBACK IRecordInfo_GetField_Proxy(
3816 IRecordInfo* This,
3817 PVOID pvData,
3818 LPCOLESTR szFieldName,
3819 VARIANT* pvarField);
3820 void __RPC_STUB IRecordInfo_GetField_Stub(
3821 struct IRpcStubBuffer* This,
3822 struct IRpcChannelBuffer* pRpcChannelBuffer,
3823 PRPC_MESSAGE pRpcMessage,
3824 DWORD* pdwStubPhase);
3825 HRESULT CALLBACK IRecordInfo_GetFieldNoCopy_Proxy(
3826 IRecordInfo* This,
3827 PVOID pvData,
3828 LPCOLESTR szFieldName,
3829 VARIANT* pvarField,
3830 PVOID* ppvDataCArray);
3831 void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
3832 struct IRpcStubBuffer* This,
3833 struct IRpcChannelBuffer* pRpcChannelBuffer,
3834 PRPC_MESSAGE pRpcMessage,
3835 DWORD* pdwStubPhase);
3836 HRESULT CALLBACK IRecordInfo_PutField_Proxy(
3837 IRecordInfo* This,
3838 ULONG wFlags,
3839 PVOID pvData,
3840 LPCOLESTR szFieldName,
3841 VARIANT* pvarField);
3842 void __RPC_STUB IRecordInfo_PutField_Stub(
3843 struct IRpcStubBuffer* This,
3844 struct IRpcChannelBuffer* pRpcChannelBuffer,
3845 PRPC_MESSAGE pRpcMessage,
3846 DWORD* pdwStubPhase);
3847 HRESULT CALLBACK IRecordInfo_PutFieldNoCopy_Proxy(
3848 IRecordInfo* This,
3849 ULONG wFlags,
3850 PVOID pvData,
3851 LPCOLESTR szFieldName,
3852 VARIANT* pvarField);
3853 void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
3854 struct IRpcStubBuffer* This,
3855 struct IRpcChannelBuffer* pRpcChannelBuffer,
3856 PRPC_MESSAGE pRpcMessage,
3857 DWORD* pdwStubPhase);
3858 HRESULT CALLBACK IRecordInfo_GetFieldNames_Proxy(
3859 IRecordInfo* This,
3860 ULONG* pcNames,
3861 BSTR* rgBstrNames);
3862 void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
3863 struct IRpcStubBuffer* This,
3864 struct IRpcChannelBuffer* pRpcChannelBuffer,
3865 PRPC_MESSAGE pRpcMessage,
3866 DWORD* pdwStubPhase);
3867 BOOL CALLBACK IRecordInfo_IsMatchingType_Proxy(
3868 IRecordInfo* This,
3869 IRecordInfo* pRecordInfo);
3870 void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
3871 struct IRpcStubBuffer* This,
3872 struct IRpcChannelBuffer* pRpcChannelBuffer,
3873 PRPC_MESSAGE pRpcMessage,
3874 DWORD* pdwStubPhase);
3875 PVOID CALLBACK IRecordInfo_RecordCreate_Proxy(
3876 IRecordInfo* This);
3877 void __RPC_STUB IRecordInfo_RecordCreate_Stub(
3878 struct IRpcStubBuffer* This,
3879 struct IRpcChannelBuffer* pRpcChannelBuffer,
3880 PRPC_MESSAGE pRpcMessage,
3881 DWORD* pdwStubPhase);
3882 HRESULT CALLBACK IRecordInfo_RecordCreateCopy_Proxy(
3883 IRecordInfo* This,
3884 PVOID pvSource,
3885 PVOID* ppvDest);
3886 void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
3887 struct IRpcStubBuffer* This,
3888 struct IRpcChannelBuffer* pRpcChannelBuffer,
3889 PRPC_MESSAGE pRpcMessage,
3890 DWORD* pdwStubPhase);
3891 HRESULT CALLBACK IRecordInfo_RecordDestroy_Proxy(
3892 IRecordInfo* This,
3893 PVOID pvRecord);
3894 void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
3895 struct IRpcStubBuffer* This,
3896 struct IRpcChannelBuffer* pRpcChannelBuffer,
3897 PRPC_MESSAGE pRpcMessage,
3898 DWORD* pdwStubPhase);
3900 #endif /* __IRecordInfo_INTERFACE_DEFINED__ */
3902 #ifndef __ICreateTypeInfo_FWD_DEFINED__
3903 #define __ICreateTypeInfo_FWD_DEFINED__
3904 typedef struct ICreateTypeInfo ICreateTypeInfo;
3905 #endif
3907 typedef ICreateTypeInfo *LPCREATETYPEINFO;
3909 /*****************************************************************************
3910 * ICreateTypeInfo interface
3912 #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
3913 #define __ICreateTypeInfo_INTERFACE_DEFINED__
3915 DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3916 #if defined(__cplusplus) && !defined(CINTERFACE)
3917 struct ICreateTypeInfo : public IUnknown
3919 virtual HRESULT STDMETHODCALLTYPE SetGuid(
3920 REFGUID guid) = 0;
3922 virtual HRESULT STDMETHODCALLTYPE SetTypeFlags(
3923 UINT uTypeFlags) = 0;
3925 virtual HRESULT STDMETHODCALLTYPE SetDocString(
3926 LPOLESTR pStrDoc) = 0;
3928 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
3929 DWORD dwHelpContext) = 0;
3931 virtual HRESULT STDMETHODCALLTYPE SetVersion(
3932 WORD wMajorVerNum,
3933 WORD wMinorVerNum) = 0;
3935 virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo(
3936 ITypeInfo* pTInfo,
3937 HREFTYPE* phRefType) = 0;
3939 virtual HRESULT STDMETHODCALLTYPE AddFuncDesc(
3940 UINT index,
3941 FUNCDESC* pFuncDesc) = 0;
3943 virtual HRESULT STDMETHODCALLTYPE AddImplType(
3944 UINT index,
3945 HREFTYPE hRefType) = 0;
3947 virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags(
3948 UINT index,
3949 INT implTypeFlags) = 0;
3951 virtual HRESULT STDMETHODCALLTYPE SetAlignment(
3952 WORD cbAlignment) = 0;
3954 virtual HRESULT STDMETHODCALLTYPE SetSchema(
3955 LPOLESTR pStrSchema) = 0;
3957 virtual HRESULT STDMETHODCALLTYPE AddVarDesc(
3958 UINT index,
3959 VARDESC* pVarDesc) = 0;
3961 virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames(
3962 UINT index,
3963 LPOLESTR* rgszNames,
3964 UINT cNames) = 0;
3966 virtual HRESULT STDMETHODCALLTYPE SetVarName(
3967 UINT index,
3968 LPOLESTR szName) = 0;
3970 virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias(
3971 TYPEDESC* pTDescAlias) = 0;
3973 virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry(
3974 UINT index,
3975 LPOLESTR szDllName,
3976 LPOLESTR szProcName) = 0;
3978 virtual HRESULT STDMETHODCALLTYPE SetFuncDocString(
3979 UINT index,
3980 LPOLESTR szDocString) = 0;
3982 virtual HRESULT STDMETHODCALLTYPE SetVarDocString(
3983 UINT index,
3984 LPOLESTR szDocString) = 0;
3986 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext(
3987 UINT index,
3988 DWORD dwHelpContext) = 0;
3990 virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext(
3991 UINT index,
3992 DWORD dwHelpContext) = 0;
3994 virtual HRESULT STDMETHODCALLTYPE SetMops(
3995 UINT index,
3996 BSTR bstrMops) = 0;
3998 virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc(
3999 IDLDESC* pIdlDesc) = 0;
4001 virtual HRESULT STDMETHODCALLTYPE LayOut(
4002 ) = 0;
4005 #else
4006 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl;
4007 struct ICreateTypeInfo {
4008 const ICreateTypeInfoVtbl* lpVtbl;
4010 struct ICreateTypeInfoVtbl {
4011 ICOM_MSVTABLE_COMPAT_FIELDS
4013 /*** IUnknown methods ***/
4014 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4015 ICreateTypeInfo* This,
4016 REFIID riid,
4017 void** ppvObject);
4019 ULONG (STDMETHODCALLTYPE *AddRef)(
4020 ICreateTypeInfo* This);
4022 ULONG (STDMETHODCALLTYPE *Release)(
4023 ICreateTypeInfo* This);
4025 /*** ICreateTypeInfo methods ***/
4026 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4027 ICreateTypeInfo* This,
4028 REFGUID guid);
4030 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
4031 ICreateTypeInfo* This,
4032 UINT uTypeFlags);
4034 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4035 ICreateTypeInfo* This,
4036 LPOLESTR pStrDoc);
4038 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4039 ICreateTypeInfo* This,
4040 DWORD dwHelpContext);
4042 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4043 ICreateTypeInfo* This,
4044 WORD wMajorVerNum,
4045 WORD wMinorVerNum);
4047 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
4048 ICreateTypeInfo* This,
4049 ITypeInfo* pTInfo,
4050 HREFTYPE* phRefType);
4052 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
4053 ICreateTypeInfo* This,
4054 UINT index,
4055 FUNCDESC* pFuncDesc);
4057 HRESULT (STDMETHODCALLTYPE *AddImplType)(
4058 ICreateTypeInfo* This,
4059 UINT index,
4060 HREFTYPE hRefType);
4062 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
4063 ICreateTypeInfo* This,
4064 UINT index,
4065 INT implTypeFlags);
4067 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
4068 ICreateTypeInfo* This,
4069 WORD cbAlignment);
4071 HRESULT (STDMETHODCALLTYPE *SetSchema)(
4072 ICreateTypeInfo* This,
4073 LPOLESTR pStrSchema);
4075 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
4076 ICreateTypeInfo* This,
4077 UINT index,
4078 VARDESC* pVarDesc);
4080 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
4081 ICreateTypeInfo* This,
4082 UINT index,
4083 LPOLESTR* rgszNames,
4084 UINT cNames);
4086 HRESULT (STDMETHODCALLTYPE *SetVarName)(
4087 ICreateTypeInfo* This,
4088 UINT index,
4089 LPOLESTR szName);
4091 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
4092 ICreateTypeInfo* This,
4093 TYPEDESC* pTDescAlias);
4095 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
4096 ICreateTypeInfo* This,
4097 UINT index,
4098 LPOLESTR szDllName,
4099 LPOLESTR szProcName);
4101 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
4102 ICreateTypeInfo* This,
4103 UINT index,
4104 LPOLESTR szDocString);
4106 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
4107 ICreateTypeInfo* This,
4108 UINT index,
4109 LPOLESTR szDocString);
4111 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
4112 ICreateTypeInfo* This,
4113 UINT index,
4114 DWORD dwHelpContext);
4116 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
4117 ICreateTypeInfo* This,
4118 UINT index,
4119 DWORD dwHelpContext);
4121 HRESULT (STDMETHODCALLTYPE *SetMops)(
4122 ICreateTypeInfo* This,
4123 UINT index,
4124 BSTR bstrMops);
4126 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
4127 ICreateTypeInfo* This,
4128 IDLDESC* pIdlDesc);
4130 HRESULT (STDMETHODCALLTYPE *LayOut)(
4131 ICreateTypeInfo* This);
4135 /*** IUnknown methods ***/
4136 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4137 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4138 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4139 /*** ICreateTypeInfo methods ***/
4140 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4141 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4142 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4143 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4144 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4145 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4146 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4147 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4148 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4149 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4150 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4151 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4152 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4153 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4154 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4155 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4156 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4157 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4158 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4159 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4160 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4161 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4162 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4164 #endif
4166 #define ICreateTypeInfo_METHODS \
4167 ICOM_MSVTABLE_COMPAT_FIELDS \
4168 /*** IUnknown methods ***/ \
4169 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4170 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4171 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4172 /*** ICreateTypeInfo methods ***/ \
4173 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4174 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4175 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4176 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4177 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4178 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4179 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4180 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4181 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4182 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4183 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4184 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4185 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4186 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4187 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4188 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4189 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4190 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4191 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4192 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4193 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4194 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4195 STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
4197 HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy(
4198 ICreateTypeInfo* This,
4199 REFGUID guid);
4200 void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
4201 struct IRpcStubBuffer* This,
4202 struct IRpcChannelBuffer* pRpcChannelBuffer,
4203 PRPC_MESSAGE pRpcMessage,
4204 DWORD* pdwStubPhase);
4205 HRESULT CALLBACK ICreateTypeInfo_SetTypeFlags_Proxy(
4206 ICreateTypeInfo* This,
4207 UINT uTypeFlags);
4208 void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
4209 struct IRpcStubBuffer* This,
4210 struct IRpcChannelBuffer* pRpcChannelBuffer,
4211 PRPC_MESSAGE pRpcMessage,
4212 DWORD* pdwStubPhase);
4213 HRESULT CALLBACK ICreateTypeInfo_SetDocString_Proxy(
4214 ICreateTypeInfo* This,
4215 LPOLESTR pStrDoc);
4216 void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
4217 struct IRpcStubBuffer* This,
4218 struct IRpcChannelBuffer* pRpcChannelBuffer,
4219 PRPC_MESSAGE pRpcMessage,
4220 DWORD* pdwStubPhase);
4221 HRESULT CALLBACK ICreateTypeInfo_SetHelpContext_Proxy(
4222 ICreateTypeInfo* This,
4223 DWORD dwHelpContext);
4224 void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
4225 struct IRpcStubBuffer* This,
4226 struct IRpcChannelBuffer* pRpcChannelBuffer,
4227 PRPC_MESSAGE pRpcMessage,
4228 DWORD* pdwStubPhase);
4229 HRESULT CALLBACK ICreateTypeInfo_SetVersion_Proxy(
4230 ICreateTypeInfo* This,
4231 WORD wMajorVerNum,
4232 WORD wMinorVerNum);
4233 void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
4234 struct IRpcStubBuffer* This,
4235 struct IRpcChannelBuffer* pRpcChannelBuffer,
4236 PRPC_MESSAGE pRpcMessage,
4237 DWORD* pdwStubPhase);
4238 HRESULT CALLBACK ICreateTypeInfo_AddRefTypeInfo_Proxy(
4239 ICreateTypeInfo* This,
4240 ITypeInfo* pTInfo,
4241 HREFTYPE* phRefType);
4242 void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
4243 struct IRpcStubBuffer* This,
4244 struct IRpcChannelBuffer* pRpcChannelBuffer,
4245 PRPC_MESSAGE pRpcMessage,
4246 DWORD* pdwStubPhase);
4247 HRESULT CALLBACK ICreateTypeInfo_AddFuncDesc_Proxy(
4248 ICreateTypeInfo* This,
4249 UINT index,
4250 FUNCDESC* pFuncDesc);
4251 void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
4252 struct IRpcStubBuffer* This,
4253 struct IRpcChannelBuffer* pRpcChannelBuffer,
4254 PRPC_MESSAGE pRpcMessage,
4255 DWORD* pdwStubPhase);
4256 HRESULT CALLBACK ICreateTypeInfo_AddImplType_Proxy(
4257 ICreateTypeInfo* This,
4258 UINT index,
4259 HREFTYPE hRefType);
4260 void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
4261 struct IRpcStubBuffer* This,
4262 struct IRpcChannelBuffer* pRpcChannelBuffer,
4263 PRPC_MESSAGE pRpcMessage,
4264 DWORD* pdwStubPhase);
4265 HRESULT CALLBACK ICreateTypeInfo_SetImplTypeFlags_Proxy(
4266 ICreateTypeInfo* This,
4267 UINT index,
4268 INT implTypeFlags);
4269 void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
4270 struct IRpcStubBuffer* This,
4271 struct IRpcChannelBuffer* pRpcChannelBuffer,
4272 PRPC_MESSAGE pRpcMessage,
4273 DWORD* pdwStubPhase);
4274 HRESULT CALLBACK ICreateTypeInfo_SetAlignment_Proxy(
4275 ICreateTypeInfo* This,
4276 WORD cbAlignment);
4277 void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
4278 struct IRpcStubBuffer* This,
4279 struct IRpcChannelBuffer* pRpcChannelBuffer,
4280 PRPC_MESSAGE pRpcMessage,
4281 DWORD* pdwStubPhase);
4282 HRESULT CALLBACK ICreateTypeInfo_SetSchema_Proxy(
4283 ICreateTypeInfo* This,
4284 LPOLESTR pStrSchema);
4285 void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
4286 struct IRpcStubBuffer* This,
4287 struct IRpcChannelBuffer* pRpcChannelBuffer,
4288 PRPC_MESSAGE pRpcMessage,
4289 DWORD* pdwStubPhase);
4290 HRESULT CALLBACK ICreateTypeInfo_AddVarDesc_Proxy(
4291 ICreateTypeInfo* This,
4292 UINT index,
4293 VARDESC* pVarDesc);
4294 void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
4295 struct IRpcStubBuffer* This,
4296 struct IRpcChannelBuffer* pRpcChannelBuffer,
4297 PRPC_MESSAGE pRpcMessage,
4298 DWORD* pdwStubPhase);
4299 HRESULT CALLBACK ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4300 ICreateTypeInfo* This,
4301 UINT index,
4302 LPOLESTR* rgszNames,
4303 UINT cNames);
4304 void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
4305 struct IRpcStubBuffer* This,
4306 struct IRpcChannelBuffer* pRpcChannelBuffer,
4307 PRPC_MESSAGE pRpcMessage,
4308 DWORD* pdwStubPhase);
4309 HRESULT CALLBACK ICreateTypeInfo_SetVarName_Proxy(
4310 ICreateTypeInfo* This,
4311 UINT index,
4312 LPOLESTR szName);
4313 void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
4314 struct IRpcStubBuffer* This,
4315 struct IRpcChannelBuffer* pRpcChannelBuffer,
4316 PRPC_MESSAGE pRpcMessage,
4317 DWORD* pdwStubPhase);
4318 HRESULT CALLBACK ICreateTypeInfo_SetTypeDescAlias_Proxy(
4319 ICreateTypeInfo* This,
4320 TYPEDESC* pTDescAlias);
4321 void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
4322 struct IRpcStubBuffer* This,
4323 struct IRpcChannelBuffer* pRpcChannelBuffer,
4324 PRPC_MESSAGE pRpcMessage,
4325 DWORD* pdwStubPhase);
4326 HRESULT CALLBACK ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4327 ICreateTypeInfo* This,
4328 UINT index,
4329 LPOLESTR szDllName,
4330 LPOLESTR szProcName);
4331 void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4332 struct IRpcStubBuffer* This,
4333 struct IRpcChannelBuffer* pRpcChannelBuffer,
4334 PRPC_MESSAGE pRpcMessage,
4335 DWORD* pdwStubPhase);
4336 HRESULT CALLBACK ICreateTypeInfo_SetFuncDocString_Proxy(
4337 ICreateTypeInfo* This,
4338 UINT index,
4339 LPOLESTR szDocString);
4340 void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
4341 struct IRpcStubBuffer* This,
4342 struct IRpcChannelBuffer* pRpcChannelBuffer,
4343 PRPC_MESSAGE pRpcMessage,
4344 DWORD* pdwStubPhase);
4345 HRESULT CALLBACK ICreateTypeInfo_SetVarDocString_Proxy(
4346 ICreateTypeInfo* This,
4347 UINT index,
4348 LPOLESTR szDocString);
4349 void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
4350 struct IRpcStubBuffer* This,
4351 struct IRpcChannelBuffer* pRpcChannelBuffer,
4352 PRPC_MESSAGE pRpcMessage,
4353 DWORD* pdwStubPhase);
4354 HRESULT CALLBACK ICreateTypeInfo_SetFuncHelpContext_Proxy(
4355 ICreateTypeInfo* This,
4356 UINT index,
4357 DWORD dwHelpContext);
4358 void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
4359 struct IRpcStubBuffer* This,
4360 struct IRpcChannelBuffer* pRpcChannelBuffer,
4361 PRPC_MESSAGE pRpcMessage,
4362 DWORD* pdwStubPhase);
4363 HRESULT CALLBACK ICreateTypeInfo_SetVarHelpContext_Proxy(
4364 ICreateTypeInfo* This,
4365 UINT index,
4366 DWORD dwHelpContext);
4367 void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
4368 struct IRpcStubBuffer* This,
4369 struct IRpcChannelBuffer* pRpcChannelBuffer,
4370 PRPC_MESSAGE pRpcMessage,
4371 DWORD* pdwStubPhase);
4372 HRESULT CALLBACK ICreateTypeInfo_SetMops_Proxy(
4373 ICreateTypeInfo* This,
4374 UINT index,
4375 BSTR bstrMops);
4376 void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
4377 struct IRpcStubBuffer* This,
4378 struct IRpcChannelBuffer* pRpcChannelBuffer,
4379 PRPC_MESSAGE pRpcMessage,
4380 DWORD* pdwStubPhase);
4381 HRESULT CALLBACK ICreateTypeInfo_SetTypeIdldesc_Proxy(
4382 ICreateTypeInfo* This,
4383 IDLDESC* pIdlDesc);
4384 void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
4385 struct IRpcStubBuffer* This,
4386 struct IRpcChannelBuffer* pRpcChannelBuffer,
4387 PRPC_MESSAGE pRpcMessage,
4388 DWORD* pdwStubPhase);
4389 HRESULT CALLBACK ICreateTypeInfo_LayOut_Proxy(
4390 ICreateTypeInfo* This);
4391 void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
4392 struct IRpcStubBuffer* This,
4393 struct IRpcChannelBuffer* pRpcChannelBuffer,
4394 PRPC_MESSAGE pRpcMessage,
4395 DWORD* pdwStubPhase);
4397 #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
4399 #ifndef __ICreateTypeInfo2_FWD_DEFINED__
4400 #define __ICreateTypeInfo2_FWD_DEFINED__
4401 typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
4402 #endif
4404 typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;
4406 /*****************************************************************************
4407 * ICreateTypeInfo2 interface
4409 #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
4410 #define __ICreateTypeInfo2_INTERFACE_DEFINED__
4412 DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4413 #if defined(__cplusplus) && !defined(CINTERFACE)
4414 struct ICreateTypeInfo2 : public ICreateTypeInfo
4416 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc(
4417 UINT index) = 0;
4419 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId(
4420 MEMBERID memid,
4421 INVOKEKIND invKind) = 0;
4423 virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc(
4424 UINT index) = 0;
4426 virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId(
4427 MEMBERID memid) = 0;
4429 virtual HRESULT STDMETHODCALLTYPE DeleteImplType(
4430 UINT index) = 0;
4432 virtual HRESULT STDMETHODCALLTYPE SetCustData(
4433 REFGUID guid,
4434 VARIANT* pVarVal) = 0;
4436 virtual HRESULT STDMETHODCALLTYPE SetFuncCustData(
4437 UINT index,
4438 REFGUID guid,
4439 VARIANT* pVarVal) = 0;
4441 virtual HRESULT STDMETHODCALLTYPE SetParamCustData(
4442 UINT indexFunc,
4443 UINT indexParam,
4444 REFGUID guid,
4445 VARIANT* pVarVal) = 0;
4447 virtual HRESULT STDMETHODCALLTYPE SetVarCustData(
4448 UINT index,
4449 REFGUID guid,
4450 VARIANT* pVarVal) = 0;
4452 virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData(
4453 UINT index,
4454 REFGUID guid,
4455 VARIANT* pVarVal) = 0;
4457 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
4458 ULONG dwHelpStringContext) = 0;
4460 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext(
4461 UINT index,
4462 ULONG dwHelpStringContext) = 0;
4464 virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext(
4465 UINT index,
4466 ULONG dwHelpStringContext) = 0;
4468 virtual HRESULT STDMETHODCALLTYPE Invalidate(
4469 ) = 0;
4471 virtual HRESULT STDMETHODCALLTYPE SetName(
4472 LPOLESTR szName) = 0;
4475 #else
4476 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl;
4477 struct ICreateTypeInfo2 {
4478 const ICreateTypeInfo2Vtbl* lpVtbl;
4480 struct ICreateTypeInfo2Vtbl {
4481 ICOM_MSVTABLE_COMPAT_FIELDS
4483 /*** IUnknown methods ***/
4484 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4485 ICreateTypeInfo2* This,
4486 REFIID riid,
4487 void** ppvObject);
4489 ULONG (STDMETHODCALLTYPE *AddRef)(
4490 ICreateTypeInfo2* This);
4492 ULONG (STDMETHODCALLTYPE *Release)(
4493 ICreateTypeInfo2* This);
4495 /*** ICreateTypeInfo methods ***/
4496 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4497 ICreateTypeInfo2* This,
4498 REFGUID guid);
4500 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
4501 ICreateTypeInfo2* This,
4502 UINT uTypeFlags);
4504 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4505 ICreateTypeInfo2* This,
4506 LPOLESTR pStrDoc);
4508 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4509 ICreateTypeInfo2* This,
4510 DWORD dwHelpContext);
4512 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4513 ICreateTypeInfo2* This,
4514 WORD wMajorVerNum,
4515 WORD wMinorVerNum);
4517 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
4518 ICreateTypeInfo2* This,
4519 ITypeInfo* pTInfo,
4520 HREFTYPE* phRefType);
4522 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
4523 ICreateTypeInfo2* This,
4524 UINT index,
4525 FUNCDESC* pFuncDesc);
4527 HRESULT (STDMETHODCALLTYPE *AddImplType)(
4528 ICreateTypeInfo2* This,
4529 UINT index,
4530 HREFTYPE hRefType);
4532 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
4533 ICreateTypeInfo2* This,
4534 UINT index,
4535 INT implTypeFlags);
4537 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
4538 ICreateTypeInfo2* This,
4539 WORD cbAlignment);
4541 HRESULT (STDMETHODCALLTYPE *SetSchema)(
4542 ICreateTypeInfo2* This,
4543 LPOLESTR pStrSchema);
4545 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
4546 ICreateTypeInfo2* This,
4547 UINT index,
4548 VARDESC* pVarDesc);
4550 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
4551 ICreateTypeInfo2* This,
4552 UINT index,
4553 LPOLESTR* rgszNames,
4554 UINT cNames);
4556 HRESULT (STDMETHODCALLTYPE *SetVarName)(
4557 ICreateTypeInfo2* This,
4558 UINT index,
4559 LPOLESTR szName);
4561 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
4562 ICreateTypeInfo2* This,
4563 TYPEDESC* pTDescAlias);
4565 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
4566 ICreateTypeInfo2* This,
4567 UINT index,
4568 LPOLESTR szDllName,
4569 LPOLESTR szProcName);
4571 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
4572 ICreateTypeInfo2* This,
4573 UINT index,
4574 LPOLESTR szDocString);
4576 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
4577 ICreateTypeInfo2* This,
4578 UINT index,
4579 LPOLESTR szDocString);
4581 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
4582 ICreateTypeInfo2* This,
4583 UINT index,
4584 DWORD dwHelpContext);
4586 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
4587 ICreateTypeInfo2* This,
4588 UINT index,
4589 DWORD dwHelpContext);
4591 HRESULT (STDMETHODCALLTYPE *SetMops)(
4592 ICreateTypeInfo2* This,
4593 UINT index,
4594 BSTR bstrMops);
4596 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
4597 ICreateTypeInfo2* This,
4598 IDLDESC* pIdlDesc);
4600 HRESULT (STDMETHODCALLTYPE *LayOut)(
4601 ICreateTypeInfo2* This);
4603 /*** ICreateTypeInfo2 methods ***/
4604 HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)(
4605 ICreateTypeInfo2* This,
4606 UINT index);
4608 HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)(
4609 ICreateTypeInfo2* This,
4610 MEMBERID memid,
4611 INVOKEKIND invKind);
4613 HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)(
4614 ICreateTypeInfo2* This,
4615 UINT index);
4617 HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)(
4618 ICreateTypeInfo2* This,
4619 MEMBERID memid);
4621 HRESULT (STDMETHODCALLTYPE *DeleteImplType)(
4622 ICreateTypeInfo2* This,
4623 UINT index);
4625 HRESULT (STDMETHODCALLTYPE *SetCustData)(
4626 ICreateTypeInfo2* This,
4627 REFGUID guid,
4628 VARIANT* pVarVal);
4630 HRESULT (STDMETHODCALLTYPE *SetFuncCustData)(
4631 ICreateTypeInfo2* This,
4632 UINT index,
4633 REFGUID guid,
4634 VARIANT* pVarVal);
4636 HRESULT (STDMETHODCALLTYPE *SetParamCustData)(
4637 ICreateTypeInfo2* This,
4638 UINT indexFunc,
4639 UINT indexParam,
4640 REFGUID guid,
4641 VARIANT* pVarVal);
4643 HRESULT (STDMETHODCALLTYPE *SetVarCustData)(
4644 ICreateTypeInfo2* This,
4645 UINT index,
4646 REFGUID guid,
4647 VARIANT* pVarVal);
4649 HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)(
4650 ICreateTypeInfo2* This,
4651 UINT index,
4652 REFGUID guid,
4653 VARIANT* pVarVal);
4655 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
4656 ICreateTypeInfo2* This,
4657 ULONG dwHelpStringContext);
4659 HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)(
4660 ICreateTypeInfo2* This,
4661 UINT index,
4662 ULONG dwHelpStringContext);
4664 HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)(
4665 ICreateTypeInfo2* This,
4666 UINT index,
4667 ULONG dwHelpStringContext);
4669 HRESULT (STDMETHODCALLTYPE *Invalidate)(
4670 ICreateTypeInfo2* This);
4672 HRESULT (STDMETHODCALLTYPE *SetName)(
4673 ICreateTypeInfo2* This,
4674 LPOLESTR szName);
4678 /*** IUnknown methods ***/
4679 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4680 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4681 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4682 /*** ICreateTypeInfo methods ***/
4683 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4684 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4685 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4686 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4687 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4688 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4689 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4690 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4691 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4692 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4693 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4694 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4695 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4696 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4697 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4698 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4699 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4700 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4701 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4702 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4703 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4704 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4705 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4706 /*** ICreateTypeInfo2 methods ***/
4707 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4708 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4709 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4710 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4711 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4712 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4713 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4714 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4715 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4716 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4717 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4718 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4719 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4720 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4721 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4723 #endif
4725 #define ICreateTypeInfo2_METHODS \
4726 ICOM_MSVTABLE_COMPAT_FIELDS \
4727 /*** IUnknown methods ***/ \
4728 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4729 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4730 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4731 /*** ICreateTypeInfo methods ***/ \
4732 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4733 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4734 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4735 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4736 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4737 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4738 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4739 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4740 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4741 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4742 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4743 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4744 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4745 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4746 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4747 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4748 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4749 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4750 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4751 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4752 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4753 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4754 STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
4755 /*** ICreateTypeInfo2 methods ***/ \
4756 STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
4757 STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
4758 STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
4759 STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
4760 STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
4761 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
4762 STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4763 STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
4764 STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4765 STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4766 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
4767 STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4768 STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4769 STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
4770 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
4772 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4773 ICreateTypeInfo2* This,
4774 UINT index);
4775 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
4776 struct IRpcStubBuffer* This,
4777 struct IRpcChannelBuffer* pRpcChannelBuffer,
4778 PRPC_MESSAGE pRpcMessage,
4779 DWORD* pdwStubPhase);
4780 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4781 ICreateTypeInfo2* This,
4782 MEMBERID memid,
4783 INVOKEKIND invKind);
4784 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4785 struct IRpcStubBuffer* This,
4786 struct IRpcChannelBuffer* pRpcChannelBuffer,
4787 PRPC_MESSAGE pRpcMessage,
4788 DWORD* pdwStubPhase);
4789 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDesc_Proxy(
4790 ICreateTypeInfo2* This,
4791 UINT index);
4792 void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
4793 struct IRpcStubBuffer* This,
4794 struct IRpcChannelBuffer* pRpcChannelBuffer,
4795 PRPC_MESSAGE pRpcMessage,
4796 DWORD* pdwStubPhase);
4797 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4798 ICreateTypeInfo2* This,
4799 MEMBERID memid);
4800 void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4801 struct IRpcStubBuffer* This,
4802 struct IRpcChannelBuffer* pRpcChannelBuffer,
4803 PRPC_MESSAGE pRpcMessage,
4804 DWORD* pdwStubPhase);
4805 HRESULT CALLBACK ICreateTypeInfo2_DeleteImplType_Proxy(
4806 ICreateTypeInfo2* This,
4807 UINT index);
4808 void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
4809 struct IRpcStubBuffer* This,
4810 struct IRpcChannelBuffer* pRpcChannelBuffer,
4811 PRPC_MESSAGE pRpcMessage,
4812 DWORD* pdwStubPhase);
4813 HRESULT CALLBACK ICreateTypeInfo2_SetCustData_Proxy(
4814 ICreateTypeInfo2* This,
4815 REFGUID guid,
4816 VARIANT* pVarVal);
4817 void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
4818 struct IRpcStubBuffer* This,
4819 struct IRpcChannelBuffer* pRpcChannelBuffer,
4820 PRPC_MESSAGE pRpcMessage,
4821 DWORD* pdwStubPhase);
4822 HRESULT CALLBACK ICreateTypeInfo2_SetFuncCustData_Proxy(
4823 ICreateTypeInfo2* This,
4824 UINT index,
4825 REFGUID guid,
4826 VARIANT* pVarVal);
4827 void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
4828 struct IRpcStubBuffer* This,
4829 struct IRpcChannelBuffer* pRpcChannelBuffer,
4830 PRPC_MESSAGE pRpcMessage,
4831 DWORD* pdwStubPhase);
4832 HRESULT CALLBACK ICreateTypeInfo2_SetParamCustData_Proxy(
4833 ICreateTypeInfo2* This,
4834 UINT indexFunc,
4835 UINT indexParam,
4836 REFGUID guid,
4837 VARIANT* pVarVal);
4838 void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
4839 struct IRpcStubBuffer* This,
4840 struct IRpcChannelBuffer* pRpcChannelBuffer,
4841 PRPC_MESSAGE pRpcMessage,
4842 DWORD* pdwStubPhase);
4843 HRESULT CALLBACK ICreateTypeInfo2_SetVarCustData_Proxy(
4844 ICreateTypeInfo2* This,
4845 UINT index,
4846 REFGUID guid,
4847 VARIANT* pVarVal);
4848 void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
4849 struct IRpcStubBuffer* This,
4850 struct IRpcChannelBuffer* pRpcChannelBuffer,
4851 PRPC_MESSAGE pRpcMessage,
4852 DWORD* pdwStubPhase);
4853 HRESULT CALLBACK ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4854 ICreateTypeInfo2* This,
4855 UINT index,
4856 REFGUID guid,
4857 VARIANT* pVarVal);
4858 void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
4859 struct IRpcStubBuffer* This,
4860 struct IRpcChannelBuffer* pRpcChannelBuffer,
4861 PRPC_MESSAGE pRpcMessage,
4862 DWORD* pdwStubPhase);
4863 HRESULT CALLBACK ICreateTypeInfo2_SetHelpStringContext_Proxy(
4864 ICreateTypeInfo2* This,
4865 ULONG dwHelpStringContext);
4866 void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
4867 struct IRpcStubBuffer* This,
4868 struct IRpcChannelBuffer* pRpcChannelBuffer,
4869 PRPC_MESSAGE pRpcMessage,
4870 DWORD* pdwStubPhase);
4871 HRESULT CALLBACK ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4872 ICreateTypeInfo2* This,
4873 UINT index,
4874 ULONG dwHelpStringContext);
4875 void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4876 struct IRpcStubBuffer* This,
4877 struct IRpcChannelBuffer* pRpcChannelBuffer,
4878 PRPC_MESSAGE pRpcMessage,
4879 DWORD* pdwStubPhase);
4880 HRESULT CALLBACK ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4881 ICreateTypeInfo2* This,
4882 UINT index,
4883 ULONG dwHelpStringContext);
4884 void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4885 struct IRpcStubBuffer* This,
4886 struct IRpcChannelBuffer* pRpcChannelBuffer,
4887 PRPC_MESSAGE pRpcMessage,
4888 DWORD* pdwStubPhase);
4889 HRESULT CALLBACK ICreateTypeInfo2_Invalidate_Proxy(
4890 ICreateTypeInfo2* This);
4891 void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
4892 struct IRpcStubBuffer* This,
4893 struct IRpcChannelBuffer* pRpcChannelBuffer,
4894 PRPC_MESSAGE pRpcMessage,
4895 DWORD* pdwStubPhase);
4896 HRESULT CALLBACK ICreateTypeInfo2_SetName_Proxy(
4897 ICreateTypeInfo2* This,
4898 LPOLESTR szName);
4899 void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
4900 struct IRpcStubBuffer* This,
4901 struct IRpcChannelBuffer* pRpcChannelBuffer,
4902 PRPC_MESSAGE pRpcMessage,
4903 DWORD* pdwStubPhase);
4905 #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
4907 #ifndef __ICreateTypeLib_FWD_DEFINED__
4908 #define __ICreateTypeLib_FWD_DEFINED__
4909 typedef struct ICreateTypeLib ICreateTypeLib;
4910 #endif
4912 typedef ICreateTypeLib *LPCREATETYPELIB;
4914 /*****************************************************************************
4915 * ICreateTypeLib interface
4917 #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
4918 #define __ICreateTypeLib_INTERFACE_DEFINED__
4920 DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4921 #if defined(__cplusplus) && !defined(CINTERFACE)
4922 struct ICreateTypeLib : public IUnknown
4924 virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo(
4925 LPOLESTR szName,
4926 TYPEKIND tkind,
4927 ICreateTypeInfo** ppCTInfo) = 0;
4929 virtual HRESULT STDMETHODCALLTYPE SetName(
4930 LPOLESTR szName) = 0;
4932 virtual HRESULT STDMETHODCALLTYPE SetVersion(
4933 WORD wMajorVerNum,
4934 WORD wMinorVerNum) = 0;
4936 virtual HRESULT STDMETHODCALLTYPE SetGuid(
4937 REFGUID guid) = 0;
4939 virtual HRESULT STDMETHODCALLTYPE SetDocString(
4940 LPOLESTR szDoc) = 0;
4942 virtual HRESULT STDMETHODCALLTYPE SetHelpFileName(
4943 LPOLESTR szHelpFileName) = 0;
4945 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
4946 DWORD dwHelpContext) = 0;
4948 virtual HRESULT STDMETHODCALLTYPE SetLcid(
4949 LCID lcid) = 0;
4951 virtual HRESULT STDMETHODCALLTYPE SetLibFlags(
4952 UINT uLibFlags) = 0;
4954 virtual HRESULT STDMETHODCALLTYPE SaveAllChanges(
4955 ) = 0;
4958 #else
4959 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl;
4960 struct ICreateTypeLib {
4961 const ICreateTypeLibVtbl* lpVtbl;
4963 struct ICreateTypeLibVtbl {
4964 ICOM_MSVTABLE_COMPAT_FIELDS
4966 /*** IUnknown methods ***/
4967 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4968 ICreateTypeLib* This,
4969 REFIID riid,
4970 void** ppvObject);
4972 ULONG (STDMETHODCALLTYPE *AddRef)(
4973 ICreateTypeLib* This);
4975 ULONG (STDMETHODCALLTYPE *Release)(
4976 ICreateTypeLib* This);
4978 /*** ICreateTypeLib methods ***/
4979 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
4980 ICreateTypeLib* This,
4981 LPOLESTR szName,
4982 TYPEKIND tkind,
4983 ICreateTypeInfo** ppCTInfo);
4985 HRESULT (STDMETHODCALLTYPE *SetName)(
4986 ICreateTypeLib* This,
4987 LPOLESTR szName);
4989 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4990 ICreateTypeLib* This,
4991 WORD wMajorVerNum,
4992 WORD wMinorVerNum);
4994 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4995 ICreateTypeLib* This,
4996 REFGUID guid);
4998 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4999 ICreateTypeLib* This,
5000 LPOLESTR szDoc);
5002 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
5003 ICreateTypeLib* This,
5004 LPOLESTR szHelpFileName);
5006 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
5007 ICreateTypeLib* This,
5008 DWORD dwHelpContext);
5010 HRESULT (STDMETHODCALLTYPE *SetLcid)(
5011 ICreateTypeLib* This,
5012 LCID lcid);
5014 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
5015 ICreateTypeLib* This,
5016 UINT uLibFlags);
5018 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
5019 ICreateTypeLib* This);
5023 /*** IUnknown methods ***/
5024 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5025 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
5026 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
5027 /*** ICreateTypeLib methods ***/
5028 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5029 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5030 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5031 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5032 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5033 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5034 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5035 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5036 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5037 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5039 #endif
5041 #define ICreateTypeLib_METHODS \
5042 ICOM_MSVTABLE_COMPAT_FIELDS \
5043 /*** IUnknown methods ***/ \
5044 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5045 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5046 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5047 /*** ICreateTypeLib methods ***/ \
5048 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5049 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5050 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5051 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5052 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5053 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5054 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5055 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5056 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5057 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
5059 HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy(
5060 ICreateTypeLib* This,
5061 LPOLESTR szName,
5062 TYPEKIND tkind,
5063 ICreateTypeInfo** ppCTInfo);
5064 void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
5065 struct IRpcStubBuffer* This,
5066 struct IRpcChannelBuffer* pRpcChannelBuffer,
5067 PRPC_MESSAGE pRpcMessage,
5068 DWORD* pdwStubPhase);
5069 HRESULT CALLBACK ICreateTypeLib_SetName_Proxy(
5070 ICreateTypeLib* This,
5071 LPOLESTR szName);
5072 void __RPC_STUB ICreateTypeLib_SetName_Stub(
5073 struct IRpcStubBuffer* This,
5074 struct IRpcChannelBuffer* pRpcChannelBuffer,
5075 PRPC_MESSAGE pRpcMessage,
5076 DWORD* pdwStubPhase);
5077 HRESULT CALLBACK ICreateTypeLib_SetVersion_Proxy(
5078 ICreateTypeLib* This,
5079 WORD wMajorVerNum,
5080 WORD wMinorVerNum);
5081 void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
5082 struct IRpcStubBuffer* This,
5083 struct IRpcChannelBuffer* pRpcChannelBuffer,
5084 PRPC_MESSAGE pRpcMessage,
5085 DWORD* pdwStubPhase);
5086 HRESULT CALLBACK ICreateTypeLib_SetGuid_Proxy(
5087 ICreateTypeLib* This,
5088 REFGUID guid);
5089 void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
5090 struct IRpcStubBuffer* This,
5091 struct IRpcChannelBuffer* pRpcChannelBuffer,
5092 PRPC_MESSAGE pRpcMessage,
5093 DWORD* pdwStubPhase);
5094 HRESULT CALLBACK ICreateTypeLib_SetDocString_Proxy(
5095 ICreateTypeLib* This,
5096 LPOLESTR szDoc);
5097 void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
5098 struct IRpcStubBuffer* This,
5099 struct IRpcChannelBuffer* pRpcChannelBuffer,
5100 PRPC_MESSAGE pRpcMessage,
5101 DWORD* pdwStubPhase);
5102 HRESULT CALLBACK ICreateTypeLib_SetHelpFileName_Proxy(
5103 ICreateTypeLib* This,
5104 LPOLESTR szHelpFileName);
5105 void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
5106 struct IRpcStubBuffer* This,
5107 struct IRpcChannelBuffer* pRpcChannelBuffer,
5108 PRPC_MESSAGE pRpcMessage,
5109 DWORD* pdwStubPhase);
5110 HRESULT CALLBACK ICreateTypeLib_SetHelpContext_Proxy(
5111 ICreateTypeLib* This,
5112 DWORD dwHelpContext);
5113 void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
5114 struct IRpcStubBuffer* This,
5115 struct IRpcChannelBuffer* pRpcChannelBuffer,
5116 PRPC_MESSAGE pRpcMessage,
5117 DWORD* pdwStubPhase);
5118 HRESULT CALLBACK ICreateTypeLib_SetLcid_Proxy(
5119 ICreateTypeLib* This,
5120 LCID lcid);
5121 void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
5122 struct IRpcStubBuffer* This,
5123 struct IRpcChannelBuffer* pRpcChannelBuffer,
5124 PRPC_MESSAGE pRpcMessage,
5125 DWORD* pdwStubPhase);
5126 HRESULT CALLBACK ICreateTypeLib_SetLibFlags_Proxy(
5127 ICreateTypeLib* This,
5128 UINT uLibFlags);
5129 void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
5130 struct IRpcStubBuffer* This,
5131 struct IRpcChannelBuffer* pRpcChannelBuffer,
5132 PRPC_MESSAGE pRpcMessage,
5133 DWORD* pdwStubPhase);
5134 HRESULT CALLBACK ICreateTypeLib_SaveAllChanges_Proxy(
5135 ICreateTypeLib* This);
5136 void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
5137 struct IRpcStubBuffer* This,
5138 struct IRpcChannelBuffer* pRpcChannelBuffer,
5139 PRPC_MESSAGE pRpcMessage,
5140 DWORD* pdwStubPhase);
5142 #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
5144 #ifndef __ICreateTypeLib2_FWD_DEFINED__
5145 #define __ICreateTypeLib2_FWD_DEFINED__
5146 typedef struct ICreateTypeLib2 ICreateTypeLib2;
5147 #endif
5149 typedef ICreateTypeLib2 *LPCREATETYPELIB2;
5151 /*****************************************************************************
5152 * ICreateTypeLib2 interface
5154 #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
5155 #define __ICreateTypeLib2_INTERFACE_DEFINED__
5157 DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5158 #if defined(__cplusplus) && !defined(CINTERFACE)
5159 struct ICreateTypeLib2 : public ICreateTypeLib
5161 virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo(
5162 LPOLESTR szName) = 0;
5164 virtual HRESULT STDMETHODCALLTYPE SetCustData(
5165 REFGUID guid,
5166 VARIANT* pVarVal) = 0;
5168 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
5169 ULONG dwHelpStringContext) = 0;
5171 virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll(
5172 LPOLESTR szFileName) = 0;
5175 #else
5176 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl;
5177 struct ICreateTypeLib2 {
5178 const ICreateTypeLib2Vtbl* lpVtbl;
5180 struct ICreateTypeLib2Vtbl {
5181 ICOM_MSVTABLE_COMPAT_FIELDS
5183 /*** IUnknown methods ***/
5184 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5185 ICreateTypeLib2* This,
5186 REFIID riid,
5187 void** ppvObject);
5189 ULONG (STDMETHODCALLTYPE *AddRef)(
5190 ICreateTypeLib2* This);
5192 ULONG (STDMETHODCALLTYPE *Release)(
5193 ICreateTypeLib2* This);
5195 /*** ICreateTypeLib methods ***/
5196 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
5197 ICreateTypeLib2* This,
5198 LPOLESTR szName,
5199 TYPEKIND tkind,
5200 ICreateTypeInfo** ppCTInfo);
5202 HRESULT (STDMETHODCALLTYPE *SetName)(
5203 ICreateTypeLib2* This,
5204 LPOLESTR szName);
5206 HRESULT (STDMETHODCALLTYPE *SetVersion)(
5207 ICreateTypeLib2* This,
5208 WORD wMajorVerNum,
5209 WORD wMinorVerNum);
5211 HRESULT (STDMETHODCALLTYPE *SetGuid)(
5212 ICreateTypeLib2* This,
5213 REFGUID guid);
5215 HRESULT (STDMETHODCALLTYPE *SetDocString)(
5216 ICreateTypeLib2* This,
5217 LPOLESTR szDoc);
5219 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
5220 ICreateTypeLib2* This,
5221 LPOLESTR szHelpFileName);
5223 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
5224 ICreateTypeLib2* This,
5225 DWORD dwHelpContext);
5227 HRESULT (STDMETHODCALLTYPE *SetLcid)(
5228 ICreateTypeLib2* This,
5229 LCID lcid);
5231 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
5232 ICreateTypeLib2* This,
5233 UINT uLibFlags);
5235 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
5236 ICreateTypeLib2* This);
5238 /*** ICreateTypeLib2 methods ***/
5239 HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)(
5240 ICreateTypeLib2* This,
5241 LPOLESTR szName);
5243 HRESULT (STDMETHODCALLTYPE *SetCustData)(
5244 ICreateTypeLib2* This,
5245 REFGUID guid,
5246 VARIANT* pVarVal);
5248 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
5249 ICreateTypeLib2* This,
5250 ULONG dwHelpStringContext);
5252 HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)(
5253 ICreateTypeLib2* This,
5254 LPOLESTR szFileName);
5258 /*** IUnknown methods ***/
5259 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5260 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5261 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5262 /*** ICreateTypeLib methods ***/
5263 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5264 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5265 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5266 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5267 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5268 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5269 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5270 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5271 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5272 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5273 /*** ICreateTypeLib2 methods ***/
5274 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5275 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5276 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5277 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5279 #endif
5281 #define ICreateTypeLib2_METHODS \
5282 ICOM_MSVTABLE_COMPAT_FIELDS \
5283 /*** IUnknown methods ***/ \
5284 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5285 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5286 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5287 /*** ICreateTypeLib methods ***/ \
5288 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5289 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5290 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5291 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5292 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5293 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5294 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5295 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5296 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5297 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
5298 /*** ICreateTypeLib2 methods ***/ \
5299 STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
5300 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
5301 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
5302 STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
5304 HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy(
5305 ICreateTypeLib2* This,
5306 LPOLESTR szName);
5307 void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
5308 struct IRpcStubBuffer* This,
5309 struct IRpcChannelBuffer* pRpcChannelBuffer,
5310 PRPC_MESSAGE pRpcMessage,
5311 DWORD* pdwStubPhase);
5312 HRESULT CALLBACK ICreateTypeLib2_SetCustData_Proxy(
5313 ICreateTypeLib2* This,
5314 REFGUID guid,
5315 VARIANT* pVarVal);
5316 void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
5317 struct IRpcStubBuffer* This,
5318 struct IRpcChannelBuffer* pRpcChannelBuffer,
5319 PRPC_MESSAGE pRpcMessage,
5320 DWORD* pdwStubPhase);
5321 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringContext_Proxy(
5322 ICreateTypeLib2* This,
5323 ULONG dwHelpStringContext);
5324 void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
5325 struct IRpcStubBuffer* This,
5326 struct IRpcChannelBuffer* pRpcChannelBuffer,
5327 PRPC_MESSAGE pRpcMessage,
5328 DWORD* pdwStubPhase);
5329 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringDll_Proxy(
5330 ICreateTypeLib2* This,
5331 LPOLESTR szFileName);
5332 void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
5333 struct IRpcStubBuffer* This,
5334 struct IRpcChannelBuffer* pRpcChannelBuffer,
5335 PRPC_MESSAGE pRpcMessage,
5336 DWORD* pdwStubPhase);
5338 #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
5340 #ifdef __cplusplus
5342 #endif
5343 #endif /* __WIDL_OAIDL_H */