1 /*** Autogenerated by WIDL 0.1 from oaidl.idl - Do not edit ***/
11 typedef struct IDispatch IDispatch;
12 typedef struct ITypeInfo ITypeInfo;
13 typedef struct ITypeLib ITypeLib;
14 typedef struct IRecordInfo IRecordInfo;
17 typedef struct tagSAFEARRAYBOUND {
20 } SAFEARRAYBOUND, *LPSAFEARRAYBOUND;
22 typedef struct _wireVARIANT *wireVARIANT;
24 typedef struct _wireBRECORD *wireBRECORD;
26 typedef struct _wireSAFEARR_BSTR {
31 typedef struct _wireSAFEARR_UNKNOWN {
36 typedef struct _wireSAFEARR_DISPATCH {
38 IDispatch **apDispatch;
41 typedef struct _wireSAFEARR_VARIANT {
43 wireVARIANT *aVariant;
46 typedef struct _wireSAFEARR_BRECORD {
51 typedef struct _wireSAFEARR_HAVEIID {
57 typedef enum tagSF_TYPE {
64 SF_UNKNOWN = VT_UNKNOWN,
65 SF_DISPATCH = VT_DISPATCH,
66 SF_VARIANT = VT_VARIANT,
67 SF_RECORD = VT_RECORD,
68 SF_HAVEIID = VT_UNKNOWN | VT_RESERVED
71 typedef struct _wireSAFEARRAY_UNION {
75 SAFEARR_UNKNOWN UnknownStr;
76 SAFEARR_DISPATCH DispatchStr;
77 SAFEARR_VARIANT VariantStr;
78 SAFEARR_BRECORD RecordStr;
79 SAFEARR_HAVEIID HaveIidStr;
80 BYTE_SIZEDARR ByteStr;
81 WORD_SIZEDARR WordStr;
82 DWORD_SIZEDARR LongStr;
83 HYPER_SIZEDARR HyperStr;
87 typedef struct _wireSAFEARRAY {
92 SAFEARRAYUNION uArrayStructs;
93 SAFEARRAYBOUND rgsabound[1];
96 typedef wireSAFEARRAY *wirePSAFEARRAY;
98 typedef struct tagSAFEARRAY {
104 SAFEARRAYBOUND rgsabound[1];
107 typedef SAFEARRAY *LPSAFEARRAY;
108 unsigned long __RPC_USER LPSAFEARRAY_UserSize (unsigned long *, unsigned long, LPSAFEARRAY *);
109 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (unsigned long *, unsigned char *, LPSAFEARRAY *);
110 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY *);
111 void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRAY *);
113 #define FADF_AUTO (0x1)
115 #define FADF_STATIC (0x2)
117 #define FADF_EMBEDDED (0x4)
119 #define FADF_FIXEDSIZE (0x10)
121 #define FADF_RECORD (0x20)
123 #define FADF_HAVEIID (0x40)
125 #define FADF_HAVEVARTYPE (0x80)
127 #define FADF_BSTR (0x100)
129 #define FADF_UNKNOWN (0x200)
131 #define FADF_DISPATCH (0x400)
133 #define FADF_VARIANT (0x800)
135 #define FADF_RESERVED (0xf008)
137 #define FADF_CREATEVECTOR (0x2000)
139 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
140 #define __VARIANT_NAME_1 n1
141 #define __VARIANT_NAME_2 n2
142 #define __VARIANT_NAME_3 n3
143 #define __VARIANT_NAME_4 brecVal
146 #define __VARIANT_NAME_1
147 #define __VARIANT_NAME_2
148 #define __VARIANT_NAME_3
150 #define __VARIANT_NAME_4
152 typedef struct tagVARIANT VARIANT;
153 unsigned long __RPC_USER VARIANT_UserSize (unsigned long *, unsigned long, VARIANT *);
154 unsigned char * __RPC_USER VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT *);
155 unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *);
156 void __RPC_USER VARIANT_UserFree (unsigned long *, VARIANT *);
160 struct __tagVARIANT {
176 VARIANT_BOOL boolVal;
194 VARIANT_BOOL *pboolVal;
203 IDispatch **ppdispVal;
205 struct __tagBRECORD {
207 IRecordInfo *pRecInfo;
215 typedef VARIANT *LPVARIANT;
217 typedef VARIANT VARIANTARG;
219 typedef VARIANTARG *LPVARIANTARG;
221 struct _wireBRECORD {
224 IRecordInfo *pRecInfo;
228 struct _wireVARIANT {
246 VARIANT_BOOL boolVal;
254 wireSAFEARRAY parray;
265 VARIANT_BOOL *pboolVal;
269 wireVARIANT *pvarVal;
273 IDispatch **ppdispVal;
274 wireSAFEARRAY *pparray;
281 typedef DWORD HREFTYPE;
283 typedef DISPID MEMBERID;
285 typedef enum tagTYPEKIND {
297 typedef struct tagTYPEDESC {
299 struct tagTYPEDESC *lptdesc;
300 struct tagARRAYDESC *lpadesc;
306 typedef struct tagARRAYDESC {
309 SAFEARRAYBOUND rgbounds[1];
312 typedef struct tagPARAMDESCEX {
314 VARIANTARG varDefaultValue;
315 } PARAMDESCEX, *LPPARAMDESCEX;
317 typedef struct tagPARAMDESC {
318 LPPARAMDESCEX pparamdescex;
320 } PARAMDESC, *LPPARAMDESC;
322 #define PARAMFLAG_NONE (0x0)
324 #define PARAMFLAG_FIN (0x1)
326 #define PARAMFLAG_FOUT (0x2)
328 #define PARAMFLAG_FLCID (0x4)
330 #define PARAMFLAG_FRETVAL (0x8)
332 #define PARAMFLAG_FOPT (0x10)
334 #define PARAMFLAG_FHASDEFAULT (0x20)
336 #define PARAMFLAG_FHASCUSTDATA (0x40)
338 typedef struct tagIDLDESC {
341 } IDLDESC, *LPIDLDESC;
343 #define IDLFLAG_NONE (PARAMFLAG_NONE)
345 #define IDLFLAG_FIN (PARAMFLAG_FIN)
347 #define IDLFLAG_FOUT (PARAMFLAG_FOUT)
349 #define IDLFLAG_FLCID (PARAMFLAG_FLCID)
351 #define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL)
354 typedef struct tagELEMDESC {
360 typedef struct tagELEMDESC {
366 } ELEMDESC, *LPELEMDESC;
368 typedef struct tagTYPEATTR {
372 MEMBERID memidConstructor;
373 MEMBERID memidDestructor;
374 LPOLESTR lpstrSchema;
375 ULONG cbSizeInstance;
387 } TYPEATTR, *LPTYPEATTR;
389 typedef struct tagDISPPARAMS {
391 DISPID *rgdispidNamedArgs;
397 typedef struct tagEXCEPINFO {
401 BSTR bstrDescription;
405 ULONG pfnDeferredFillIn;
410 typedef struct tagEXCEPINFO {
414 BSTR bstrDescription;
418 HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
420 } EXCEPINFO, *LPEXCEPINFO;
422 typedef enum tagCALLCONV {
426 CC_PASCAL = CC_MSCPASCAL,
436 typedef enum tagFUNCKIND {
444 typedef enum tagINVOKEKIND {
446 INVOKE_PROPERTYGET = 2,
447 INVOKE_PROPERTYPUT = 4,
448 INVOKE_PROPERTYPUTREF = 8
451 typedef struct tagFUNCDESC {
454 ELEMDESC *lprgelemdescParam;
462 ELEMDESC elemdescFunc;
464 } FUNCDESC, *LPFUNCDESC;
466 typedef enum tagVARKIND {
473 #define IMPLTYPEFLAG_FDEFAULT (0x1)
475 #define IMPLTYPEFLAG_FSOURCE (0x2)
477 #define IMPLTYPEFLAG_FRESTRICTED (0x4)
479 #define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8)
481 typedef struct tagVARDESC {
483 LPOLESTR lpstrSchema;
488 ELEMDESC elemdescVar;
491 } VARDESC, *LPVARDESC;
493 typedef enum tagTYPEFLAGS {
494 TYPEFLAG_FAPPOBJECT = 0x1,
495 TYPEFLAG_FCANCREATE = 0x2,
496 TYPEFLAG_FLICENSED = 0x4,
497 TYPEFLAG_FPREDECLID = 0x8,
498 TYPEFLAG_FHIDDEN = 0x10,
499 TYPEFLAG_FCONTROL = 0x20,
500 TYPEFLAG_FDUAL = 0x40,
501 TYPEFLAG_FNONEXTENSIBLE = 0x80,
502 TYPEFLAG_FOLEAUTOMATION = 0x100,
503 TYPEFLAG_FRESTRICTED = 0x200,
504 TYPEFLAG_FAGGREGATABLE = 0x400,
505 TYPEFLAG_FREPLACEABLE = 0x800,
506 TYPEFLAG_FDISPATCHABLE = 0x1000,
507 TYPEFLAG_FREVERSEBIND = 0x2000,
508 TYPEFLAG_FPROXY = 0x4000
511 typedef enum tagFUNCFLAGS {
512 FUNCFLAG_FRESTRICTED = 0x1,
513 FUNCFLAG_FSOURCE = 0x2,
514 FUNCFLAG_FBINDABLE = 0x4,
515 FUNCFLAG_FREQUESTEDIT = 0x8,
516 FUNCFLAG_FDISPLAYBIND = 0x10,
517 FUNCFLAG_FDEFAULTBIND = 0x20,
518 FUNCFLAG_FHIDDEN = 0x40,
519 FUNCFLAG_FUSESGETLASTERROR = 0x80,
520 FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
521 FUNCFLAG_FUIDEFAULT = 0x200,
522 FUNCFLAG_FNONBROWSABLE = 0x400,
523 FUNCFLAG_FREPLACEABLE = 0x800,
524 FUNCFLAG_FIMMEDIATEBIND = 0x1000
527 typedef enum tagVARFLAGS {
528 VARFLAG_FREADONLY = 0x1,
529 VARFLAG_FSOURCE = 0x2,
530 VARFLAG_FBINDABLE = 0x4,
531 VARFLAG_FREQUESTEDIT = 0x8,
532 VARFLAG_FDISPLAYBIND = 0x10,
533 VARFLAG_FDEFAULTBIND = 0x20,
534 VARFLAG_FHIDDEN = 0x40,
535 VARFLAG_FRESTRICTED = 0x80,
536 VARFLAG_FDEFAULTCOLLELEM = 0x100,
537 VARFLAG_FUIDEFAULT = 0x200,
538 VARFLAG_FNONBROWSABLE = 0x400,
539 VARFLAG_FREPLACEABLE = 0x800,
540 VARFLAG_FIMMEDIATEBIND = 0x1000
543 typedef struct tagCLEANLOCALSTORAGE {
544 IUnknown *pInterface;
548 unsigned long __RPC_USER CLEANLOCALSTORAGE_UserSize (unsigned long *, unsigned long, CLEANLOCALSTORAGE *);
549 unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal (unsigned long *, unsigned char *, CLEANLOCALSTORAGE *);
550 unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE *);
551 void __RPC_USER CLEANLOCALSTORAGE_UserFree (unsigned long *, CLEANLOCALSTORAGE *);
553 typedef struct tagCUSTDATAITEM {
556 } CUSTDATAITEM, *LPCUSTDATAITEM;
558 typedef struct tagCUSTDATA {
560 LPCUSTDATAITEM prgCustData;
561 } CUSTDATA, *LPCUSTDATA;
563 typedef IDispatch *LPDISPATCH;
565 #define DISPID_UNKNOWN (-1)
567 #define DISPID_VALUE (0)
569 #define DISPID_PROPERTYPUT (-3)
571 #define DISPID_NEWENUM (-4)
573 #define DISPID_EVALUATE (-5)
575 #define DISPID_CONSTRUCTOR (-6)
577 #define DISPID_DESTRUCTOR (-7)
579 #define DISPID_COLLECT (-8)
581 /*****************************************************************************
582 * IDispatch interface
584 DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
585 #if defined(__cplusplus) && !defined(CINTERFACE)
586 struct IDispatch : public IUnknown
588 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
591 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
594 ITypeInfo** ppTInfo) = 0;
596 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
601 DISPID* rgDispId) = 0;
603 virtual HRESULT STDMETHODCALLTYPE Invoke(
608 DISPPARAMS* pDispParams,
610 EXCEPINFO* pExcepInfo,
615 typedef struct IDispatchVtbl IDispatchVtbl;
617 const IDispatchVtbl* lpVtbl;
619 struct IDispatchVtbl {
620 ICOM_MSVTABLE_COMPAT_FIELDS
622 /*** IUnknown methods ***/
623 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
628 ULONG (STDMETHODCALLTYPE *AddRef)(
631 ULONG (STDMETHODCALLTYPE *Release)(
634 /*** IDispatch methods ***/
635 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
639 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
643 ITypeInfo** ppTInfo);
645 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
653 HRESULT (STDMETHODCALLTYPE *Invoke)(
659 DISPPARAMS* pDispParams,
661 EXCEPINFO* pExcepInfo,
666 /*** IUnknown methods ***/
667 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
668 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
669 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
670 /*** IDispatch methods ***/
671 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
672 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
673 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
674 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
678 #define IDispatch_METHODS \
679 ICOM_MSVTABLE_COMPAT_FIELDS \
680 /*** IUnknown methods ***/ \
681 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
682 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
683 STDMETHOD_(ULONG,Release)(THIS) PURE; \
684 /*** IDispatch methods ***/ \
685 STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
686 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
687 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
688 STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
690 HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy(
693 void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
694 struct IRpcStubBuffer* This,
695 struct IRpcChannelBuffer* pRpcChannelBuffer,
696 PRPC_MESSAGE pRpcMessage,
697 DWORD* pdwStubPhase);
698 HRESULT CALLBACK IDispatch_GetTypeInfo_Proxy(
702 ITypeInfo** ppTInfo);
703 void __RPC_STUB IDispatch_GetTypeInfo_Stub(
704 struct IRpcStubBuffer* This,
705 struct IRpcChannelBuffer* pRpcChannelBuffer,
706 PRPC_MESSAGE pRpcMessage,
707 DWORD* pdwStubPhase);
708 HRESULT CALLBACK IDispatch_GetIDsOfNames_Proxy(
715 void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
716 struct IRpcStubBuffer* This,
717 struct IRpcChannelBuffer* pRpcChannelBuffer,
718 PRPC_MESSAGE pRpcMessage,
719 DWORD* pdwStubPhase);
720 HRESULT CALLBACK IDispatch_RemoteInvoke_Proxy(
726 DISPPARAMS* pDispParams,
728 EXCEPINFO* pExcepInfo,
732 VARIANTARG* rgVarRef);
733 void __RPC_STUB IDispatch_RemoteInvoke_Stub(
734 struct IRpcStubBuffer* This,
735 struct IRpcChannelBuffer* pRpcChannelBuffer,
736 PRPC_MESSAGE pRpcMessage,
737 DWORD* pdwStubPhase);
738 HRESULT CALLBACK IDispatch_Invoke_Proxy(
744 DISPPARAMS* pDispParams,
746 EXCEPINFO* pExcepInfo,
748 HRESULT __RPC_STUB IDispatch_Invoke_Stub(
754 DISPPARAMS* pDispParams,
756 EXCEPINFO* pExcepInfo,
760 VARIANTARG* rgVarRef);
762 typedef struct IEnumVARIANT IEnumVARIANT;
763 typedef IEnumVARIANT *LPENUMVARIANT;
765 /*****************************************************************************
766 * IEnumVARIANT interface
768 DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
769 #if defined(__cplusplus) && !defined(CINTERFACE)
770 struct IEnumVARIANT : public IUnknown
772 virtual HRESULT STDMETHODCALLTYPE Next(
775 ULONG* pCeltFetched) = 0;
777 virtual HRESULT STDMETHODCALLTYPE Skip(
780 virtual HRESULT STDMETHODCALLTYPE Reset(
783 virtual HRESULT STDMETHODCALLTYPE Clone(
784 IEnumVARIANT** ppEnum) = 0;
788 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl;
789 struct IEnumVARIANT {
790 const IEnumVARIANTVtbl* lpVtbl;
792 struct IEnumVARIANTVtbl {
793 ICOM_MSVTABLE_COMPAT_FIELDS
795 /*** IUnknown methods ***/
796 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
801 ULONG (STDMETHODCALLTYPE *AddRef)(
804 ULONG (STDMETHODCALLTYPE *Release)(
807 /*** IEnumVARIANT methods ***/
808 HRESULT (STDMETHODCALLTYPE *Next)(
812 ULONG* pCeltFetched);
814 HRESULT (STDMETHODCALLTYPE *Skip)(
818 HRESULT (STDMETHODCALLTYPE *Reset)(
821 HRESULT (STDMETHODCALLTYPE *Clone)(
823 IEnumVARIANT** ppEnum);
827 /*** IUnknown methods ***/
828 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
829 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
830 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
831 /*** IEnumVARIANT methods ***/
832 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
833 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
834 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
835 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
839 #define IEnumVARIANT_METHODS \
840 ICOM_MSVTABLE_COMPAT_FIELDS \
841 /*** IUnknown methods ***/ \
842 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
843 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
844 STDMETHOD_(ULONG,Release)(THIS) PURE; \
845 /*** IEnumVARIANT methods ***/ \
846 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
847 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
848 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
849 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
851 HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy(
855 ULONG* pCeltFetched);
856 void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
857 struct IRpcStubBuffer* This,
858 struct IRpcChannelBuffer* pRpcChannelBuffer,
859 PRPC_MESSAGE pRpcMessage,
860 DWORD* pdwStubPhase);
861 HRESULT CALLBACK IEnumVARIANT_Next_Proxy(
865 ULONG* pCeltFetched);
866 HRESULT __RPC_STUB IEnumVARIANT_Next_Stub(
870 ULONG* pCeltFetched);
871 HRESULT CALLBACK IEnumVARIANT_Skip_Proxy(
874 void __RPC_STUB IEnumVARIANT_Skip_Stub(
875 struct IRpcStubBuffer* This,
876 struct IRpcChannelBuffer* pRpcChannelBuffer,
877 PRPC_MESSAGE pRpcMessage,
878 DWORD* pdwStubPhase);
879 HRESULT CALLBACK IEnumVARIANT_Reset_Proxy(
881 void __RPC_STUB IEnumVARIANT_Reset_Stub(
882 struct IRpcStubBuffer* This,
883 struct IRpcChannelBuffer* pRpcChannelBuffer,
884 PRPC_MESSAGE pRpcMessage,
885 DWORD* pdwStubPhase);
886 HRESULT CALLBACK IEnumVARIANT_Clone_Proxy(
888 IEnumVARIANT** ppEnum);
889 void __RPC_STUB IEnumVARIANT_Clone_Stub(
890 struct IRpcStubBuffer* This,
891 struct IRpcChannelBuffer* pRpcChannelBuffer,
892 PRPC_MESSAGE pRpcMessage,
893 DWORD* pdwStubPhase);
895 typedef struct ITypeComp ITypeComp;
896 typedef ITypeComp *LPTYPECOMP;
898 typedef enum tagDESCKIND {
903 DESCKIND_IMPLICITAPPOBJ,
907 typedef union tagBINDPTR {
908 FUNCDESC *lpfuncdesc;
911 } BINDPTR, *LPBINDPTR;
913 /*****************************************************************************
914 * ITypeComp interface
916 DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
917 #if defined(__cplusplus) && !defined(CINTERFACE)
918 struct ITypeComp : public IUnknown
920 virtual HRESULT STDMETHODCALLTYPE Bind(
926 BINDPTR* pBindPtr) = 0;
928 virtual HRESULT STDMETHODCALLTYPE BindType(
932 ITypeComp** ppTComp) = 0;
936 typedef struct ITypeCompVtbl ITypeCompVtbl;
938 const ITypeCompVtbl* lpVtbl;
940 struct ITypeCompVtbl {
941 ICOM_MSVTABLE_COMPAT_FIELDS
943 /*** IUnknown methods ***/
944 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
949 ULONG (STDMETHODCALLTYPE *AddRef)(
952 ULONG (STDMETHODCALLTYPE *Release)(
955 /*** ITypeComp methods ***/
956 HRESULT (STDMETHODCALLTYPE *Bind)(
965 HRESULT (STDMETHODCALLTYPE *BindType)(
970 ITypeComp** ppTComp);
974 /*** IUnknown methods ***/
975 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
976 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
977 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
978 /*** ITypeComp methods ***/
979 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
980 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
984 #define ITypeComp_METHODS \
985 ICOM_MSVTABLE_COMPAT_FIELDS \
986 /*** IUnknown methods ***/ \
987 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
988 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
989 STDMETHOD_(ULONG,Release)(THIS) PURE; \
990 /*** ITypeComp methods ***/ \
991 STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
992 STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
994 HRESULT CALLBACK ITypeComp_RemoteBind_Proxy(
1000 DESCKIND* pDescKind,
1001 LPFUNCDESC* ppFuncDesc,
1002 LPVARDESC* ppVarDesc,
1003 ITypeComp** ppTypeComp,
1004 CLEANLOCALSTORAGE* pDummy);
1005 void __RPC_STUB ITypeComp_RemoteBind_Stub(
1006 struct IRpcStubBuffer* This,
1007 struct IRpcChannelBuffer* pRpcChannelBuffer,
1008 PRPC_MESSAGE pRpcMessage,
1009 DWORD* pdwStubPhase);
1010 HRESULT CALLBACK ITypeComp_Bind_Proxy(
1015 ITypeInfo** ppTInfo,
1016 DESCKIND* pDescKind,
1018 HRESULT __RPC_STUB ITypeComp_Bind_Stub(
1023 ITypeInfo** ppTInfo,
1024 DESCKIND* pDescKind,
1025 LPFUNCDESC* ppFuncDesc,
1026 LPVARDESC* ppVarDesc,
1027 ITypeComp** ppTypeComp,
1028 CLEANLOCALSTORAGE* pDummy);
1029 HRESULT CALLBACK ITypeComp_RemoteBindType_Proxy(
1033 ITypeInfo** ppTInfo);
1034 void __RPC_STUB ITypeComp_RemoteBindType_Stub(
1035 struct IRpcStubBuffer* This,
1036 struct IRpcChannelBuffer* pRpcChannelBuffer,
1037 PRPC_MESSAGE pRpcMessage,
1038 DWORD* pdwStubPhase);
1039 HRESULT CALLBACK ITypeComp_BindType_Proxy(
1043 ITypeInfo** ppTInfo,
1044 ITypeComp** ppTComp);
1045 HRESULT __RPC_STUB ITypeComp_BindType_Stub(
1049 ITypeInfo** ppTInfo);
1051 typedef ITypeInfo *LPTYPEINFO;
1053 /*****************************************************************************
1054 * ITypeInfo interface
1056 DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1057 #if defined(__cplusplus) && !defined(CINTERFACE)
1058 struct ITypeInfo : public IUnknown
1060 virtual HRESULT STDMETHODCALLTYPE GetTypeAttr(
1061 TYPEATTR** ppTypeAttr) = 0;
1063 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
1064 ITypeComp** ppTComp) = 0;
1066 virtual HRESULT STDMETHODCALLTYPE GetFuncDesc(
1068 FUNCDESC** ppFuncDesc) = 0;
1070 virtual HRESULT STDMETHODCALLTYPE GetVarDesc(
1072 VARDESC** ppVarDesc) = 0;
1074 virtual HRESULT STDMETHODCALLTYPE GetNames(
1080 virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType(
1082 HREFTYPE* pRefType) = 0;
1084 virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags(
1086 INT* pImplTypeFlags) = 0;
1088 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
1089 LPOLESTR* rgszNames,
1091 MEMBERID* pMemId) = 0;
1093 virtual HRESULT STDMETHODCALLTYPE Invoke(
1097 DISPPARAMS* pDispParams,
1098 VARIANT* pVarResult,
1099 EXCEPINFO* pExcepInfo,
1100 UINT* puArgErr) = 0;
1102 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
1105 BSTR* pBstrDocString,
1106 DWORD* pdwHelpContext,
1107 BSTR* pBstrHelpFile) = 0;
1109 virtual HRESULT STDMETHODCALLTYPE GetDllEntry(
1114 WORD* pwOrdinal) = 0;
1116 virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo(
1118 ITypeInfo** ppTInfo) = 0;
1120 virtual HRESULT STDMETHODCALLTYPE AddressOfMember(
1125 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
1126 IUnknown* pUnkOuter,
1130 virtual HRESULT STDMETHODCALLTYPE GetMops(
1132 BSTR* pBstrMops) = 0;
1134 virtual HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
1138 virtual void STDMETHODCALLTYPE ReleaseTypeAttr(
1139 TYPEATTR* pTypeAttr) = 0;
1141 virtual void STDMETHODCALLTYPE ReleaseFuncDesc(
1142 FUNCDESC* pFuncDesc) = 0;
1144 virtual void STDMETHODCALLTYPE ReleaseVarDesc(
1145 VARDESC* pVarDesc) = 0;
1149 typedef struct ITypeInfoVtbl ITypeInfoVtbl;
1151 const ITypeInfoVtbl* lpVtbl;
1153 struct ITypeInfoVtbl {
1154 ICOM_MSVTABLE_COMPAT_FIELDS
1156 /*** IUnknown methods ***/
1157 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1162 ULONG (STDMETHODCALLTYPE *AddRef)(
1165 ULONG (STDMETHODCALLTYPE *Release)(
1168 /*** ITypeInfo methods ***/
1169 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1171 TYPEATTR** ppTypeAttr);
1173 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1175 ITypeComp** ppTComp);
1177 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1180 FUNCDESC** ppFuncDesc);
1182 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1185 VARDESC** ppVarDesc);
1187 HRESULT (STDMETHODCALLTYPE *GetNames)(
1194 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1197 HREFTYPE* pRefType);
1199 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1202 INT* pImplTypeFlags);
1204 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1206 LPOLESTR* rgszNames,
1210 HRESULT (STDMETHODCALLTYPE *Invoke)(
1215 DISPPARAMS* pDispParams,
1216 VARIANT* pVarResult,
1217 EXCEPINFO* pExcepInfo,
1220 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1224 BSTR* pBstrDocString,
1225 DWORD* pdwHelpContext,
1226 BSTR* pBstrHelpFile);
1228 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1236 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1239 ITypeInfo** ppTInfo);
1241 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1247 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1249 IUnknown* pUnkOuter,
1253 HRESULT (STDMETHODCALLTYPE *GetMops)(
1258 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1263 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1265 TYPEATTR* pTypeAttr);
1267 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1269 FUNCDESC* pFuncDesc);
1271 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1277 /*** IUnknown methods ***/
1278 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1279 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1280 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1281 /*** ITypeInfo methods ***/
1282 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1283 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1284 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1285 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1286 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1287 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1288 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1289 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1290 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1291 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1292 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1293 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1294 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1295 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1296 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1297 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1298 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1299 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1300 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1304 #define ITypeInfo_METHODS \
1305 ICOM_MSVTABLE_COMPAT_FIELDS \
1306 /*** IUnknown methods ***/ \
1307 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1308 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1309 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1310 /*** ITypeInfo methods ***/ \
1311 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1312 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1313 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1314 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1315 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1316 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1317 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1318 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1319 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1320 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1321 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1322 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1323 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1324 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1325 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1326 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1327 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1328 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1329 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
1331 HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
1333 LPTYPEATTR* ppTypeAttr,
1334 CLEANLOCALSTORAGE* pDummy);
1335 void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
1336 struct IRpcStubBuffer* This,
1337 struct IRpcChannelBuffer* pRpcChannelBuffer,
1338 PRPC_MESSAGE pRpcMessage,
1339 DWORD* pdwStubPhase);
1340 HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy(
1342 TYPEATTR** ppTypeAttr);
1343 HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
1345 LPTYPEATTR* ppTypeAttr,
1346 CLEANLOCALSTORAGE* pDummy);
1347 HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy(
1349 ITypeComp** ppTComp);
1350 void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
1351 struct IRpcStubBuffer* This,
1352 struct IRpcChannelBuffer* pRpcChannelBuffer,
1353 PRPC_MESSAGE pRpcMessage,
1354 DWORD* pdwStubPhase);
1355 HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy(
1358 LPFUNCDESC* ppFuncDesc,
1359 CLEANLOCALSTORAGE* pDummy);
1360 void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
1361 struct IRpcStubBuffer* This,
1362 struct IRpcChannelBuffer* pRpcChannelBuffer,
1363 PRPC_MESSAGE pRpcMessage,
1364 DWORD* pdwStubPhase);
1365 HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy(
1368 FUNCDESC** ppFuncDesc);
1369 HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
1372 LPFUNCDESC* ppFuncDesc,
1373 CLEANLOCALSTORAGE* pDummy);
1374 HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy(
1377 LPVARDESC* ppVarDesc,
1378 CLEANLOCALSTORAGE* pDummy);
1379 void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
1380 struct IRpcStubBuffer* This,
1381 struct IRpcChannelBuffer* pRpcChannelBuffer,
1382 PRPC_MESSAGE pRpcMessage,
1383 DWORD* pdwStubPhase);
1384 HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
1387 VARDESC** ppVarDesc);
1388 HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
1391 LPVARDESC* ppVarDesc,
1392 CLEANLOCALSTORAGE* pDummy);
1393 HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy(
1399 void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
1400 struct IRpcStubBuffer* This,
1401 struct IRpcChannelBuffer* pRpcChannelBuffer,
1402 PRPC_MESSAGE pRpcMessage,
1403 DWORD* pdwStubPhase);
1404 HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
1410 HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
1416 HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy(
1419 HREFTYPE* pRefType);
1420 void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
1421 struct IRpcStubBuffer* This,
1422 struct IRpcChannelBuffer* pRpcChannelBuffer,
1423 PRPC_MESSAGE pRpcMessage,
1424 DWORD* pdwStubPhase);
1425 HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy(
1428 INT* pImplTypeFlags);
1429 void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
1430 struct IRpcStubBuffer* This,
1431 struct IRpcChannelBuffer* pRpcChannelBuffer,
1432 PRPC_MESSAGE pRpcMessage,
1433 DWORD* pdwStubPhase);
1434 HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy(
1436 void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
1437 struct IRpcStubBuffer* This,
1438 struct IRpcChannelBuffer* pRpcChannelBuffer,
1439 PRPC_MESSAGE pRpcMessage,
1440 DWORD* pdwStubPhase);
1441 HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
1443 LPOLESTR* rgszNames,
1446 HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
1448 HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy(
1450 void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
1451 struct IRpcStubBuffer* This,
1452 struct IRpcChannelBuffer* pRpcChannelBuffer,
1453 PRPC_MESSAGE pRpcMessage,
1454 DWORD* pdwStubPhase);
1455 HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
1460 DISPPARAMS* pDispParams,
1461 VARIANT* pVarResult,
1462 EXCEPINFO* pExcepInfo,
1464 HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
1466 HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy(
1471 BSTR* pBstrDocString,
1472 DWORD* pdwHelpContext,
1473 BSTR* pBstrHelpFile);
1474 void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
1475 struct IRpcStubBuffer* This,
1476 struct IRpcChannelBuffer* pRpcChannelBuffer,
1477 PRPC_MESSAGE pRpcMessage,
1478 DWORD* pdwStubPhase);
1479 HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
1483 BSTR* pBstrDocString,
1484 DWORD* pdwHelpContext,
1485 BSTR* pBstrHelpFile);
1486 HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
1491 BSTR* pBstrDocString,
1492 DWORD* pdwHelpContext,
1493 BSTR* pBstrHelpFile);
1494 HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy(
1502 void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
1503 struct IRpcStubBuffer* This,
1504 struct IRpcChannelBuffer* pRpcChannelBuffer,
1505 PRPC_MESSAGE pRpcMessage,
1506 DWORD* pdwStubPhase);
1507 HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
1514 HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
1522 HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy(
1525 ITypeInfo** ppTInfo);
1526 void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
1527 struct IRpcStubBuffer* This,
1528 struct IRpcChannelBuffer* pRpcChannelBuffer,
1529 PRPC_MESSAGE pRpcMessage,
1530 DWORD* pdwStubPhase);
1531 HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy(
1533 void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
1534 struct IRpcStubBuffer* This,
1535 struct IRpcChannelBuffer* pRpcChannelBuffer,
1536 PRPC_MESSAGE pRpcMessage,
1537 DWORD* pdwStubPhase);
1538 HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
1543 HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
1545 HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy(
1549 void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
1550 struct IRpcStubBuffer* This,
1551 struct IRpcChannelBuffer* pRpcChannelBuffer,
1552 PRPC_MESSAGE pRpcMessage,
1553 DWORD* pdwStubPhase);
1554 HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
1556 IUnknown* pUnkOuter,
1559 HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
1563 HRESULT CALLBACK ITypeInfo_GetMops_Proxy(
1567 void __RPC_STUB ITypeInfo_GetMops_Stub(
1568 struct IRpcStubBuffer* This,
1569 struct IRpcChannelBuffer* pRpcChannelBuffer,
1570 PRPC_MESSAGE pRpcMessage,
1571 DWORD* pdwStubPhase);
1572 HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1576 void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
1577 struct IRpcStubBuffer* This,
1578 struct IRpcChannelBuffer* pRpcChannelBuffer,
1579 PRPC_MESSAGE pRpcMessage,
1580 DWORD* pdwStubPhase);
1581 HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
1585 HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
1589 HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy(
1591 void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
1592 struct IRpcStubBuffer* This,
1593 struct IRpcChannelBuffer* pRpcChannelBuffer,
1594 PRPC_MESSAGE pRpcMessage,
1595 DWORD* pdwStubPhase);
1596 void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
1598 TYPEATTR* pTypeAttr);
1599 HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
1601 HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy(
1603 void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
1604 struct IRpcStubBuffer* This,
1605 struct IRpcChannelBuffer* pRpcChannelBuffer,
1606 PRPC_MESSAGE pRpcMessage,
1607 DWORD* pdwStubPhase);
1608 void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
1610 FUNCDESC* pFuncDesc);
1611 HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
1613 HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy(
1615 void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
1616 struct IRpcStubBuffer* This,
1617 struct IRpcChannelBuffer* pRpcChannelBuffer,
1618 PRPC_MESSAGE pRpcMessage,
1619 DWORD* pdwStubPhase);
1620 void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
1623 HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
1626 typedef struct ITypeInfo2 ITypeInfo2;
1627 typedef ITypeInfo2 *LPTYPEINFO2;
1629 /*****************************************************************************
1630 * ITypeInfo2 interface
1632 DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1633 #if defined(__cplusplus) && !defined(CINTERFACE)
1634 struct ITypeInfo2 : public ITypeInfo
1636 virtual HRESULT STDMETHODCALLTYPE GetTypeKind(
1637 TYPEKIND* pTypeKind) = 0;
1639 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
1640 ULONG* pTypeFlags) = 0;
1642 virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId(
1645 UINT* pFuncIndex) = 0;
1647 virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId(
1649 UINT* pVarIndex) = 0;
1651 virtual HRESULT STDMETHODCALLTYPE GetCustData(
1653 VARIANT* pVarVal) = 0;
1655 virtual HRESULT STDMETHODCALLTYPE GetFuncCustData(
1658 VARIANT* pVarVal) = 0;
1660 virtual HRESULT STDMETHODCALLTYPE GetParamCustData(
1664 VARIANT* pVarVal) = 0;
1666 virtual HRESULT STDMETHODCALLTYPE GetVarCustData(
1669 VARIANT* pVarVal) = 0;
1671 virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData(
1674 VARIANT* pVarVal) = 0;
1676 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
1679 BSTR* pbstrHelpString,
1680 DWORD* pdwHelpStringContext,
1681 BSTR* pbstrHelpStringDll) = 0;
1683 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
1684 CUSTDATA* pCustData) = 0;
1686 virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData(
1688 CUSTDATA* pCustData) = 0;
1690 virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData(
1693 CUSTDATA* pCustData) = 0;
1695 virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData(
1697 CUSTDATA* pCustData) = 0;
1699 virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData(
1701 CUSTDATA* pCustData) = 0;
1705 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl;
1707 const ITypeInfo2Vtbl* lpVtbl;
1709 struct ITypeInfo2Vtbl {
1710 ICOM_MSVTABLE_COMPAT_FIELDS
1712 /*** IUnknown methods ***/
1713 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1718 ULONG (STDMETHODCALLTYPE *AddRef)(
1721 ULONG (STDMETHODCALLTYPE *Release)(
1724 /*** ITypeInfo methods ***/
1725 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1727 TYPEATTR** ppTypeAttr);
1729 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1731 ITypeComp** ppTComp);
1733 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1736 FUNCDESC** ppFuncDesc);
1738 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1741 VARDESC** ppVarDesc);
1743 HRESULT (STDMETHODCALLTYPE *GetNames)(
1750 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1753 HREFTYPE* pRefType);
1755 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1758 INT* pImplTypeFlags);
1760 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1762 LPOLESTR* rgszNames,
1766 HRESULT (STDMETHODCALLTYPE *Invoke)(
1771 DISPPARAMS* pDispParams,
1772 VARIANT* pVarResult,
1773 EXCEPINFO* pExcepInfo,
1776 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1780 BSTR* pBstrDocString,
1781 DWORD* pdwHelpContext,
1782 BSTR* pBstrHelpFile);
1784 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1792 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1795 ITypeInfo** ppTInfo);
1797 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1803 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1805 IUnknown* pUnkOuter,
1809 HRESULT (STDMETHODCALLTYPE *GetMops)(
1814 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1819 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1821 TYPEATTR* pTypeAttr);
1823 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1825 FUNCDESC* pFuncDesc);
1827 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1831 /*** ITypeInfo2 methods ***/
1832 HRESULT (STDMETHODCALLTYPE *GetTypeKind)(
1834 TYPEKIND* pTypeKind);
1836 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
1840 HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)(
1846 HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)(
1851 HRESULT (STDMETHODCALLTYPE *GetCustData)(
1856 HRESULT (STDMETHODCALLTYPE *GetFuncCustData)(
1862 HRESULT (STDMETHODCALLTYPE *GetParamCustData)(
1869 HRESULT (STDMETHODCALLTYPE *GetVarCustData)(
1875 HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)(
1881 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
1885 BSTR* pbstrHelpString,
1886 DWORD* pdwHelpStringContext,
1887 BSTR* pbstrHelpStringDll);
1889 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
1891 CUSTDATA* pCustData);
1893 HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)(
1896 CUSTDATA* pCustData);
1898 HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)(
1902 CUSTDATA* pCustData);
1904 HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)(
1907 CUSTDATA* pCustData);
1909 HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)(
1912 CUSTDATA* pCustData);
1916 /*** IUnknown methods ***/
1917 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1918 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1919 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1920 /*** ITypeInfo methods ***/
1921 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1922 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1923 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1924 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1925 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1926 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1927 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1928 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1929 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1930 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1931 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1932 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1933 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1934 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1935 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1936 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1937 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1938 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1939 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1940 /*** ITypeInfo2 methods ***/
1941 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1942 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
1943 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
1944 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
1945 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1946 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
1947 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
1948 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
1949 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
1950 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
1951 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
1952 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
1953 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
1954 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
1955 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
1959 #define ITypeInfo2_METHODS \
1960 ICOM_MSVTABLE_COMPAT_FIELDS \
1961 /*** IUnknown methods ***/ \
1962 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1963 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1964 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1965 /*** ITypeInfo methods ***/ \
1966 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1967 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1968 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1969 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1970 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1971 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1972 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1973 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1974 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1975 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1976 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1977 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1978 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1979 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1980 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1981 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1982 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1983 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1984 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
1985 /*** ITypeInfo2 methods ***/ \
1986 STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
1987 STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
1988 STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
1989 STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
1990 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
1991 STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
1992 STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
1993 STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
1994 STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
1995 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
1996 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
1997 STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
1998 STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
1999 STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2000 STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
2002 HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy(
2004 TYPEKIND* pTypeKind);
2005 void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
2006 struct IRpcStubBuffer* This,
2007 struct IRpcChannelBuffer* pRpcChannelBuffer,
2008 PRPC_MESSAGE pRpcMessage,
2009 DWORD* pdwStubPhase);
2010 HRESULT CALLBACK ITypeInfo2_GetTypeFlags_Proxy(
2013 void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
2014 struct IRpcStubBuffer* This,
2015 struct IRpcChannelBuffer* pRpcChannelBuffer,
2016 PRPC_MESSAGE pRpcMessage,
2017 DWORD* pdwStubPhase);
2018 HRESULT CALLBACK ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2023 void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
2024 struct IRpcStubBuffer* This,
2025 struct IRpcChannelBuffer* pRpcChannelBuffer,
2026 PRPC_MESSAGE pRpcMessage,
2027 DWORD* pdwStubPhase);
2028 HRESULT CALLBACK ITypeInfo2_GetVarIndexOfMemId_Proxy(
2032 void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
2033 struct IRpcStubBuffer* This,
2034 struct IRpcChannelBuffer* pRpcChannelBuffer,
2035 PRPC_MESSAGE pRpcMessage,
2036 DWORD* pdwStubPhase);
2037 HRESULT CALLBACK ITypeInfo2_GetCustData_Proxy(
2041 void __RPC_STUB ITypeInfo2_GetCustData_Stub(
2042 struct IRpcStubBuffer* This,
2043 struct IRpcChannelBuffer* pRpcChannelBuffer,
2044 PRPC_MESSAGE pRpcMessage,
2045 DWORD* pdwStubPhase);
2046 HRESULT CALLBACK ITypeInfo2_GetFuncCustData_Proxy(
2051 void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
2052 struct IRpcStubBuffer* This,
2053 struct IRpcChannelBuffer* pRpcChannelBuffer,
2054 PRPC_MESSAGE pRpcMessage,
2055 DWORD* pdwStubPhase);
2056 HRESULT CALLBACK ITypeInfo2_GetParamCustData_Proxy(
2062 void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
2063 struct IRpcStubBuffer* This,
2064 struct IRpcChannelBuffer* pRpcChannelBuffer,
2065 PRPC_MESSAGE pRpcMessage,
2066 DWORD* pdwStubPhase);
2067 HRESULT CALLBACK ITypeInfo2_GetVarCustData_Proxy(
2072 void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
2073 struct IRpcStubBuffer* This,
2074 struct IRpcChannelBuffer* pRpcChannelBuffer,
2075 PRPC_MESSAGE pRpcMessage,
2076 DWORD* pdwStubPhase);
2077 HRESULT CALLBACK ITypeInfo2_GetImplTypeCustData_Proxy(
2082 void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
2083 struct IRpcStubBuffer* This,
2084 struct IRpcChannelBuffer* pRpcChannelBuffer,
2085 PRPC_MESSAGE pRpcMessage,
2086 DWORD* pdwStubPhase);
2087 HRESULT CALLBACK ITypeInfo2_RemoteGetDocumentation2_Proxy(
2092 BSTR* pbstrHelpString,
2093 DWORD* pdwHelpStringContext,
2094 BSTR* pbstrHelpStringDll);
2095 void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
2096 struct IRpcStubBuffer* This,
2097 struct IRpcChannelBuffer* pRpcChannelBuffer,
2098 PRPC_MESSAGE pRpcMessage,
2099 DWORD* pdwStubPhase);
2100 HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy(
2104 BSTR* pbstrHelpString,
2105 DWORD* pdwHelpStringContext,
2106 BSTR* pbstrHelpStringDll);
2107 HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub(
2112 BSTR* pbstrHelpString,
2113 DWORD* pdwHelpStringContext,
2114 BSTR* pbstrHelpStringDll);
2115 HRESULT CALLBACK ITypeInfo2_GetAllCustData_Proxy(
2117 CUSTDATA* pCustData);
2118 void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
2119 struct IRpcStubBuffer* This,
2120 struct IRpcChannelBuffer* pRpcChannelBuffer,
2121 PRPC_MESSAGE pRpcMessage,
2122 DWORD* pdwStubPhase);
2123 HRESULT CALLBACK ITypeInfo2_GetAllFuncCustData_Proxy(
2126 CUSTDATA* pCustData);
2127 void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
2128 struct IRpcStubBuffer* This,
2129 struct IRpcChannelBuffer* pRpcChannelBuffer,
2130 PRPC_MESSAGE pRpcMessage,
2131 DWORD* pdwStubPhase);
2132 HRESULT CALLBACK ITypeInfo2_GetAllParamCustData_Proxy(
2136 CUSTDATA* pCustData);
2137 void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
2138 struct IRpcStubBuffer* This,
2139 struct IRpcChannelBuffer* pRpcChannelBuffer,
2140 PRPC_MESSAGE pRpcMessage,
2141 DWORD* pdwStubPhase);
2142 HRESULT CALLBACK ITypeInfo2_GetAllVarCustData_Proxy(
2145 CUSTDATA* pCustData);
2146 void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
2147 struct IRpcStubBuffer* This,
2148 struct IRpcChannelBuffer* pRpcChannelBuffer,
2149 PRPC_MESSAGE pRpcMessage,
2150 DWORD* pdwStubPhase);
2151 HRESULT CALLBACK ITypeInfo2_GetAllImplTypeCustData_Proxy(
2154 CUSTDATA* pCustData);
2155 void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
2156 struct IRpcStubBuffer* This,
2157 struct IRpcChannelBuffer* pRpcChannelBuffer,
2158 PRPC_MESSAGE pRpcMessage,
2159 DWORD* pdwStubPhase);
2161 typedef ITypeLib *LPTYPELIB;
2163 typedef enum tagSYSKIND {
2169 typedef enum tagLIBFLAGS {
2170 LIBFLAG_FRESTRICTED = 0x1,
2171 LIBFLAG_FCONTROL = 0x2,
2172 LIBFLAG_FHIDDEN = 0x4,
2173 LIBFLAG_FHASDISKIMAGE = 0x8
2176 typedef struct tagTLIBATTR {
2183 } TLIBATTR, *LPTLIBATTR;
2185 /*****************************************************************************
2186 * ITypeLib interface
2188 DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2189 #if defined(__cplusplus) && !defined(CINTERFACE)
2190 struct ITypeLib : public IUnknown
2192 virtual UINT STDMETHODCALLTYPE GetTypeInfoCount(
2195 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
2197 ITypeInfo** ppTInfo) = 0;
2199 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType(
2201 TYPEKIND* pTKind) = 0;
2203 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid(
2205 ITypeInfo** ppTinfo) = 0;
2207 virtual HRESULT STDMETHODCALLTYPE GetLibAttr(
2208 TLIBATTR** ppTLibAttr) = 0;
2210 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
2211 ITypeComp** ppTComp) = 0;
2213 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
2216 BSTR* pBstrDocString,
2217 DWORD* pdwHelpContext,
2218 BSTR* pBstrHelpFile) = 0;
2220 virtual HRESULT STDMETHODCALLTYPE IsName(
2225 virtual HRESULT STDMETHODCALLTYPE FindName(
2228 ITypeInfo** ppTInfo,
2230 USHORT* pcFound) = 0;
2232 virtual void STDMETHODCALLTYPE ReleaseTLibAttr(
2233 TLIBATTR* pTLibAttr) = 0;
2237 typedef struct ITypeLibVtbl ITypeLibVtbl;
2239 const ITypeLibVtbl* lpVtbl;
2241 struct ITypeLibVtbl {
2242 ICOM_MSVTABLE_COMPAT_FIELDS
2244 /*** IUnknown methods ***/
2245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2250 ULONG (STDMETHODCALLTYPE *AddRef)(
2253 ULONG (STDMETHODCALLTYPE *Release)(
2256 /*** ITypeLib methods ***/
2257 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2260 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2263 ITypeInfo** ppTInfo);
2265 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2270 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2273 ITypeInfo** ppTinfo);
2275 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2277 TLIBATTR** ppTLibAttr);
2279 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2281 ITypeComp** ppTComp);
2283 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2287 BSTR* pBstrDocString,
2288 DWORD* pdwHelpContext,
2289 BSTR* pBstrHelpFile);
2291 HRESULT (STDMETHODCALLTYPE *IsName)(
2297 HRESULT (STDMETHODCALLTYPE *FindName)(
2301 ITypeInfo** ppTInfo,
2305 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2307 TLIBATTR* pTLibAttr);
2311 /*** IUnknown methods ***/
2312 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2313 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2314 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2315 /*** ITypeLib methods ***/
2316 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2317 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2318 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2319 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2320 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2321 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2322 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2323 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2324 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2325 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2329 #define ITypeLib_METHODS \
2330 ICOM_MSVTABLE_COMPAT_FIELDS \
2331 /*** IUnknown methods ***/ \
2332 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2333 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2334 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2335 /*** ITypeLib methods ***/ \
2336 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2337 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2338 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2339 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2340 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2341 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2342 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2343 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2344 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2345 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
2347 HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
2350 void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
2351 struct IRpcStubBuffer* This,
2352 struct IRpcChannelBuffer* pRpcChannelBuffer,
2353 PRPC_MESSAGE pRpcMessage,
2354 DWORD* pdwStubPhase);
2355 UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
2357 HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
2360 HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy(
2363 ITypeInfo** ppTInfo);
2364 void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
2365 struct IRpcStubBuffer* This,
2366 struct IRpcChannelBuffer* pRpcChannelBuffer,
2367 PRPC_MESSAGE pRpcMessage,
2368 DWORD* pdwStubPhase);
2369 HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy(
2373 void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
2374 struct IRpcStubBuffer* This,
2375 struct IRpcChannelBuffer* pRpcChannelBuffer,
2376 PRPC_MESSAGE pRpcMessage,
2377 DWORD* pdwStubPhase);
2378 HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy(
2381 ITypeInfo** ppTinfo);
2382 void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
2383 struct IRpcStubBuffer* This,
2384 struct IRpcChannelBuffer* pRpcChannelBuffer,
2385 PRPC_MESSAGE pRpcMessage,
2386 DWORD* pdwStubPhase);
2387 HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy(
2389 LPTLIBATTR* ppTLibAttr,
2390 CLEANLOCALSTORAGE* pDummy);
2391 void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
2392 struct IRpcStubBuffer* This,
2393 struct IRpcChannelBuffer* pRpcChannelBuffer,
2394 PRPC_MESSAGE pRpcMessage,
2395 DWORD* pdwStubPhase);
2396 HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
2398 TLIBATTR** ppTLibAttr);
2399 HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
2401 LPTLIBATTR* ppTLibAttr,
2402 CLEANLOCALSTORAGE* pDummy);
2403 HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy(
2405 ITypeComp** ppTComp);
2406 void __RPC_STUB ITypeLib_GetTypeComp_Stub(
2407 struct IRpcStubBuffer* This,
2408 struct IRpcChannelBuffer* pRpcChannelBuffer,
2409 PRPC_MESSAGE pRpcMessage,
2410 DWORD* pdwStubPhase);
2411 HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy(
2416 BSTR* pBstrDocString,
2417 DWORD* pdwHelpContext,
2418 BSTR* pBstrHelpFile);
2419 void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
2420 struct IRpcStubBuffer* This,
2421 struct IRpcChannelBuffer* pRpcChannelBuffer,
2422 PRPC_MESSAGE pRpcMessage,
2423 DWORD* pdwStubPhase);
2424 HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
2428 BSTR* pBstrDocString,
2429 DWORD* pdwHelpContext,
2430 BSTR* pBstrHelpFile);
2431 HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
2436 BSTR* pBstrDocString,
2437 DWORD* pdwHelpContext,
2438 BSTR* pBstrHelpFile);
2439 HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy(
2444 BSTR* pBstrLibName);
2445 void __RPC_STUB ITypeLib_RemoteIsName_Stub(
2446 struct IRpcStubBuffer* This,
2447 struct IRpcChannelBuffer* pRpcChannelBuffer,
2448 PRPC_MESSAGE pRpcMessage,
2449 DWORD* pdwStubPhase);
2450 HRESULT CALLBACK ITypeLib_IsName_Proxy(
2455 HRESULT __RPC_STUB ITypeLib_IsName_Stub(
2460 BSTR* pBstrLibName);
2461 HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy(
2465 ITypeInfo** ppTInfo,
2468 BSTR* pBstrLibName);
2469 void __RPC_STUB ITypeLib_RemoteFindName_Stub(
2470 struct IRpcStubBuffer* This,
2471 struct IRpcChannelBuffer* pRpcChannelBuffer,
2472 PRPC_MESSAGE pRpcMessage,
2473 DWORD* pdwStubPhase);
2474 HRESULT CALLBACK ITypeLib_FindName_Proxy(
2478 ITypeInfo** ppTInfo,
2481 HRESULT __RPC_STUB ITypeLib_FindName_Stub(
2485 ITypeInfo** ppTInfo,
2488 BSTR* pBstrLibName);
2489 HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy(
2491 void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
2492 struct IRpcStubBuffer* This,
2493 struct IRpcChannelBuffer* pRpcChannelBuffer,
2494 PRPC_MESSAGE pRpcMessage,
2495 DWORD* pdwStubPhase);
2496 void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
2498 TLIBATTR* pTLibAttr);
2499 HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
2502 typedef struct ITypeLib2 ITypeLib2;
2503 typedef ITypeLib2 *LPTYPELIB2;
2505 /*****************************************************************************
2506 * ITypeLib2 interface
2508 DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2509 #if defined(__cplusplus) && !defined(CINTERFACE)
2510 struct ITypeLib2 : public ITypeLib
2512 virtual HRESULT STDMETHODCALLTYPE GetCustData(
2514 VARIANT* pVarVal) = 0;
2516 virtual HRESULT STDMETHODCALLTYPE GetLibStatistics(
2517 ULONG* pcUniqueNames,
2518 ULONG* pcchUniqueNames) = 0;
2520 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
2523 BSTR* pbstrHelpString,
2524 DWORD* pdwHelpStringContext,
2525 BSTR* pbstrHelpStringDll) = 0;
2527 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
2528 CUSTDATA* pCustData) = 0;
2532 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl;
2534 const ITypeLib2Vtbl* lpVtbl;
2536 struct ITypeLib2Vtbl {
2537 ICOM_MSVTABLE_COMPAT_FIELDS
2539 /*** IUnknown methods ***/
2540 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2545 ULONG (STDMETHODCALLTYPE *AddRef)(
2548 ULONG (STDMETHODCALLTYPE *Release)(
2551 /*** ITypeLib methods ***/
2552 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2555 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2558 ITypeInfo** ppTInfo);
2560 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2565 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2568 ITypeInfo** ppTinfo);
2570 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2572 TLIBATTR** ppTLibAttr);
2574 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2576 ITypeComp** ppTComp);
2578 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2582 BSTR* pBstrDocString,
2583 DWORD* pdwHelpContext,
2584 BSTR* pBstrHelpFile);
2586 HRESULT (STDMETHODCALLTYPE *IsName)(
2592 HRESULT (STDMETHODCALLTYPE *FindName)(
2596 ITypeInfo** ppTInfo,
2600 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2602 TLIBATTR* pTLibAttr);
2604 /*** ITypeLib2 methods ***/
2605 HRESULT (STDMETHODCALLTYPE *GetCustData)(
2610 HRESULT (STDMETHODCALLTYPE *GetLibStatistics)(
2612 ULONG* pcUniqueNames,
2613 ULONG* pcchUniqueNames);
2615 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
2619 BSTR* pbstrHelpString,
2620 DWORD* pdwHelpStringContext,
2621 BSTR* pbstrHelpStringDll);
2623 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
2625 CUSTDATA* pCustData);
2629 /*** IUnknown methods ***/
2630 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2631 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2632 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2633 /*** ITypeLib methods ***/
2634 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2635 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2636 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2637 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2638 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2639 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2640 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2641 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2642 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2643 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2644 /*** ITypeLib2 methods ***/
2645 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2646 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2647 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2648 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2652 #define ITypeLib2_METHODS \
2653 ICOM_MSVTABLE_COMPAT_FIELDS \
2654 /*** IUnknown methods ***/ \
2655 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2656 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2657 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2658 /*** ITypeLib methods ***/ \
2659 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2660 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2661 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2662 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2663 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2664 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2665 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2666 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2667 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2668 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
2669 /*** ITypeLib2 methods ***/ \
2670 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2671 STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
2672 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2673 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
2675 HRESULT CALLBACK ITypeLib2_GetCustData_Proxy(
2679 void __RPC_STUB ITypeLib2_GetCustData_Stub(
2680 struct IRpcStubBuffer* This,
2681 struct IRpcChannelBuffer* pRpcChannelBuffer,
2682 PRPC_MESSAGE pRpcMessage,
2683 DWORD* pdwStubPhase);
2684 HRESULT CALLBACK ITypeLib2_RemoteGetLibStatistics_Proxy(
2686 ULONG* pcUniqueNames,
2687 ULONG* pcchUniqueNames);
2688 void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
2689 struct IRpcStubBuffer* This,
2690 struct IRpcChannelBuffer* pRpcChannelBuffer,
2691 PRPC_MESSAGE pRpcMessage,
2692 DWORD* pdwStubPhase);
2693 HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy(
2695 ULONG* pcUniqueNames,
2696 ULONG* pcchUniqueNames);
2697 HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
2699 ULONG* pcUniqueNames,
2700 ULONG* pcchUniqueNames);
2701 HRESULT CALLBACK ITypeLib2_RemoteGetDocumentation2_Proxy(
2706 BSTR* pbstrHelpString,
2707 DWORD* pdwHelpStringContext,
2708 BSTR* pbstrHelpStringDll);
2709 void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
2710 struct IRpcStubBuffer* This,
2711 struct IRpcChannelBuffer* pRpcChannelBuffer,
2712 PRPC_MESSAGE pRpcMessage,
2713 DWORD* pdwStubPhase);
2714 HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
2718 BSTR* pbstrHelpString,
2719 DWORD* pdwHelpStringContext,
2720 BSTR* pbstrHelpStringDll);
2721 HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
2726 BSTR* pbstrHelpString,
2727 DWORD* pdwHelpStringContext,
2728 BSTR* pbstrHelpStringDll);
2729 HRESULT CALLBACK ITypeLib2_GetAllCustData_Proxy(
2731 CUSTDATA* pCustData);
2732 void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
2733 struct IRpcStubBuffer* This,
2734 struct IRpcChannelBuffer* pRpcChannelBuffer,
2735 PRPC_MESSAGE pRpcMessage,
2736 DWORD* pdwStubPhase);
2738 typedef struct ITypeChangeEvents ITypeChangeEvents;
2739 typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;
2741 typedef enum tagCHANGEKIND {
2742 CHANGEKIND_ADDMEMBER,
2743 CHANGEKIND_DELETEMEMBER,
2744 CHANGEKIND_SETNAMES,
2745 CHANGEKIND_SETDOCUMENTATION,
2747 CHANGEKIND_INVALIDATE,
2748 CHANGEKIND_CHANGEFAILED,
2752 /*****************************************************************************
2753 * ITypeChangeEvents interface
2755 DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2756 #if defined(__cplusplus) && !defined(CINTERFACE)
2757 struct ITypeChangeEvents : public IUnknown
2759 virtual HRESULT STDMETHODCALLTYPE RequestTypeChange(
2760 CHANGEKIND changeKind,
2761 ITypeInfo* pTInfoBefore,
2765 virtual HRESULT STDMETHODCALLTYPE AfterTypeChange(
2766 CHANGEKIND changeKind,
2767 ITypeInfo* pTInfoAfter,
2768 LPOLESTR pStrName) = 0;
2772 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl;
2773 struct ITypeChangeEvents {
2774 const ITypeChangeEventsVtbl* lpVtbl;
2776 struct ITypeChangeEventsVtbl {
2777 ICOM_MSVTABLE_COMPAT_FIELDS
2779 /*** IUnknown methods ***/
2780 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2781 ITypeChangeEvents* This,
2785 ULONG (STDMETHODCALLTYPE *AddRef)(
2786 ITypeChangeEvents* This);
2788 ULONG (STDMETHODCALLTYPE *Release)(
2789 ITypeChangeEvents* This);
2791 /*** ITypeChangeEvents methods ***/
2792 HRESULT (STDMETHODCALLTYPE *RequestTypeChange)(
2793 ITypeChangeEvents* This,
2794 CHANGEKIND changeKind,
2795 ITypeInfo* pTInfoBefore,
2799 HRESULT (STDMETHODCALLTYPE *AfterTypeChange)(
2800 ITypeChangeEvents* This,
2801 CHANGEKIND changeKind,
2802 ITypeInfo* pTInfoAfter,
2807 /*** IUnknown methods ***/
2808 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2809 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2810 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2811 /*** ITypeChangeEvents methods ***/
2812 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2813 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2817 #define ITypeChangeEvents_METHODS \
2818 ICOM_MSVTABLE_COMPAT_FIELDS \
2819 /*** IUnknown methods ***/ \
2820 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2821 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2822 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2823 /*** ITypeChangeEvents methods ***/ \
2824 STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
2825 STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
2827 HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy(
2828 ITypeChangeEvents* This,
2829 CHANGEKIND changeKind,
2830 ITypeInfo* pTInfoBefore,
2833 void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
2834 struct IRpcStubBuffer* This,
2835 struct IRpcChannelBuffer* pRpcChannelBuffer,
2836 PRPC_MESSAGE pRpcMessage,
2837 DWORD* pdwStubPhase);
2838 HRESULT CALLBACK ITypeChangeEvents_AfterTypeChange_Proxy(
2839 ITypeChangeEvents* This,
2840 CHANGEKIND changeKind,
2841 ITypeInfo* pTInfoAfter,
2843 void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
2844 struct IRpcStubBuffer* This,
2845 struct IRpcChannelBuffer* pRpcChannelBuffer,
2846 PRPC_MESSAGE pRpcMessage,
2847 DWORD* pdwStubPhase);
2849 typedef struct IErrorInfo IErrorInfo;
2850 typedef IErrorInfo *LPERRORINFO;
2852 /*****************************************************************************
2853 * IErrorInfo interface
2855 DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2856 #if defined(__cplusplus) && !defined(CINTERFACE)
2857 struct IErrorInfo : public IUnknown
2859 virtual HRESULT STDMETHODCALLTYPE GetGUID(
2862 virtual HRESULT STDMETHODCALLTYPE GetSource(
2863 BSTR* pBstrSource) = 0;
2865 virtual HRESULT STDMETHODCALLTYPE GetDescription(
2866 BSTR* pBstrDescription) = 0;
2868 virtual HRESULT STDMETHODCALLTYPE GetHelpFile(
2869 BSTR* pBstrHelpFile) = 0;
2871 virtual HRESULT STDMETHODCALLTYPE GetHelpContext(
2872 DWORD* pdwHelpContext) = 0;
2876 typedef struct IErrorInfoVtbl IErrorInfoVtbl;
2878 const IErrorInfoVtbl* lpVtbl;
2880 struct IErrorInfoVtbl {
2881 ICOM_MSVTABLE_COMPAT_FIELDS
2883 /*** IUnknown methods ***/
2884 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2889 ULONG (STDMETHODCALLTYPE *AddRef)(
2892 ULONG (STDMETHODCALLTYPE *Release)(
2895 /*** IErrorInfo methods ***/
2896 HRESULT (STDMETHODCALLTYPE *GetGUID)(
2900 HRESULT (STDMETHODCALLTYPE *GetSource)(
2904 HRESULT (STDMETHODCALLTYPE *GetDescription)(
2906 BSTR* pBstrDescription);
2908 HRESULT (STDMETHODCALLTYPE *GetHelpFile)(
2910 BSTR* pBstrHelpFile);
2912 HRESULT (STDMETHODCALLTYPE *GetHelpContext)(
2914 DWORD* pdwHelpContext);
2918 /*** IUnknown methods ***/
2919 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2920 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
2921 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
2922 /*** IErrorInfo methods ***/
2923 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
2924 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
2925 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
2926 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
2927 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
2931 #define IErrorInfo_METHODS \
2932 ICOM_MSVTABLE_COMPAT_FIELDS \
2933 /*** IUnknown methods ***/ \
2934 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2935 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2936 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2937 /*** IErrorInfo methods ***/ \
2938 STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
2939 STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
2940 STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
2941 STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
2942 STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
2944 HRESULT CALLBACK IErrorInfo_GetGUID_Proxy(
2947 void __RPC_STUB IErrorInfo_GetGUID_Stub(
2948 struct IRpcStubBuffer* This,
2949 struct IRpcChannelBuffer* pRpcChannelBuffer,
2950 PRPC_MESSAGE pRpcMessage,
2951 DWORD* pdwStubPhase);
2952 HRESULT CALLBACK IErrorInfo_GetSource_Proxy(
2955 void __RPC_STUB IErrorInfo_GetSource_Stub(
2956 struct IRpcStubBuffer* This,
2957 struct IRpcChannelBuffer* pRpcChannelBuffer,
2958 PRPC_MESSAGE pRpcMessage,
2959 DWORD* pdwStubPhase);
2960 HRESULT CALLBACK IErrorInfo_GetDescription_Proxy(
2962 BSTR* pBstrDescription);
2963 void __RPC_STUB IErrorInfo_GetDescription_Stub(
2964 struct IRpcStubBuffer* This,
2965 struct IRpcChannelBuffer* pRpcChannelBuffer,
2966 PRPC_MESSAGE pRpcMessage,
2967 DWORD* pdwStubPhase);
2968 HRESULT CALLBACK IErrorInfo_GetHelpFile_Proxy(
2970 BSTR* pBstrHelpFile);
2971 void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
2972 struct IRpcStubBuffer* This,
2973 struct IRpcChannelBuffer* pRpcChannelBuffer,
2974 PRPC_MESSAGE pRpcMessage,
2975 DWORD* pdwStubPhase);
2976 HRESULT CALLBACK IErrorInfo_GetHelpContext_Proxy(
2978 DWORD* pdwHelpContext);
2979 void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
2980 struct IRpcStubBuffer* This,
2981 struct IRpcChannelBuffer* pRpcChannelBuffer,
2982 PRPC_MESSAGE pRpcMessage,
2983 DWORD* pdwStubPhase);
2985 typedef struct ICreateErrorInfo ICreateErrorInfo;
2986 typedef ICreateErrorInfo *LPCREATEERRORINFO;
2988 /*****************************************************************************
2989 * ICreateErrorInfo interface
2991 DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2992 #if defined(__cplusplus) && !defined(CINTERFACE)
2993 struct ICreateErrorInfo : public IUnknown
2995 virtual HRESULT STDMETHODCALLTYPE SetGUID(
2998 virtual HRESULT STDMETHODCALLTYPE SetSource(
2999 LPOLESTR szSource) = 0;
3001 virtual HRESULT STDMETHODCALLTYPE SetDescription(
3002 LPOLESTR szDescription) = 0;
3004 virtual HRESULT STDMETHODCALLTYPE SetHelpFile(
3005 LPOLESTR szHelpFile) = 0;
3007 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
3008 DWORD dwHelpContext) = 0;
3012 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl;
3013 struct ICreateErrorInfo {
3014 const ICreateErrorInfoVtbl* lpVtbl;
3016 struct ICreateErrorInfoVtbl {
3017 ICOM_MSVTABLE_COMPAT_FIELDS
3019 /*** IUnknown methods ***/
3020 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3021 ICreateErrorInfo* This,
3025 ULONG (STDMETHODCALLTYPE *AddRef)(
3026 ICreateErrorInfo* This);
3028 ULONG (STDMETHODCALLTYPE *Release)(
3029 ICreateErrorInfo* This);
3031 /*** ICreateErrorInfo methods ***/
3032 HRESULT (STDMETHODCALLTYPE *SetGUID)(
3033 ICreateErrorInfo* This,
3036 HRESULT (STDMETHODCALLTYPE *SetSource)(
3037 ICreateErrorInfo* This,
3040 HRESULT (STDMETHODCALLTYPE *SetDescription)(
3041 ICreateErrorInfo* This,
3042 LPOLESTR szDescription);
3044 HRESULT (STDMETHODCALLTYPE *SetHelpFile)(
3045 ICreateErrorInfo* This,
3046 LPOLESTR szHelpFile);
3048 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
3049 ICreateErrorInfo* This,
3050 DWORD dwHelpContext);
3054 /*** IUnknown methods ***/
3055 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3056 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3057 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3058 /*** ICreateErrorInfo methods ***/
3059 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3060 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3061 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3062 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3063 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3067 #define ICreateErrorInfo_METHODS \
3068 ICOM_MSVTABLE_COMPAT_FIELDS \
3069 /*** IUnknown methods ***/ \
3070 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3071 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3072 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3073 /*** ICreateErrorInfo methods ***/ \
3074 STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
3075 STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
3076 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
3077 STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
3078 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
3080 HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy(
3081 ICreateErrorInfo* This,
3083 void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
3084 struct IRpcStubBuffer* This,
3085 struct IRpcChannelBuffer* pRpcChannelBuffer,
3086 PRPC_MESSAGE pRpcMessage,
3087 DWORD* pdwStubPhase);
3088 HRESULT CALLBACK ICreateErrorInfo_SetSource_Proxy(
3089 ICreateErrorInfo* This,
3091 void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
3092 struct IRpcStubBuffer* This,
3093 struct IRpcChannelBuffer* pRpcChannelBuffer,
3094 PRPC_MESSAGE pRpcMessage,
3095 DWORD* pdwStubPhase);
3096 HRESULT CALLBACK ICreateErrorInfo_SetDescription_Proxy(
3097 ICreateErrorInfo* This,
3098 LPOLESTR szDescription);
3099 void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
3100 struct IRpcStubBuffer* This,
3101 struct IRpcChannelBuffer* pRpcChannelBuffer,
3102 PRPC_MESSAGE pRpcMessage,
3103 DWORD* pdwStubPhase);
3104 HRESULT CALLBACK ICreateErrorInfo_SetHelpFile_Proxy(
3105 ICreateErrorInfo* This,
3106 LPOLESTR szHelpFile);
3107 void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
3108 struct IRpcStubBuffer* This,
3109 struct IRpcChannelBuffer* pRpcChannelBuffer,
3110 PRPC_MESSAGE pRpcMessage,
3111 DWORD* pdwStubPhase);
3112 HRESULT CALLBACK ICreateErrorInfo_SetHelpContext_Proxy(
3113 ICreateErrorInfo* This,
3114 DWORD dwHelpContext);
3115 void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
3116 struct IRpcStubBuffer* This,
3117 struct IRpcChannelBuffer* pRpcChannelBuffer,
3118 PRPC_MESSAGE pRpcMessage,
3119 DWORD* pdwStubPhase);
3121 typedef struct ISupportErrorInfo ISupportErrorInfo;
3122 typedef ISupportErrorInfo *LPSUPPORTERRORINFO;
3124 /*****************************************************************************
3125 * ISupportErrorInfo interface
3127 DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3128 #if defined(__cplusplus) && !defined(CINTERFACE)
3129 struct ISupportErrorInfo : public IUnknown
3131 virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(
3136 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl;
3137 struct ISupportErrorInfo {
3138 const ISupportErrorInfoVtbl* lpVtbl;
3140 struct ISupportErrorInfoVtbl {
3141 ICOM_MSVTABLE_COMPAT_FIELDS
3143 /*** IUnknown methods ***/
3144 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3145 ISupportErrorInfo* This,
3149 ULONG (STDMETHODCALLTYPE *AddRef)(
3150 ISupportErrorInfo* This);
3152 ULONG (STDMETHODCALLTYPE *Release)(
3153 ISupportErrorInfo* This);
3155 /*** ISupportErrorInfo methods ***/
3156 HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)(
3157 ISupportErrorInfo* This,
3162 /*** IUnknown methods ***/
3163 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3164 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3165 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3166 /*** ISupportErrorInfo methods ***/
3167 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3171 #define ISupportErrorInfo_METHODS \
3172 ICOM_MSVTABLE_COMPAT_FIELDS \
3173 /*** IUnknown methods ***/ \
3174 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3175 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3176 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3177 /*** ISupportErrorInfo methods ***/ \
3178 STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
3180 HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3181 ISupportErrorInfo* This,
3183 void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3184 struct IRpcStubBuffer* This,
3185 struct IRpcChannelBuffer* pRpcChannelBuffer,
3186 PRPC_MESSAGE pRpcMessage,
3187 DWORD* pdwStubPhase);
3189 typedef struct ITypeFactory ITypeFactory;
3190 /*****************************************************************************
3191 * ITypeFactory interface
3193 DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3194 #if defined(__cplusplus) && !defined(CINTERFACE)
3195 struct ITypeFactory : public IUnknown
3197 virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo(
3198 ITypeInfo* pTypeInfo,
3200 IUnknown** ppv) = 0;
3204 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl;
3205 struct ITypeFactory {
3206 const ITypeFactoryVtbl* lpVtbl;
3208 struct ITypeFactoryVtbl {
3209 ICOM_MSVTABLE_COMPAT_FIELDS
3211 /*** IUnknown methods ***/
3212 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3217 ULONG (STDMETHODCALLTYPE *AddRef)(
3218 ITypeFactory* This);
3220 ULONG (STDMETHODCALLTYPE *Release)(
3221 ITypeFactory* This);
3223 /*** ITypeFactory methods ***/
3224 HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)(
3226 ITypeInfo* pTypeInfo,
3232 /*** IUnknown methods ***/
3233 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3234 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3235 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3236 /*** ITypeFactory methods ***/
3237 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3241 #define ITypeFactory_METHODS \
3242 ICOM_MSVTABLE_COMPAT_FIELDS \
3243 /*** IUnknown methods ***/ \
3244 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3245 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3246 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3247 /*** ITypeFactory methods ***/ \
3248 STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
3250 HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy(
3252 ITypeInfo* pTypeInfo,
3255 void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
3256 struct IRpcStubBuffer* This,
3257 struct IRpcChannelBuffer* pRpcChannelBuffer,
3258 PRPC_MESSAGE pRpcMessage,
3259 DWORD* pdwStubPhase);
3261 typedef struct ITypeMarshal ITypeMarshal;
3262 /*****************************************************************************
3263 * ITypeMarshal interface
3265 DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3266 #if defined(__cplusplus) && !defined(CINTERFACE)
3267 struct ITypeMarshal : public IUnknown
3269 virtual HRESULT STDMETHODCALLTYPE Size(
3271 DWORD dwDestContext,
3272 PVOID pvDestContext,
3275 virtual HRESULT STDMETHODCALLTYPE Marshal(
3277 DWORD dwDestContext,
3278 PVOID pvDestContext,
3279 ULONG cbBufferLength,
3281 ULONG* pcbWritten) = 0;
3283 virtual HRESULT STDMETHODCALLTYPE Unmarshal(
3286 ULONG cbBufferLength,
3288 ULONG* pcbRead) = 0;
3290 virtual HRESULT STDMETHODCALLTYPE Free(
3295 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl;
3296 struct ITypeMarshal {
3297 const ITypeMarshalVtbl* lpVtbl;
3299 struct ITypeMarshalVtbl {
3300 ICOM_MSVTABLE_COMPAT_FIELDS
3302 /*** IUnknown methods ***/
3303 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3308 ULONG (STDMETHODCALLTYPE *AddRef)(
3309 ITypeMarshal* This);
3311 ULONG (STDMETHODCALLTYPE *Release)(
3312 ITypeMarshal* This);
3314 /*** ITypeMarshal methods ***/
3315 HRESULT (STDMETHODCALLTYPE *Size)(
3318 DWORD dwDestContext,
3319 PVOID pvDestContext,
3322 HRESULT (STDMETHODCALLTYPE *Marshal)(
3325 DWORD dwDestContext,
3326 PVOID pvDestContext,
3327 ULONG cbBufferLength,
3331 HRESULT (STDMETHODCALLTYPE *Unmarshal)(
3335 ULONG cbBufferLength,
3339 HRESULT (STDMETHODCALLTYPE *Free)(
3345 /*** IUnknown methods ***/
3346 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3347 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3348 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3349 /*** ITypeMarshal methods ***/
3350 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3351 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3352 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3353 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3357 #define ITypeMarshal_METHODS \
3358 ICOM_MSVTABLE_COMPAT_FIELDS \
3359 /*** IUnknown methods ***/ \
3360 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3361 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3362 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3363 /*** ITypeMarshal methods ***/ \
3364 STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
3365 STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
3366 STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
3367 STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
3369 HRESULT CALLBACK ITypeMarshal_Size_Proxy(
3372 DWORD dwDestContext,
3373 PVOID pvDestContext,
3375 void __RPC_STUB ITypeMarshal_Size_Stub(
3376 struct IRpcStubBuffer* This,
3377 struct IRpcChannelBuffer* pRpcChannelBuffer,
3378 PRPC_MESSAGE pRpcMessage,
3379 DWORD* pdwStubPhase);
3380 HRESULT CALLBACK ITypeMarshal_Marshal_Proxy(
3383 DWORD dwDestContext,
3384 PVOID pvDestContext,
3385 ULONG cbBufferLength,
3388 void __RPC_STUB ITypeMarshal_Marshal_Stub(
3389 struct IRpcStubBuffer* This,
3390 struct IRpcChannelBuffer* pRpcChannelBuffer,
3391 PRPC_MESSAGE pRpcMessage,
3392 DWORD* pdwStubPhase);
3393 HRESULT CALLBACK ITypeMarshal_Unmarshal_Proxy(
3397 ULONG cbBufferLength,
3400 void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
3401 struct IRpcStubBuffer* This,
3402 struct IRpcChannelBuffer* pRpcChannelBuffer,
3403 PRPC_MESSAGE pRpcMessage,
3404 DWORD* pdwStubPhase);
3405 HRESULT CALLBACK ITypeMarshal_Free_Proxy(
3408 void __RPC_STUB ITypeMarshal_Free_Stub(
3409 struct IRpcStubBuffer* This,
3410 struct IRpcChannelBuffer* pRpcChannelBuffer,
3411 PRPC_MESSAGE pRpcMessage,
3412 DWORD* pdwStubPhase);
3414 typedef IRecordInfo *LPRECORDINFO;
3416 /*****************************************************************************
3417 * IRecordInfo interface
3419 DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3420 #if defined(__cplusplus) && !defined(CINTERFACE)
3421 struct IRecordInfo : public IUnknown
3423 virtual HRESULT STDMETHODCALLTYPE RecordInit(
3426 virtual HRESULT STDMETHODCALLTYPE RecordClear(
3427 PVOID pvExisting) = 0;
3429 virtual HRESULT STDMETHODCALLTYPE RecordCopy(
3433 virtual HRESULT STDMETHODCALLTYPE GetGuid(
3436 virtual HRESULT STDMETHODCALLTYPE GetName(
3437 BSTR* pbstrName) = 0;
3439 virtual HRESULT STDMETHODCALLTYPE GetSize(
3440 ULONG* pcbSize) = 0;
3442 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
3443 ITypeInfo** ppTypeInfo) = 0;
3445 virtual HRESULT STDMETHODCALLTYPE GetField(
3447 LPCOLESTR szFieldName,
3448 VARIANT* pvarField) = 0;
3450 virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy(
3452 LPCOLESTR szFieldName,
3454 PVOID* ppvDataCArray) = 0;
3456 virtual HRESULT STDMETHODCALLTYPE PutField(
3459 LPCOLESTR szFieldName,
3460 VARIANT* pvarField) = 0;
3462 virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy(
3465 LPCOLESTR szFieldName,
3466 VARIANT* pvarField) = 0;
3468 virtual HRESULT STDMETHODCALLTYPE GetFieldNames(
3470 BSTR* rgBstrNames) = 0;
3472 virtual BOOL STDMETHODCALLTYPE IsMatchingType(
3473 IRecordInfo* pRecordInfo) = 0;
3475 virtual PVOID STDMETHODCALLTYPE RecordCreate(
3478 virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy(
3480 PVOID* ppvDest) = 0;
3482 virtual HRESULT STDMETHODCALLTYPE RecordDestroy(
3483 PVOID pvRecord) = 0;
3487 typedef struct IRecordInfoVtbl IRecordInfoVtbl;
3488 struct IRecordInfo {
3489 const IRecordInfoVtbl* lpVtbl;
3491 struct IRecordInfoVtbl {
3492 ICOM_MSVTABLE_COMPAT_FIELDS
3494 /*** IUnknown methods ***/
3495 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3500 ULONG (STDMETHODCALLTYPE *AddRef)(
3503 ULONG (STDMETHODCALLTYPE *Release)(
3506 /*** IRecordInfo methods ***/
3507 HRESULT (STDMETHODCALLTYPE *RecordInit)(
3511 HRESULT (STDMETHODCALLTYPE *RecordClear)(
3515 HRESULT (STDMETHODCALLTYPE *RecordCopy)(
3520 HRESULT (STDMETHODCALLTYPE *GetGuid)(
3524 HRESULT (STDMETHODCALLTYPE *GetName)(
3528 HRESULT (STDMETHODCALLTYPE *GetSize)(
3532 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3534 ITypeInfo** ppTypeInfo);
3536 HRESULT (STDMETHODCALLTYPE *GetField)(
3539 LPCOLESTR szFieldName,
3540 VARIANT* pvarField);
3542 HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)(
3545 LPCOLESTR szFieldName,
3547 PVOID* ppvDataCArray);
3549 HRESULT (STDMETHODCALLTYPE *PutField)(
3553 LPCOLESTR szFieldName,
3554 VARIANT* pvarField);
3556 HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)(
3560 LPCOLESTR szFieldName,
3561 VARIANT* pvarField);
3563 HRESULT (STDMETHODCALLTYPE *GetFieldNames)(
3568 BOOL (STDMETHODCALLTYPE *IsMatchingType)(
3570 IRecordInfo* pRecordInfo);
3572 PVOID (STDMETHODCALLTYPE *RecordCreate)(
3575 HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)(
3580 HRESULT (STDMETHODCALLTYPE *RecordDestroy)(
3586 /*** IUnknown methods ***/
3587 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3588 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3589 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3590 /*** IRecordInfo methods ***/
3591 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3592 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3593 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3594 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3595 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3596 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3597 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3598 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3599 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3600 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3601 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3602 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3603 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3604 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3605 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3606 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3610 #define IRecordInfo_METHODS \
3611 ICOM_MSVTABLE_COMPAT_FIELDS \
3612 /*** IUnknown methods ***/ \
3613 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3614 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3615 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3616 /*** IRecordInfo methods ***/ \
3617 STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
3618 STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
3619 STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
3620 STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
3621 STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
3622 STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
3623 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
3624 STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3625 STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
3626 STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3627 STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3628 STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
3629 STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
3630 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
3631 STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
3632 STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
3634 HRESULT CALLBACK IRecordInfo_RecordInit_Proxy(
3637 void __RPC_STUB IRecordInfo_RecordInit_Stub(
3638 struct IRpcStubBuffer* This,
3639 struct IRpcChannelBuffer* pRpcChannelBuffer,
3640 PRPC_MESSAGE pRpcMessage,
3641 DWORD* pdwStubPhase);
3642 HRESULT CALLBACK IRecordInfo_RecordClear_Proxy(
3645 void __RPC_STUB IRecordInfo_RecordClear_Stub(
3646 struct IRpcStubBuffer* This,
3647 struct IRpcChannelBuffer* pRpcChannelBuffer,
3648 PRPC_MESSAGE pRpcMessage,
3649 DWORD* pdwStubPhase);
3650 HRESULT CALLBACK IRecordInfo_RecordCopy_Proxy(
3654 void __RPC_STUB IRecordInfo_RecordCopy_Stub(
3655 struct IRpcStubBuffer* This,
3656 struct IRpcChannelBuffer* pRpcChannelBuffer,
3657 PRPC_MESSAGE pRpcMessage,
3658 DWORD* pdwStubPhase);
3659 HRESULT CALLBACK IRecordInfo_GetGuid_Proxy(
3662 void __RPC_STUB IRecordInfo_GetGuid_Stub(
3663 struct IRpcStubBuffer* This,
3664 struct IRpcChannelBuffer* pRpcChannelBuffer,
3665 PRPC_MESSAGE pRpcMessage,
3666 DWORD* pdwStubPhase);
3667 HRESULT CALLBACK IRecordInfo_GetName_Proxy(
3670 void __RPC_STUB IRecordInfo_GetName_Stub(
3671 struct IRpcStubBuffer* This,
3672 struct IRpcChannelBuffer* pRpcChannelBuffer,
3673 PRPC_MESSAGE pRpcMessage,
3674 DWORD* pdwStubPhase);
3675 HRESULT CALLBACK IRecordInfo_GetSize_Proxy(
3678 void __RPC_STUB IRecordInfo_GetSize_Stub(
3679 struct IRpcStubBuffer* This,
3680 struct IRpcChannelBuffer* pRpcChannelBuffer,
3681 PRPC_MESSAGE pRpcMessage,
3682 DWORD* pdwStubPhase);
3683 HRESULT CALLBACK IRecordInfo_GetTypeInfo_Proxy(
3685 ITypeInfo** ppTypeInfo);
3686 void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
3687 struct IRpcStubBuffer* This,
3688 struct IRpcChannelBuffer* pRpcChannelBuffer,
3689 PRPC_MESSAGE pRpcMessage,
3690 DWORD* pdwStubPhase);
3691 HRESULT CALLBACK IRecordInfo_GetField_Proxy(
3694 LPCOLESTR szFieldName,
3695 VARIANT* pvarField);
3696 void __RPC_STUB IRecordInfo_GetField_Stub(
3697 struct IRpcStubBuffer* This,
3698 struct IRpcChannelBuffer* pRpcChannelBuffer,
3699 PRPC_MESSAGE pRpcMessage,
3700 DWORD* pdwStubPhase);
3701 HRESULT CALLBACK IRecordInfo_GetFieldNoCopy_Proxy(
3704 LPCOLESTR szFieldName,
3706 PVOID* ppvDataCArray);
3707 void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
3708 struct IRpcStubBuffer* This,
3709 struct IRpcChannelBuffer* pRpcChannelBuffer,
3710 PRPC_MESSAGE pRpcMessage,
3711 DWORD* pdwStubPhase);
3712 HRESULT CALLBACK IRecordInfo_PutField_Proxy(
3716 LPCOLESTR szFieldName,
3717 VARIANT* pvarField);
3718 void __RPC_STUB IRecordInfo_PutField_Stub(
3719 struct IRpcStubBuffer* This,
3720 struct IRpcChannelBuffer* pRpcChannelBuffer,
3721 PRPC_MESSAGE pRpcMessage,
3722 DWORD* pdwStubPhase);
3723 HRESULT CALLBACK IRecordInfo_PutFieldNoCopy_Proxy(
3727 LPCOLESTR szFieldName,
3728 VARIANT* pvarField);
3729 void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
3730 struct IRpcStubBuffer* This,
3731 struct IRpcChannelBuffer* pRpcChannelBuffer,
3732 PRPC_MESSAGE pRpcMessage,
3733 DWORD* pdwStubPhase);
3734 HRESULT CALLBACK IRecordInfo_GetFieldNames_Proxy(
3738 void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
3739 struct IRpcStubBuffer* This,
3740 struct IRpcChannelBuffer* pRpcChannelBuffer,
3741 PRPC_MESSAGE pRpcMessage,
3742 DWORD* pdwStubPhase);
3743 BOOL CALLBACK IRecordInfo_IsMatchingType_Proxy(
3745 IRecordInfo* pRecordInfo);
3746 void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
3747 struct IRpcStubBuffer* This,
3748 struct IRpcChannelBuffer* pRpcChannelBuffer,
3749 PRPC_MESSAGE pRpcMessage,
3750 DWORD* pdwStubPhase);
3751 PVOID CALLBACK IRecordInfo_RecordCreate_Proxy(
3753 void __RPC_STUB IRecordInfo_RecordCreate_Stub(
3754 struct IRpcStubBuffer* This,
3755 struct IRpcChannelBuffer* pRpcChannelBuffer,
3756 PRPC_MESSAGE pRpcMessage,
3757 DWORD* pdwStubPhase);
3758 HRESULT CALLBACK IRecordInfo_RecordCreateCopy_Proxy(
3762 void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
3763 struct IRpcStubBuffer* This,
3764 struct IRpcChannelBuffer* pRpcChannelBuffer,
3765 PRPC_MESSAGE pRpcMessage,
3766 DWORD* pdwStubPhase);
3767 HRESULT CALLBACK IRecordInfo_RecordDestroy_Proxy(
3770 void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
3771 struct IRpcStubBuffer* This,
3772 struct IRpcChannelBuffer* pRpcChannelBuffer,
3773 PRPC_MESSAGE pRpcMessage,
3774 DWORD* pdwStubPhase);
3776 typedef struct ICreateTypeInfo ICreateTypeInfo;
3777 typedef ICreateTypeInfo *LPCREATETYPEINFO;
3779 /*****************************************************************************
3780 * ICreateTypeInfo interface
3782 DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3783 #if defined(__cplusplus) && !defined(CINTERFACE)
3784 struct ICreateTypeInfo : public IUnknown
3786 virtual HRESULT STDMETHODCALLTYPE SetGuid(
3789 virtual HRESULT STDMETHODCALLTYPE SetTypeFlags(
3790 UINT uTypeFlags) = 0;
3792 virtual HRESULT STDMETHODCALLTYPE SetDocString(
3793 LPOLESTR pStrDoc) = 0;
3795 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
3796 DWORD dwHelpContext) = 0;
3798 virtual HRESULT STDMETHODCALLTYPE SetVersion(
3800 WORD wMinorVerNum) = 0;
3802 virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo(
3804 HREFTYPE* phRefType) = 0;
3806 virtual HRESULT STDMETHODCALLTYPE AddFuncDesc(
3808 FUNCDESC* pFuncDesc) = 0;
3810 virtual HRESULT STDMETHODCALLTYPE AddImplType(
3812 HREFTYPE hRefType) = 0;
3814 virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags(
3816 INT implTypeFlags) = 0;
3818 virtual HRESULT STDMETHODCALLTYPE SetAlignment(
3819 WORD cbAlignment) = 0;
3821 virtual HRESULT STDMETHODCALLTYPE SetSchema(
3822 LPOLESTR pStrSchema) = 0;
3824 virtual HRESULT STDMETHODCALLTYPE AddVarDesc(
3826 VARDESC* pVarDesc) = 0;
3828 virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames(
3830 LPOLESTR* rgszNames,
3833 virtual HRESULT STDMETHODCALLTYPE SetVarName(
3835 LPOLESTR szName) = 0;
3837 virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias(
3838 TYPEDESC* pTDescAlias) = 0;
3840 virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry(
3843 LPOLESTR szProcName) = 0;
3845 virtual HRESULT STDMETHODCALLTYPE SetFuncDocString(
3847 LPOLESTR szDocString) = 0;
3849 virtual HRESULT STDMETHODCALLTYPE SetVarDocString(
3851 LPOLESTR szDocString) = 0;
3853 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext(
3855 DWORD dwHelpContext) = 0;
3857 virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext(
3859 DWORD dwHelpContext) = 0;
3861 virtual HRESULT STDMETHODCALLTYPE SetMops(
3865 virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc(
3866 IDLDESC* pIdlDesc) = 0;
3868 virtual HRESULT STDMETHODCALLTYPE LayOut(
3873 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl;
3874 struct ICreateTypeInfo {
3875 const ICreateTypeInfoVtbl* lpVtbl;
3877 struct ICreateTypeInfoVtbl {
3878 ICOM_MSVTABLE_COMPAT_FIELDS
3880 /*** IUnknown methods ***/
3881 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3882 ICreateTypeInfo* This,
3886 ULONG (STDMETHODCALLTYPE *AddRef)(
3887 ICreateTypeInfo* This);
3889 ULONG (STDMETHODCALLTYPE *Release)(
3890 ICreateTypeInfo* This);
3892 /*** ICreateTypeInfo methods ***/
3893 HRESULT (STDMETHODCALLTYPE *SetGuid)(
3894 ICreateTypeInfo* This,
3897 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
3898 ICreateTypeInfo* This,
3901 HRESULT (STDMETHODCALLTYPE *SetDocString)(
3902 ICreateTypeInfo* This,
3905 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
3906 ICreateTypeInfo* This,
3907 DWORD dwHelpContext);
3909 HRESULT (STDMETHODCALLTYPE *SetVersion)(
3910 ICreateTypeInfo* This,
3914 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
3915 ICreateTypeInfo* This,
3917 HREFTYPE* phRefType);
3919 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
3920 ICreateTypeInfo* This,
3922 FUNCDESC* pFuncDesc);
3924 HRESULT (STDMETHODCALLTYPE *AddImplType)(
3925 ICreateTypeInfo* This,
3929 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
3930 ICreateTypeInfo* This,
3934 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
3935 ICreateTypeInfo* This,
3938 HRESULT (STDMETHODCALLTYPE *SetSchema)(
3939 ICreateTypeInfo* This,
3940 LPOLESTR pStrSchema);
3942 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
3943 ICreateTypeInfo* This,
3947 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
3948 ICreateTypeInfo* This,
3950 LPOLESTR* rgszNames,
3953 HRESULT (STDMETHODCALLTYPE *SetVarName)(
3954 ICreateTypeInfo* This,
3958 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
3959 ICreateTypeInfo* This,
3960 TYPEDESC* pTDescAlias);
3962 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
3963 ICreateTypeInfo* This,
3966 LPOLESTR szProcName);
3968 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
3969 ICreateTypeInfo* This,
3971 LPOLESTR szDocString);
3973 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
3974 ICreateTypeInfo* This,
3976 LPOLESTR szDocString);
3978 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
3979 ICreateTypeInfo* This,
3981 DWORD dwHelpContext);
3983 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
3984 ICreateTypeInfo* This,
3986 DWORD dwHelpContext);
3988 HRESULT (STDMETHODCALLTYPE *SetMops)(
3989 ICreateTypeInfo* This,
3993 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
3994 ICreateTypeInfo* This,
3997 HRESULT (STDMETHODCALLTYPE *LayOut)(
3998 ICreateTypeInfo* This);
4002 /*** IUnknown methods ***/
4003 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4004 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4005 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4006 /*** ICreateTypeInfo methods ***/
4007 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4008 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4009 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4010 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4011 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4012 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4013 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4014 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4015 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4016 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4017 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4018 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4019 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4020 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4021 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4022 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4023 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4024 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4025 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4026 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4027 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4028 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4029 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4033 #define ICreateTypeInfo_METHODS \
4034 ICOM_MSVTABLE_COMPAT_FIELDS \
4035 /*** IUnknown methods ***/ \
4036 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4037 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4038 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4039 /*** ICreateTypeInfo methods ***/ \
4040 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4041 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4042 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4043 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4044 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4045 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4046 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4047 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4048 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4049 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4050 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4051 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4052 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4053 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4054 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4055 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4056 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4057 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4058 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4059 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4060 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4061 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4062 STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
4064 HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy(
4065 ICreateTypeInfo* This,
4067 void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
4068 struct IRpcStubBuffer* This,
4069 struct IRpcChannelBuffer* pRpcChannelBuffer,
4070 PRPC_MESSAGE pRpcMessage,
4071 DWORD* pdwStubPhase);
4072 HRESULT CALLBACK ICreateTypeInfo_SetTypeFlags_Proxy(
4073 ICreateTypeInfo* This,
4075 void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
4076 struct IRpcStubBuffer* This,
4077 struct IRpcChannelBuffer* pRpcChannelBuffer,
4078 PRPC_MESSAGE pRpcMessage,
4079 DWORD* pdwStubPhase);
4080 HRESULT CALLBACK ICreateTypeInfo_SetDocString_Proxy(
4081 ICreateTypeInfo* This,
4083 void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
4084 struct IRpcStubBuffer* This,
4085 struct IRpcChannelBuffer* pRpcChannelBuffer,
4086 PRPC_MESSAGE pRpcMessage,
4087 DWORD* pdwStubPhase);
4088 HRESULT CALLBACK ICreateTypeInfo_SetHelpContext_Proxy(
4089 ICreateTypeInfo* This,
4090 DWORD dwHelpContext);
4091 void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
4092 struct IRpcStubBuffer* This,
4093 struct IRpcChannelBuffer* pRpcChannelBuffer,
4094 PRPC_MESSAGE pRpcMessage,
4095 DWORD* pdwStubPhase);
4096 HRESULT CALLBACK ICreateTypeInfo_SetVersion_Proxy(
4097 ICreateTypeInfo* This,
4100 void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
4101 struct IRpcStubBuffer* This,
4102 struct IRpcChannelBuffer* pRpcChannelBuffer,
4103 PRPC_MESSAGE pRpcMessage,
4104 DWORD* pdwStubPhase);
4105 HRESULT CALLBACK ICreateTypeInfo_AddRefTypeInfo_Proxy(
4106 ICreateTypeInfo* This,
4108 HREFTYPE* phRefType);
4109 void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
4110 struct IRpcStubBuffer* This,
4111 struct IRpcChannelBuffer* pRpcChannelBuffer,
4112 PRPC_MESSAGE pRpcMessage,
4113 DWORD* pdwStubPhase);
4114 HRESULT CALLBACK ICreateTypeInfo_AddFuncDesc_Proxy(
4115 ICreateTypeInfo* This,
4117 FUNCDESC* pFuncDesc);
4118 void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
4119 struct IRpcStubBuffer* This,
4120 struct IRpcChannelBuffer* pRpcChannelBuffer,
4121 PRPC_MESSAGE pRpcMessage,
4122 DWORD* pdwStubPhase);
4123 HRESULT CALLBACK ICreateTypeInfo_AddImplType_Proxy(
4124 ICreateTypeInfo* This,
4127 void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
4128 struct IRpcStubBuffer* This,
4129 struct IRpcChannelBuffer* pRpcChannelBuffer,
4130 PRPC_MESSAGE pRpcMessage,
4131 DWORD* pdwStubPhase);
4132 HRESULT CALLBACK ICreateTypeInfo_SetImplTypeFlags_Proxy(
4133 ICreateTypeInfo* This,
4136 void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
4137 struct IRpcStubBuffer* This,
4138 struct IRpcChannelBuffer* pRpcChannelBuffer,
4139 PRPC_MESSAGE pRpcMessage,
4140 DWORD* pdwStubPhase);
4141 HRESULT CALLBACK ICreateTypeInfo_SetAlignment_Proxy(
4142 ICreateTypeInfo* This,
4144 void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
4145 struct IRpcStubBuffer* This,
4146 struct IRpcChannelBuffer* pRpcChannelBuffer,
4147 PRPC_MESSAGE pRpcMessage,
4148 DWORD* pdwStubPhase);
4149 HRESULT CALLBACK ICreateTypeInfo_SetSchema_Proxy(
4150 ICreateTypeInfo* This,
4151 LPOLESTR pStrSchema);
4152 void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
4153 struct IRpcStubBuffer* This,
4154 struct IRpcChannelBuffer* pRpcChannelBuffer,
4155 PRPC_MESSAGE pRpcMessage,
4156 DWORD* pdwStubPhase);
4157 HRESULT CALLBACK ICreateTypeInfo_AddVarDesc_Proxy(
4158 ICreateTypeInfo* This,
4161 void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
4162 struct IRpcStubBuffer* This,
4163 struct IRpcChannelBuffer* pRpcChannelBuffer,
4164 PRPC_MESSAGE pRpcMessage,
4165 DWORD* pdwStubPhase);
4166 HRESULT CALLBACK ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4167 ICreateTypeInfo* This,
4169 LPOLESTR* rgszNames,
4171 void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
4172 struct IRpcStubBuffer* This,
4173 struct IRpcChannelBuffer* pRpcChannelBuffer,
4174 PRPC_MESSAGE pRpcMessage,
4175 DWORD* pdwStubPhase);
4176 HRESULT CALLBACK ICreateTypeInfo_SetVarName_Proxy(
4177 ICreateTypeInfo* This,
4180 void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
4181 struct IRpcStubBuffer* This,
4182 struct IRpcChannelBuffer* pRpcChannelBuffer,
4183 PRPC_MESSAGE pRpcMessage,
4184 DWORD* pdwStubPhase);
4185 HRESULT CALLBACK ICreateTypeInfo_SetTypeDescAlias_Proxy(
4186 ICreateTypeInfo* This,
4187 TYPEDESC* pTDescAlias);
4188 void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
4189 struct IRpcStubBuffer* This,
4190 struct IRpcChannelBuffer* pRpcChannelBuffer,
4191 PRPC_MESSAGE pRpcMessage,
4192 DWORD* pdwStubPhase);
4193 HRESULT CALLBACK ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4194 ICreateTypeInfo* This,
4197 LPOLESTR szProcName);
4198 void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4199 struct IRpcStubBuffer* This,
4200 struct IRpcChannelBuffer* pRpcChannelBuffer,
4201 PRPC_MESSAGE pRpcMessage,
4202 DWORD* pdwStubPhase);
4203 HRESULT CALLBACK ICreateTypeInfo_SetFuncDocString_Proxy(
4204 ICreateTypeInfo* This,
4206 LPOLESTR szDocString);
4207 void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
4208 struct IRpcStubBuffer* This,
4209 struct IRpcChannelBuffer* pRpcChannelBuffer,
4210 PRPC_MESSAGE pRpcMessage,
4211 DWORD* pdwStubPhase);
4212 HRESULT CALLBACK ICreateTypeInfo_SetVarDocString_Proxy(
4213 ICreateTypeInfo* This,
4215 LPOLESTR szDocString);
4216 void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
4217 struct IRpcStubBuffer* This,
4218 struct IRpcChannelBuffer* pRpcChannelBuffer,
4219 PRPC_MESSAGE pRpcMessage,
4220 DWORD* pdwStubPhase);
4221 HRESULT CALLBACK ICreateTypeInfo_SetFuncHelpContext_Proxy(
4222 ICreateTypeInfo* This,
4224 DWORD dwHelpContext);
4225 void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
4226 struct IRpcStubBuffer* This,
4227 struct IRpcChannelBuffer* pRpcChannelBuffer,
4228 PRPC_MESSAGE pRpcMessage,
4229 DWORD* pdwStubPhase);
4230 HRESULT CALLBACK ICreateTypeInfo_SetVarHelpContext_Proxy(
4231 ICreateTypeInfo* This,
4233 DWORD dwHelpContext);
4234 void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
4235 struct IRpcStubBuffer* This,
4236 struct IRpcChannelBuffer* pRpcChannelBuffer,
4237 PRPC_MESSAGE pRpcMessage,
4238 DWORD* pdwStubPhase);
4239 HRESULT CALLBACK ICreateTypeInfo_SetMops_Proxy(
4240 ICreateTypeInfo* This,
4243 void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
4244 struct IRpcStubBuffer* This,
4245 struct IRpcChannelBuffer* pRpcChannelBuffer,
4246 PRPC_MESSAGE pRpcMessage,
4247 DWORD* pdwStubPhase);
4248 HRESULT CALLBACK ICreateTypeInfo_SetTypeIdldesc_Proxy(
4249 ICreateTypeInfo* This,
4251 void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
4252 struct IRpcStubBuffer* This,
4253 struct IRpcChannelBuffer* pRpcChannelBuffer,
4254 PRPC_MESSAGE pRpcMessage,
4255 DWORD* pdwStubPhase);
4256 HRESULT CALLBACK ICreateTypeInfo_LayOut_Proxy(
4257 ICreateTypeInfo* This);
4258 void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
4259 struct IRpcStubBuffer* This,
4260 struct IRpcChannelBuffer* pRpcChannelBuffer,
4261 PRPC_MESSAGE pRpcMessage,
4262 DWORD* pdwStubPhase);
4264 typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
4265 typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;
4267 /*****************************************************************************
4268 * ICreateTypeInfo2 interface
4270 DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4271 #if defined(__cplusplus) && !defined(CINTERFACE)
4272 struct ICreateTypeInfo2 : public ICreateTypeInfo
4274 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc(
4277 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId(
4279 INVOKEKIND invKind) = 0;
4281 virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc(
4284 virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId(
4285 MEMBERID memid) = 0;
4287 virtual HRESULT STDMETHODCALLTYPE DeleteImplType(
4290 virtual HRESULT STDMETHODCALLTYPE SetCustData(
4292 VARIANT* pVarVal) = 0;
4294 virtual HRESULT STDMETHODCALLTYPE SetFuncCustData(
4297 VARIANT* pVarVal) = 0;
4299 virtual HRESULT STDMETHODCALLTYPE SetParamCustData(
4303 VARIANT* pVarVal) = 0;
4305 virtual HRESULT STDMETHODCALLTYPE SetVarCustData(
4308 VARIANT* pVarVal) = 0;
4310 virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData(
4313 VARIANT* pVarVal) = 0;
4315 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
4316 ULONG dwHelpStringContext) = 0;
4318 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext(
4320 ULONG dwHelpStringContext) = 0;
4322 virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext(
4324 ULONG dwHelpStringContext) = 0;
4326 virtual HRESULT STDMETHODCALLTYPE Invalidate(
4329 virtual HRESULT STDMETHODCALLTYPE SetName(
4330 LPOLESTR szName) = 0;
4334 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl;
4335 struct ICreateTypeInfo2 {
4336 const ICreateTypeInfo2Vtbl* lpVtbl;
4338 struct ICreateTypeInfo2Vtbl {
4339 ICOM_MSVTABLE_COMPAT_FIELDS
4341 /*** IUnknown methods ***/
4342 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4343 ICreateTypeInfo2* This,
4347 ULONG (STDMETHODCALLTYPE *AddRef)(
4348 ICreateTypeInfo2* This);
4350 ULONG (STDMETHODCALLTYPE *Release)(
4351 ICreateTypeInfo2* This);
4353 /*** ICreateTypeInfo methods ***/
4354 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4355 ICreateTypeInfo2* This,
4358 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
4359 ICreateTypeInfo2* This,
4362 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4363 ICreateTypeInfo2* This,
4366 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4367 ICreateTypeInfo2* This,
4368 DWORD dwHelpContext);
4370 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4371 ICreateTypeInfo2* This,
4375 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
4376 ICreateTypeInfo2* This,
4378 HREFTYPE* phRefType);
4380 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
4381 ICreateTypeInfo2* This,
4383 FUNCDESC* pFuncDesc);
4385 HRESULT (STDMETHODCALLTYPE *AddImplType)(
4386 ICreateTypeInfo2* This,
4390 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
4391 ICreateTypeInfo2* This,
4395 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
4396 ICreateTypeInfo2* This,
4399 HRESULT (STDMETHODCALLTYPE *SetSchema)(
4400 ICreateTypeInfo2* This,
4401 LPOLESTR pStrSchema);
4403 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
4404 ICreateTypeInfo2* This,
4408 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
4409 ICreateTypeInfo2* This,
4411 LPOLESTR* rgszNames,
4414 HRESULT (STDMETHODCALLTYPE *SetVarName)(
4415 ICreateTypeInfo2* This,
4419 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
4420 ICreateTypeInfo2* This,
4421 TYPEDESC* pTDescAlias);
4423 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
4424 ICreateTypeInfo2* This,
4427 LPOLESTR szProcName);
4429 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
4430 ICreateTypeInfo2* This,
4432 LPOLESTR szDocString);
4434 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
4435 ICreateTypeInfo2* This,
4437 LPOLESTR szDocString);
4439 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
4440 ICreateTypeInfo2* This,
4442 DWORD dwHelpContext);
4444 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
4445 ICreateTypeInfo2* This,
4447 DWORD dwHelpContext);
4449 HRESULT (STDMETHODCALLTYPE *SetMops)(
4450 ICreateTypeInfo2* This,
4454 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
4455 ICreateTypeInfo2* This,
4458 HRESULT (STDMETHODCALLTYPE *LayOut)(
4459 ICreateTypeInfo2* This);
4461 /*** ICreateTypeInfo2 methods ***/
4462 HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)(
4463 ICreateTypeInfo2* This,
4466 HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)(
4467 ICreateTypeInfo2* This,
4469 INVOKEKIND invKind);
4471 HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)(
4472 ICreateTypeInfo2* This,
4475 HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)(
4476 ICreateTypeInfo2* This,
4479 HRESULT (STDMETHODCALLTYPE *DeleteImplType)(
4480 ICreateTypeInfo2* This,
4483 HRESULT (STDMETHODCALLTYPE *SetCustData)(
4484 ICreateTypeInfo2* This,
4488 HRESULT (STDMETHODCALLTYPE *SetFuncCustData)(
4489 ICreateTypeInfo2* This,
4494 HRESULT (STDMETHODCALLTYPE *SetParamCustData)(
4495 ICreateTypeInfo2* This,
4501 HRESULT (STDMETHODCALLTYPE *SetVarCustData)(
4502 ICreateTypeInfo2* This,
4507 HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)(
4508 ICreateTypeInfo2* This,
4513 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
4514 ICreateTypeInfo2* This,
4515 ULONG dwHelpStringContext);
4517 HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)(
4518 ICreateTypeInfo2* This,
4520 ULONG dwHelpStringContext);
4522 HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)(
4523 ICreateTypeInfo2* This,
4525 ULONG dwHelpStringContext);
4527 HRESULT (STDMETHODCALLTYPE *Invalidate)(
4528 ICreateTypeInfo2* This);
4530 HRESULT (STDMETHODCALLTYPE *SetName)(
4531 ICreateTypeInfo2* This,
4536 /*** IUnknown methods ***/
4537 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4538 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4539 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4540 /*** ICreateTypeInfo methods ***/
4541 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4542 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4543 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4544 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4545 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4546 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4547 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4548 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4549 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4550 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4551 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4552 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4553 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4554 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4555 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4556 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4557 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4558 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4559 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4560 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4561 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4562 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4563 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4564 /*** ICreateTypeInfo2 methods ***/
4565 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4566 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4567 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4568 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4569 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4570 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4571 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4572 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4573 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4574 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4575 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4576 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4577 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4578 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4579 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4583 #define ICreateTypeInfo2_METHODS \
4584 ICOM_MSVTABLE_COMPAT_FIELDS \
4585 /*** IUnknown methods ***/ \
4586 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4587 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4588 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4589 /*** ICreateTypeInfo methods ***/ \
4590 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4591 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4592 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4593 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4594 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4595 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4596 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4597 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4598 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4599 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4600 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4601 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4602 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4603 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4604 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4605 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4606 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4607 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4608 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4609 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4610 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4611 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4612 STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
4613 /*** ICreateTypeInfo2 methods ***/ \
4614 STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
4615 STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
4616 STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
4617 STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
4618 STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
4619 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
4620 STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4621 STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
4622 STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4623 STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4624 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
4625 STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4626 STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4627 STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
4628 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
4630 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4631 ICreateTypeInfo2* This,
4633 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
4634 struct IRpcStubBuffer* This,
4635 struct IRpcChannelBuffer* pRpcChannelBuffer,
4636 PRPC_MESSAGE pRpcMessage,
4637 DWORD* pdwStubPhase);
4638 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4639 ICreateTypeInfo2* This,
4641 INVOKEKIND invKind);
4642 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4643 struct IRpcStubBuffer* This,
4644 struct IRpcChannelBuffer* pRpcChannelBuffer,
4645 PRPC_MESSAGE pRpcMessage,
4646 DWORD* pdwStubPhase);
4647 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDesc_Proxy(
4648 ICreateTypeInfo2* This,
4650 void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
4651 struct IRpcStubBuffer* This,
4652 struct IRpcChannelBuffer* pRpcChannelBuffer,
4653 PRPC_MESSAGE pRpcMessage,
4654 DWORD* pdwStubPhase);
4655 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4656 ICreateTypeInfo2* This,
4658 void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4659 struct IRpcStubBuffer* This,
4660 struct IRpcChannelBuffer* pRpcChannelBuffer,
4661 PRPC_MESSAGE pRpcMessage,
4662 DWORD* pdwStubPhase);
4663 HRESULT CALLBACK ICreateTypeInfo2_DeleteImplType_Proxy(
4664 ICreateTypeInfo2* This,
4666 void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
4667 struct IRpcStubBuffer* This,
4668 struct IRpcChannelBuffer* pRpcChannelBuffer,
4669 PRPC_MESSAGE pRpcMessage,
4670 DWORD* pdwStubPhase);
4671 HRESULT CALLBACK ICreateTypeInfo2_SetCustData_Proxy(
4672 ICreateTypeInfo2* This,
4675 void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
4676 struct IRpcStubBuffer* This,
4677 struct IRpcChannelBuffer* pRpcChannelBuffer,
4678 PRPC_MESSAGE pRpcMessage,
4679 DWORD* pdwStubPhase);
4680 HRESULT CALLBACK ICreateTypeInfo2_SetFuncCustData_Proxy(
4681 ICreateTypeInfo2* This,
4685 void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
4686 struct IRpcStubBuffer* This,
4687 struct IRpcChannelBuffer* pRpcChannelBuffer,
4688 PRPC_MESSAGE pRpcMessage,
4689 DWORD* pdwStubPhase);
4690 HRESULT CALLBACK ICreateTypeInfo2_SetParamCustData_Proxy(
4691 ICreateTypeInfo2* This,
4696 void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
4697 struct IRpcStubBuffer* This,
4698 struct IRpcChannelBuffer* pRpcChannelBuffer,
4699 PRPC_MESSAGE pRpcMessage,
4700 DWORD* pdwStubPhase);
4701 HRESULT CALLBACK ICreateTypeInfo2_SetVarCustData_Proxy(
4702 ICreateTypeInfo2* This,
4706 void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
4707 struct IRpcStubBuffer* This,
4708 struct IRpcChannelBuffer* pRpcChannelBuffer,
4709 PRPC_MESSAGE pRpcMessage,
4710 DWORD* pdwStubPhase);
4711 HRESULT CALLBACK ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4712 ICreateTypeInfo2* This,
4716 void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
4717 struct IRpcStubBuffer* This,
4718 struct IRpcChannelBuffer* pRpcChannelBuffer,
4719 PRPC_MESSAGE pRpcMessage,
4720 DWORD* pdwStubPhase);
4721 HRESULT CALLBACK ICreateTypeInfo2_SetHelpStringContext_Proxy(
4722 ICreateTypeInfo2* This,
4723 ULONG dwHelpStringContext);
4724 void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
4725 struct IRpcStubBuffer* This,
4726 struct IRpcChannelBuffer* pRpcChannelBuffer,
4727 PRPC_MESSAGE pRpcMessage,
4728 DWORD* pdwStubPhase);
4729 HRESULT CALLBACK ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4730 ICreateTypeInfo2* This,
4732 ULONG dwHelpStringContext);
4733 void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4734 struct IRpcStubBuffer* This,
4735 struct IRpcChannelBuffer* pRpcChannelBuffer,
4736 PRPC_MESSAGE pRpcMessage,
4737 DWORD* pdwStubPhase);
4738 HRESULT CALLBACK ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4739 ICreateTypeInfo2* This,
4741 ULONG dwHelpStringContext);
4742 void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4743 struct IRpcStubBuffer* This,
4744 struct IRpcChannelBuffer* pRpcChannelBuffer,
4745 PRPC_MESSAGE pRpcMessage,
4746 DWORD* pdwStubPhase);
4747 HRESULT CALLBACK ICreateTypeInfo2_Invalidate_Proxy(
4748 ICreateTypeInfo2* This);
4749 void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
4750 struct IRpcStubBuffer* This,
4751 struct IRpcChannelBuffer* pRpcChannelBuffer,
4752 PRPC_MESSAGE pRpcMessage,
4753 DWORD* pdwStubPhase);
4754 HRESULT CALLBACK ICreateTypeInfo2_SetName_Proxy(
4755 ICreateTypeInfo2* This,
4757 void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
4758 struct IRpcStubBuffer* This,
4759 struct IRpcChannelBuffer* pRpcChannelBuffer,
4760 PRPC_MESSAGE pRpcMessage,
4761 DWORD* pdwStubPhase);
4763 typedef struct ICreateTypeLib ICreateTypeLib;
4764 typedef ICreateTypeLib *LPCREATETYPELIB;
4766 /*****************************************************************************
4767 * ICreateTypeLib interface
4769 DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4770 #if defined(__cplusplus) && !defined(CINTERFACE)
4771 struct ICreateTypeLib : public IUnknown
4773 virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo(
4776 ICreateTypeInfo** ppCTInfo) = 0;
4778 virtual HRESULT STDMETHODCALLTYPE SetName(
4779 LPOLESTR szName) = 0;
4781 virtual HRESULT STDMETHODCALLTYPE SetVersion(
4783 WORD wMinorVerNum) = 0;
4785 virtual HRESULT STDMETHODCALLTYPE SetGuid(
4788 virtual HRESULT STDMETHODCALLTYPE SetDocString(
4789 LPOLESTR szDoc) = 0;
4791 virtual HRESULT STDMETHODCALLTYPE SetHelpFileName(
4792 LPOLESTR szHelpFileName) = 0;
4794 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
4795 DWORD dwHelpContext) = 0;
4797 virtual HRESULT STDMETHODCALLTYPE SetLcid(
4800 virtual HRESULT STDMETHODCALLTYPE SetLibFlags(
4801 UINT uLibFlags) = 0;
4803 virtual HRESULT STDMETHODCALLTYPE SaveAllChanges(
4808 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl;
4809 struct ICreateTypeLib {
4810 const ICreateTypeLibVtbl* lpVtbl;
4812 struct ICreateTypeLibVtbl {
4813 ICOM_MSVTABLE_COMPAT_FIELDS
4815 /*** IUnknown methods ***/
4816 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4817 ICreateTypeLib* This,
4821 ULONG (STDMETHODCALLTYPE *AddRef)(
4822 ICreateTypeLib* This);
4824 ULONG (STDMETHODCALLTYPE *Release)(
4825 ICreateTypeLib* This);
4827 /*** ICreateTypeLib methods ***/
4828 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
4829 ICreateTypeLib* This,
4832 ICreateTypeInfo** ppCTInfo);
4834 HRESULT (STDMETHODCALLTYPE *SetName)(
4835 ICreateTypeLib* This,
4838 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4839 ICreateTypeLib* This,
4843 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4844 ICreateTypeLib* This,
4847 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4848 ICreateTypeLib* This,
4851 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
4852 ICreateTypeLib* This,
4853 LPOLESTR szHelpFileName);
4855 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4856 ICreateTypeLib* This,
4857 DWORD dwHelpContext);
4859 HRESULT (STDMETHODCALLTYPE *SetLcid)(
4860 ICreateTypeLib* This,
4863 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
4864 ICreateTypeLib* This,
4867 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
4868 ICreateTypeLib* This);
4872 /*** IUnknown methods ***/
4873 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4874 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
4875 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
4876 /*** ICreateTypeLib methods ***/
4877 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
4878 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4879 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4880 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4881 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4882 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
4883 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4884 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
4885 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
4886 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
4890 #define ICreateTypeLib_METHODS \
4891 ICOM_MSVTABLE_COMPAT_FIELDS \
4892 /*** IUnknown methods ***/ \
4893 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4894 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4895 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4896 /*** ICreateTypeLib methods ***/ \
4897 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
4898 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
4899 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4900 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4901 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
4902 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
4903 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4904 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
4905 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
4906 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
4908 HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy(
4909 ICreateTypeLib* This,
4912 ICreateTypeInfo** ppCTInfo);
4913 void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
4914 struct IRpcStubBuffer* This,
4915 struct IRpcChannelBuffer* pRpcChannelBuffer,
4916 PRPC_MESSAGE pRpcMessage,
4917 DWORD* pdwStubPhase);
4918 HRESULT CALLBACK ICreateTypeLib_SetName_Proxy(
4919 ICreateTypeLib* This,
4921 void __RPC_STUB ICreateTypeLib_SetName_Stub(
4922 struct IRpcStubBuffer* This,
4923 struct IRpcChannelBuffer* pRpcChannelBuffer,
4924 PRPC_MESSAGE pRpcMessage,
4925 DWORD* pdwStubPhase);
4926 HRESULT CALLBACK ICreateTypeLib_SetVersion_Proxy(
4927 ICreateTypeLib* This,
4930 void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
4931 struct IRpcStubBuffer* This,
4932 struct IRpcChannelBuffer* pRpcChannelBuffer,
4933 PRPC_MESSAGE pRpcMessage,
4934 DWORD* pdwStubPhase);
4935 HRESULT CALLBACK ICreateTypeLib_SetGuid_Proxy(
4936 ICreateTypeLib* This,
4938 void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
4939 struct IRpcStubBuffer* This,
4940 struct IRpcChannelBuffer* pRpcChannelBuffer,
4941 PRPC_MESSAGE pRpcMessage,
4942 DWORD* pdwStubPhase);
4943 HRESULT CALLBACK ICreateTypeLib_SetDocString_Proxy(
4944 ICreateTypeLib* This,
4946 void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
4947 struct IRpcStubBuffer* This,
4948 struct IRpcChannelBuffer* pRpcChannelBuffer,
4949 PRPC_MESSAGE pRpcMessage,
4950 DWORD* pdwStubPhase);
4951 HRESULT CALLBACK ICreateTypeLib_SetHelpFileName_Proxy(
4952 ICreateTypeLib* This,
4953 LPOLESTR szHelpFileName);
4954 void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
4955 struct IRpcStubBuffer* This,
4956 struct IRpcChannelBuffer* pRpcChannelBuffer,
4957 PRPC_MESSAGE pRpcMessage,
4958 DWORD* pdwStubPhase);
4959 HRESULT CALLBACK ICreateTypeLib_SetHelpContext_Proxy(
4960 ICreateTypeLib* This,
4961 DWORD dwHelpContext);
4962 void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
4963 struct IRpcStubBuffer* This,
4964 struct IRpcChannelBuffer* pRpcChannelBuffer,
4965 PRPC_MESSAGE pRpcMessage,
4966 DWORD* pdwStubPhase);
4967 HRESULT CALLBACK ICreateTypeLib_SetLcid_Proxy(
4968 ICreateTypeLib* This,
4970 void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
4971 struct IRpcStubBuffer* This,
4972 struct IRpcChannelBuffer* pRpcChannelBuffer,
4973 PRPC_MESSAGE pRpcMessage,
4974 DWORD* pdwStubPhase);
4975 HRESULT CALLBACK ICreateTypeLib_SetLibFlags_Proxy(
4976 ICreateTypeLib* This,
4978 void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
4979 struct IRpcStubBuffer* This,
4980 struct IRpcChannelBuffer* pRpcChannelBuffer,
4981 PRPC_MESSAGE pRpcMessage,
4982 DWORD* pdwStubPhase);
4983 HRESULT CALLBACK ICreateTypeLib_SaveAllChanges_Proxy(
4984 ICreateTypeLib* This);
4985 void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
4986 struct IRpcStubBuffer* This,
4987 struct IRpcChannelBuffer* pRpcChannelBuffer,
4988 PRPC_MESSAGE pRpcMessage,
4989 DWORD* pdwStubPhase);
4991 typedef struct ICreateTypeLib2 ICreateTypeLib2;
4992 typedef ICreateTypeLib2 *LPCREATETYPELIB2;
4994 /*****************************************************************************
4995 * ICreateTypeLib2 interface
4997 DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4998 #if defined(__cplusplus) && !defined(CINTERFACE)
4999 struct ICreateTypeLib2 : public ICreateTypeLib
5001 virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo(
5002 LPOLESTR szName) = 0;
5004 virtual HRESULT STDMETHODCALLTYPE SetCustData(
5006 VARIANT* pVarVal) = 0;
5008 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
5009 ULONG dwHelpStringContext) = 0;
5011 virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll(
5012 LPOLESTR szFileName) = 0;
5016 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl;
5017 struct ICreateTypeLib2 {
5018 const ICreateTypeLib2Vtbl* lpVtbl;
5020 struct ICreateTypeLib2Vtbl {
5021 ICOM_MSVTABLE_COMPAT_FIELDS
5023 /*** IUnknown methods ***/
5024 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5025 ICreateTypeLib2* This,
5029 ULONG (STDMETHODCALLTYPE *AddRef)(
5030 ICreateTypeLib2* This);
5032 ULONG (STDMETHODCALLTYPE *Release)(
5033 ICreateTypeLib2* This);
5035 /*** ICreateTypeLib methods ***/
5036 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
5037 ICreateTypeLib2* This,
5040 ICreateTypeInfo** ppCTInfo);
5042 HRESULT (STDMETHODCALLTYPE *SetName)(
5043 ICreateTypeLib2* This,
5046 HRESULT (STDMETHODCALLTYPE *SetVersion)(
5047 ICreateTypeLib2* This,
5051 HRESULT (STDMETHODCALLTYPE *SetGuid)(
5052 ICreateTypeLib2* This,
5055 HRESULT (STDMETHODCALLTYPE *SetDocString)(
5056 ICreateTypeLib2* This,
5059 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
5060 ICreateTypeLib2* This,
5061 LPOLESTR szHelpFileName);
5063 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
5064 ICreateTypeLib2* This,
5065 DWORD dwHelpContext);
5067 HRESULT (STDMETHODCALLTYPE *SetLcid)(
5068 ICreateTypeLib2* This,
5071 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
5072 ICreateTypeLib2* This,
5075 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
5076 ICreateTypeLib2* This);
5078 /*** ICreateTypeLib2 methods ***/
5079 HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)(
5080 ICreateTypeLib2* This,
5083 HRESULT (STDMETHODCALLTYPE *SetCustData)(
5084 ICreateTypeLib2* This,
5088 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
5089 ICreateTypeLib2* This,
5090 ULONG dwHelpStringContext);
5092 HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)(
5093 ICreateTypeLib2* This,
5094 LPOLESTR szFileName);
5098 /*** IUnknown methods ***/
5099 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5100 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5101 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5102 /*** ICreateTypeLib methods ***/
5103 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5104 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5105 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5106 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5107 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5108 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5109 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5110 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5111 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5112 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5113 /*** ICreateTypeLib2 methods ***/
5114 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5115 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5116 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5117 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5121 #define ICreateTypeLib2_METHODS \
5122 ICOM_MSVTABLE_COMPAT_FIELDS \
5123 /*** IUnknown methods ***/ \
5124 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5125 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5126 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5127 /*** ICreateTypeLib methods ***/ \
5128 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5129 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5130 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5131 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5132 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5133 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5134 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5135 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5136 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5137 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
5138 /*** ICreateTypeLib2 methods ***/ \
5139 STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
5140 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
5141 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
5142 STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
5144 HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy(
5145 ICreateTypeLib2* This,
5147 void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
5148 struct IRpcStubBuffer* This,
5149 struct IRpcChannelBuffer* pRpcChannelBuffer,
5150 PRPC_MESSAGE pRpcMessage,
5151 DWORD* pdwStubPhase);
5152 HRESULT CALLBACK ICreateTypeLib2_SetCustData_Proxy(
5153 ICreateTypeLib2* This,
5156 void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
5157 struct IRpcStubBuffer* This,
5158 struct IRpcChannelBuffer* pRpcChannelBuffer,
5159 PRPC_MESSAGE pRpcMessage,
5160 DWORD* pdwStubPhase);
5161 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringContext_Proxy(
5162 ICreateTypeLib2* This,
5163 ULONG dwHelpStringContext);
5164 void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
5165 struct IRpcStubBuffer* This,
5166 struct IRpcChannelBuffer* pRpcChannelBuffer,
5167 PRPC_MESSAGE pRpcMessage,
5168 DWORD* pdwStubPhase);
5169 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringDll_Proxy(
5170 ICreateTypeLib2* This,
5171 LPOLESTR szFileName);
5172 void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
5173 struct IRpcStubBuffer* This,
5174 struct IRpcChannelBuffer* pRpcChannelBuffer,
5175 PRPC_MESSAGE pRpcMessage,
5176 DWORD* pdwStubPhase);
5181 #endif /* __WIDL_OAIDL_H */