source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/oaidl.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

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