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: 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,
613 } ICOM_COM_INTERFACE_ATTRIBUTE;
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 #define IDispatch_IMETHODS \
667 /*** IUnknown methods ***/ \
668 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
669 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
670 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
671 /*** IDispatch methods ***/ \
672 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This, UINT* pctinfo); \
673 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo); \
674 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId); \
675 HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr);
677 /*** IUnknown methods ***/
678 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
679 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
680 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
681 /*** IDispatch methods ***/
682 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
683 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
684 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
685 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
689 HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy(
692 void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
693 struct IRpcStubBuffer* This,
694 struct IRpcChannelBuffer* pRpcChannelBuffer,
695 PRPC_MESSAGE pRpcMessage,
696 DWORD* pdwStubPhase);
697 HRESULT CALLBACK IDispatch_GetTypeInfo_Proxy(
701 ITypeInfo** ppTInfo);
702 void __RPC_STUB IDispatch_GetTypeInfo_Stub(
703 struct IRpcStubBuffer* This,
704 struct IRpcChannelBuffer* pRpcChannelBuffer,
705 PRPC_MESSAGE pRpcMessage,
706 DWORD* pdwStubPhase);
707 HRESULT CALLBACK IDispatch_GetIDsOfNames_Proxy(
714 void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
715 struct IRpcStubBuffer* This,
716 struct IRpcChannelBuffer* pRpcChannelBuffer,
717 PRPC_MESSAGE pRpcMessage,
718 DWORD* pdwStubPhase);
719 HRESULT CALLBACK IDispatch_RemoteInvoke_Proxy(
725 DISPPARAMS* pDispParams,
727 EXCEPINFO* pExcepInfo,
731 VARIANTARG* rgVarRef);
732 void __RPC_STUB IDispatch_RemoteInvoke_Stub(
733 struct IRpcStubBuffer* This,
734 struct IRpcChannelBuffer* pRpcChannelBuffer,
735 PRPC_MESSAGE pRpcMessage,
736 DWORD* pdwStubPhase);
737 HRESULT CALLBACK IDispatch_Invoke_Proxy(
743 DISPPARAMS* pDispParams,
745 EXCEPINFO* pExcepInfo,
747 HRESULT __RPC_STUB IDispatch_Invoke_Stub(
753 DISPPARAMS* pDispParams,
755 EXCEPINFO* pExcepInfo,
759 VARIANTARG* rgVarRef);
761 typedef struct IEnumVARIANT IEnumVARIANT;
762 typedef IEnumVARIANT *LPENUMVARIANT;
764 /*****************************************************************************
765 * IEnumVARIANT interface
767 DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
768 #if defined(__cplusplus) && !defined(CINTERFACE)
769 struct IEnumVARIANT: IUnknown {
771 virtual HRESULT STDMETHODCALLTYPE Next(
774 ULONG* pCeltFetched) = 0;
776 virtual HRESULT STDMETHODCALLTYPE Skip(
779 virtual HRESULT STDMETHODCALLTYPE Reset(
782 virtual HRESULT STDMETHODCALLTYPE Clone(
783 IEnumVARIANT** ppEnum) = 0;
785 } ICOM_COM_INTERFACE_ATTRIBUTE;
787 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl;
788 struct IEnumVARIANT {
789 const IEnumVARIANTVtbl* lpVtbl;
791 struct IEnumVARIANTVtbl {
792 ICOM_MSVTABLE_COMPAT_FIELDS
794 /*** IUnknown methods ***/
795 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
800 ULONG (STDMETHODCALLTYPE *AddRef)(
803 ULONG (STDMETHODCALLTYPE *Release)(
806 /*** IEnumVARIANT methods ***/
807 HRESULT (STDMETHODCALLTYPE *Next)(
811 ULONG* pCeltFetched);
813 HRESULT (STDMETHODCALLTYPE *Skip)(
817 HRESULT (STDMETHODCALLTYPE *Reset)(
820 HRESULT (STDMETHODCALLTYPE *Clone)(
822 IEnumVARIANT** ppEnum);
826 #define IEnumVARIANT_IMETHODS \
827 /*** IUnknown methods ***/ \
828 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
829 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
830 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
831 /*** IEnumVARIANT methods ***/ \
832 HRESULT (STDMETHODCALLTYPE *Next)(INTERFACE *This, ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched); \
833 HRESULT (STDMETHODCALLTYPE *Skip)(INTERFACE *This, ULONG celt); \
834 HRESULT (STDMETHODCALLTYPE *Reset)(INTERFACE *This); \
835 HRESULT (STDMETHODCALLTYPE *Clone)(INTERFACE *This, IEnumVARIANT** ppEnum);
837 /*** IUnknown methods ***/
838 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
839 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
840 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
841 /*** IEnumVARIANT methods ***/
842 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
843 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
844 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
845 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
849 HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy(
853 ULONG* pCeltFetched);
854 void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
855 struct IRpcStubBuffer* This,
856 struct IRpcChannelBuffer* pRpcChannelBuffer,
857 PRPC_MESSAGE pRpcMessage,
858 DWORD* pdwStubPhase);
859 HRESULT CALLBACK IEnumVARIANT_Next_Proxy(
863 ULONG* pCeltFetched);
864 HRESULT __RPC_STUB IEnumVARIANT_Next_Stub(
868 ULONG* pCeltFetched);
869 HRESULT CALLBACK IEnumVARIANT_Skip_Proxy(
872 void __RPC_STUB IEnumVARIANT_Skip_Stub(
873 struct IRpcStubBuffer* This,
874 struct IRpcChannelBuffer* pRpcChannelBuffer,
875 PRPC_MESSAGE pRpcMessage,
876 DWORD* pdwStubPhase);
877 HRESULT CALLBACK IEnumVARIANT_Reset_Proxy(
879 void __RPC_STUB IEnumVARIANT_Reset_Stub(
880 struct IRpcStubBuffer* This,
881 struct IRpcChannelBuffer* pRpcChannelBuffer,
882 PRPC_MESSAGE pRpcMessage,
883 DWORD* pdwStubPhase);
884 HRESULT CALLBACK IEnumVARIANT_Clone_Proxy(
886 IEnumVARIANT** ppEnum);
887 void __RPC_STUB IEnumVARIANT_Clone_Stub(
888 struct IRpcStubBuffer* This,
889 struct IRpcChannelBuffer* pRpcChannelBuffer,
890 PRPC_MESSAGE pRpcMessage,
891 DWORD* pdwStubPhase);
893 typedef struct ITypeComp ITypeComp;
894 typedef ITypeComp *LPTYPECOMP;
896 typedef enum tagDESCKIND {
901 DESCKIND_IMPLICITAPPOBJ,
905 typedef union tagBINDPTR {
906 FUNCDESC *lpfuncdesc;
909 } BINDPTR, *LPBINDPTR;
911 /*****************************************************************************
912 * ITypeComp interface
914 DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
915 #if defined(__cplusplus) && !defined(CINTERFACE)
916 struct ITypeComp: IUnknown {
918 virtual HRESULT STDMETHODCALLTYPE Bind(
924 BINDPTR* pBindPtr) = 0;
926 virtual HRESULT STDMETHODCALLTYPE BindType(
930 ITypeComp** ppTComp) = 0;
932 } ICOM_COM_INTERFACE_ATTRIBUTE;
934 typedef struct ITypeCompVtbl ITypeCompVtbl;
936 const ITypeCompVtbl* lpVtbl;
938 struct ITypeCompVtbl {
939 ICOM_MSVTABLE_COMPAT_FIELDS
941 /*** IUnknown methods ***/
942 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
947 ULONG (STDMETHODCALLTYPE *AddRef)(
950 ULONG (STDMETHODCALLTYPE *Release)(
953 /*** ITypeComp methods ***/
954 HRESULT (STDMETHODCALLTYPE *Bind)(
963 HRESULT (STDMETHODCALLTYPE *BindType)(
968 ITypeComp** ppTComp);
972 #define ITypeComp_IMETHODS \
973 /*** IUnknown methods ***/ \
974 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
975 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
976 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
977 /*** ITypeComp methods ***/ \
978 HRESULT (STDMETHODCALLTYPE *Bind)(INTERFACE *This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr); \
979 HRESULT (STDMETHODCALLTYPE *BindType)(INTERFACE *This, LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp);
981 /*** IUnknown methods ***/
982 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
983 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
984 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
985 /*** ITypeComp methods ***/
986 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
987 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
991 HRESULT CALLBACK ITypeComp_RemoteBind_Proxy(
998 LPFUNCDESC* ppFuncDesc,
999 LPVARDESC* ppVarDesc,
1000 ITypeComp** ppTypeComp,
1001 CLEANLOCALSTORAGE* pDummy);
1002 void __RPC_STUB ITypeComp_RemoteBind_Stub(
1003 struct IRpcStubBuffer* This,
1004 struct IRpcChannelBuffer* pRpcChannelBuffer,
1005 PRPC_MESSAGE pRpcMessage,
1006 DWORD* pdwStubPhase);
1007 HRESULT CALLBACK ITypeComp_Bind_Proxy(
1012 ITypeInfo** ppTInfo,
1013 DESCKIND* pDescKind,
1015 HRESULT __RPC_STUB ITypeComp_Bind_Stub(
1020 ITypeInfo** ppTInfo,
1021 DESCKIND* pDescKind,
1022 LPFUNCDESC* ppFuncDesc,
1023 LPVARDESC* ppVarDesc,
1024 ITypeComp** ppTypeComp,
1025 CLEANLOCALSTORAGE* pDummy);
1026 HRESULT CALLBACK ITypeComp_RemoteBindType_Proxy(
1030 ITypeInfo** ppTInfo);
1031 void __RPC_STUB ITypeComp_RemoteBindType_Stub(
1032 struct IRpcStubBuffer* This,
1033 struct IRpcChannelBuffer* pRpcChannelBuffer,
1034 PRPC_MESSAGE pRpcMessage,
1035 DWORD* pdwStubPhase);
1036 HRESULT CALLBACK ITypeComp_BindType_Proxy(
1040 ITypeInfo** ppTInfo,
1041 ITypeComp** ppTComp);
1042 HRESULT __RPC_STUB ITypeComp_BindType_Stub(
1046 ITypeInfo** ppTInfo);
1048 typedef ITypeInfo *LPTYPEINFO;
1050 /*****************************************************************************
1051 * ITypeInfo interface
1053 DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1054 #if defined(__cplusplus) && !defined(CINTERFACE)
1055 struct ITypeInfo: IUnknown {
1057 virtual HRESULT STDMETHODCALLTYPE GetTypeAttr(
1058 TYPEATTR** ppTypeAttr) = 0;
1060 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
1061 ITypeComp** ppTComp) = 0;
1063 virtual HRESULT STDMETHODCALLTYPE GetFuncDesc(
1065 FUNCDESC** ppFuncDesc) = 0;
1067 virtual HRESULT STDMETHODCALLTYPE GetVarDesc(
1069 VARDESC** ppVarDesc) = 0;
1071 virtual HRESULT STDMETHODCALLTYPE GetNames(
1077 virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType(
1079 HREFTYPE* pRefType) = 0;
1081 virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags(
1083 INT* pImplTypeFlags) = 0;
1085 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
1086 LPOLESTR* rgszNames,
1088 MEMBERID* pMemId) = 0;
1090 virtual HRESULT STDMETHODCALLTYPE Invoke(
1094 DISPPARAMS* pDispParams,
1095 VARIANT* pVarResult,
1096 EXCEPINFO* pExcepInfo,
1097 UINT* puArgErr) = 0;
1099 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
1102 BSTR* pBstrDocString,
1103 DWORD* pdwHelpContext,
1104 BSTR* pBstrHelpFile) = 0;
1106 virtual HRESULT STDMETHODCALLTYPE GetDllEntry(
1111 WORD* pwOrdinal) = 0;
1113 virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo(
1115 ITypeInfo** ppTInfo) = 0;
1117 virtual HRESULT STDMETHODCALLTYPE AddressOfMember(
1122 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
1123 IUnknown* pUnkOuter,
1127 virtual HRESULT STDMETHODCALLTYPE GetMops(
1129 BSTR* pBstrMops) = 0;
1131 virtual HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
1135 virtual void STDMETHODCALLTYPE ReleaseTypeAttr(
1136 TYPEATTR* pTypeAttr) = 0;
1138 virtual void STDMETHODCALLTYPE ReleaseFuncDesc(
1139 FUNCDESC* pFuncDesc) = 0;
1141 virtual void STDMETHODCALLTYPE ReleaseVarDesc(
1142 VARDESC* pVarDesc) = 0;
1144 } ICOM_COM_INTERFACE_ATTRIBUTE;
1146 typedef struct ITypeInfoVtbl ITypeInfoVtbl;
1148 const ITypeInfoVtbl* lpVtbl;
1150 struct ITypeInfoVtbl {
1151 ICOM_MSVTABLE_COMPAT_FIELDS
1153 /*** IUnknown methods ***/
1154 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1159 ULONG (STDMETHODCALLTYPE *AddRef)(
1162 ULONG (STDMETHODCALLTYPE *Release)(
1165 /*** ITypeInfo methods ***/
1166 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1168 TYPEATTR** ppTypeAttr);
1170 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1172 ITypeComp** ppTComp);
1174 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1177 FUNCDESC** ppFuncDesc);
1179 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1182 VARDESC** ppVarDesc);
1184 HRESULT (STDMETHODCALLTYPE *GetNames)(
1191 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1194 HREFTYPE* pRefType);
1196 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1199 INT* pImplTypeFlags);
1201 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1203 LPOLESTR* rgszNames,
1207 HRESULT (STDMETHODCALLTYPE *Invoke)(
1212 DISPPARAMS* pDispParams,
1213 VARIANT* pVarResult,
1214 EXCEPINFO* pExcepInfo,
1217 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1221 BSTR* pBstrDocString,
1222 DWORD* pdwHelpContext,
1223 BSTR* pBstrHelpFile);
1225 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1233 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1236 ITypeInfo** ppTInfo);
1238 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1244 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1246 IUnknown* pUnkOuter,
1250 HRESULT (STDMETHODCALLTYPE *GetMops)(
1255 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1260 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1262 TYPEATTR* pTypeAttr);
1264 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1266 FUNCDESC* pFuncDesc);
1268 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1274 #define ITypeInfo_IMETHODS \
1275 /*** IUnknown methods ***/ \
1276 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
1277 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
1278 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
1279 /*** ITypeInfo methods ***/ \
1280 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(INTERFACE *This, TYPEATTR** ppTypeAttr); \
1281 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
1282 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(INTERFACE *This, UINT index, FUNCDESC** ppFuncDesc); \
1283 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(INTERFACE *This, UINT index, VARDESC** ppVarDesc); \
1284 HRESULT (STDMETHODCALLTYPE *GetNames)(INTERFACE *This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); \
1285 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(INTERFACE *This, UINT index, HREFTYPE* pRefType); \
1286 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(INTERFACE *This, UINT index, INT* pImplTypeFlags); \
1287 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); \
1288 HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); \
1289 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
1290 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); \
1291 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(INTERFACE *This, HREFTYPE hRefType, ITypeInfo** ppTInfo); \
1292 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); \
1293 HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); \
1294 HRESULT (STDMETHODCALLTYPE *GetMops)(INTERFACE *This, MEMBERID memid, BSTR* pBstrMops); \
1295 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(INTERFACE *This, ITypeLib** ppTLib, UINT* pIndex); \
1296 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(INTERFACE *This, TYPEATTR* pTypeAttr); \
1297 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(INTERFACE *This, FUNCDESC* pFuncDesc); \
1298 void (STDMETHODCALLTYPE *ReleaseVarDesc)(INTERFACE *This, VARDESC* pVarDesc);
1300 /*** IUnknown methods ***/
1301 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1302 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1303 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1304 /*** ITypeInfo methods ***/
1305 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1306 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1307 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1308 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1309 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1310 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1311 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1312 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1313 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1314 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1315 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1316 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1317 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1318 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1319 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1320 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1321 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1322 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1323 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1327 HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
1329 LPTYPEATTR* ppTypeAttr,
1330 CLEANLOCALSTORAGE* pDummy);
1331 void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
1332 struct IRpcStubBuffer* This,
1333 struct IRpcChannelBuffer* pRpcChannelBuffer,
1334 PRPC_MESSAGE pRpcMessage,
1335 DWORD* pdwStubPhase);
1336 HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy(
1338 TYPEATTR** ppTypeAttr);
1339 HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
1341 LPTYPEATTR* ppTypeAttr,
1342 CLEANLOCALSTORAGE* pDummy);
1343 HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy(
1345 ITypeComp** ppTComp);
1346 void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
1347 struct IRpcStubBuffer* This,
1348 struct IRpcChannelBuffer* pRpcChannelBuffer,
1349 PRPC_MESSAGE pRpcMessage,
1350 DWORD* pdwStubPhase);
1351 HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy(
1354 LPFUNCDESC* ppFuncDesc,
1355 CLEANLOCALSTORAGE* pDummy);
1356 void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
1357 struct IRpcStubBuffer* This,
1358 struct IRpcChannelBuffer* pRpcChannelBuffer,
1359 PRPC_MESSAGE pRpcMessage,
1360 DWORD* pdwStubPhase);
1361 HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy(
1364 FUNCDESC** ppFuncDesc);
1365 HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
1368 LPFUNCDESC* ppFuncDesc,
1369 CLEANLOCALSTORAGE* pDummy);
1370 HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy(
1373 LPVARDESC* ppVarDesc,
1374 CLEANLOCALSTORAGE* pDummy);
1375 void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
1376 struct IRpcStubBuffer* This,
1377 struct IRpcChannelBuffer* pRpcChannelBuffer,
1378 PRPC_MESSAGE pRpcMessage,
1379 DWORD* pdwStubPhase);
1380 HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
1383 VARDESC** ppVarDesc);
1384 HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
1387 LPVARDESC* ppVarDesc,
1388 CLEANLOCALSTORAGE* pDummy);
1389 HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy(
1395 void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
1396 struct IRpcStubBuffer* This,
1397 struct IRpcChannelBuffer* pRpcChannelBuffer,
1398 PRPC_MESSAGE pRpcMessage,
1399 DWORD* pdwStubPhase);
1400 HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
1406 HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
1412 HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy(
1415 HREFTYPE* pRefType);
1416 void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
1417 struct IRpcStubBuffer* This,
1418 struct IRpcChannelBuffer* pRpcChannelBuffer,
1419 PRPC_MESSAGE pRpcMessage,
1420 DWORD* pdwStubPhase);
1421 HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy(
1424 INT* pImplTypeFlags);
1425 void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
1426 struct IRpcStubBuffer* This,
1427 struct IRpcChannelBuffer* pRpcChannelBuffer,
1428 PRPC_MESSAGE pRpcMessage,
1429 DWORD* pdwStubPhase);
1430 HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy(
1432 void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
1433 struct IRpcStubBuffer* This,
1434 struct IRpcChannelBuffer* pRpcChannelBuffer,
1435 PRPC_MESSAGE pRpcMessage,
1436 DWORD* pdwStubPhase);
1437 HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
1439 LPOLESTR* rgszNames,
1442 HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
1444 HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy(
1446 void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
1447 struct IRpcStubBuffer* This,
1448 struct IRpcChannelBuffer* pRpcChannelBuffer,
1449 PRPC_MESSAGE pRpcMessage,
1450 DWORD* pdwStubPhase);
1451 HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
1456 DISPPARAMS* pDispParams,
1457 VARIANT* pVarResult,
1458 EXCEPINFO* pExcepInfo,
1460 HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
1462 HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy(
1467 BSTR* pBstrDocString,
1468 DWORD* pdwHelpContext,
1469 BSTR* pBstrHelpFile);
1470 void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
1471 struct IRpcStubBuffer* This,
1472 struct IRpcChannelBuffer* pRpcChannelBuffer,
1473 PRPC_MESSAGE pRpcMessage,
1474 DWORD* pdwStubPhase);
1475 HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
1479 BSTR* pBstrDocString,
1480 DWORD* pdwHelpContext,
1481 BSTR* pBstrHelpFile);
1482 HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
1487 BSTR* pBstrDocString,
1488 DWORD* pdwHelpContext,
1489 BSTR* pBstrHelpFile);
1490 HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy(
1498 void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
1499 struct IRpcStubBuffer* This,
1500 struct IRpcChannelBuffer* pRpcChannelBuffer,
1501 PRPC_MESSAGE pRpcMessage,
1502 DWORD* pdwStubPhase);
1503 HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
1510 HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
1518 HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy(
1521 ITypeInfo** ppTInfo);
1522 void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
1523 struct IRpcStubBuffer* This,
1524 struct IRpcChannelBuffer* pRpcChannelBuffer,
1525 PRPC_MESSAGE pRpcMessage,
1526 DWORD* pdwStubPhase);
1527 HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy(
1529 void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
1530 struct IRpcStubBuffer* This,
1531 struct IRpcChannelBuffer* pRpcChannelBuffer,
1532 PRPC_MESSAGE pRpcMessage,
1533 DWORD* pdwStubPhase);
1534 HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
1539 HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
1541 HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy(
1545 void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
1546 struct IRpcStubBuffer* This,
1547 struct IRpcChannelBuffer* pRpcChannelBuffer,
1548 PRPC_MESSAGE pRpcMessage,
1549 DWORD* pdwStubPhase);
1550 HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
1552 IUnknown* pUnkOuter,
1555 HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
1559 HRESULT CALLBACK ITypeInfo_GetMops_Proxy(
1563 void __RPC_STUB ITypeInfo_GetMops_Stub(
1564 struct IRpcStubBuffer* This,
1565 struct IRpcChannelBuffer* pRpcChannelBuffer,
1566 PRPC_MESSAGE pRpcMessage,
1567 DWORD* pdwStubPhase);
1568 HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1572 void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
1573 struct IRpcStubBuffer* This,
1574 struct IRpcChannelBuffer* pRpcChannelBuffer,
1575 PRPC_MESSAGE pRpcMessage,
1576 DWORD* pdwStubPhase);
1577 HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
1581 HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
1585 HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy(
1587 void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
1588 struct IRpcStubBuffer* This,
1589 struct IRpcChannelBuffer* pRpcChannelBuffer,
1590 PRPC_MESSAGE pRpcMessage,
1591 DWORD* pdwStubPhase);
1592 void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
1594 TYPEATTR* pTypeAttr);
1595 HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
1597 HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy(
1599 void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
1600 struct IRpcStubBuffer* This,
1601 struct IRpcChannelBuffer* pRpcChannelBuffer,
1602 PRPC_MESSAGE pRpcMessage,
1603 DWORD* pdwStubPhase);
1604 void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
1606 FUNCDESC* pFuncDesc);
1607 HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
1609 HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy(
1611 void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
1612 struct IRpcStubBuffer* This,
1613 struct IRpcChannelBuffer* pRpcChannelBuffer,
1614 PRPC_MESSAGE pRpcMessage,
1615 DWORD* pdwStubPhase);
1616 void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
1619 HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
1622 typedef struct ITypeInfo2 ITypeInfo2;
1623 typedef ITypeInfo2 *LPTYPEINFO2;
1625 /*****************************************************************************
1626 * ITypeInfo2 interface
1628 DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1629 #if defined(__cplusplus) && !defined(CINTERFACE)
1630 struct ITypeInfo2: ITypeInfo {
1632 virtual HRESULT STDMETHODCALLTYPE GetTypeKind(
1633 TYPEKIND* pTypeKind) = 0;
1635 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
1636 ULONG* pTypeFlags) = 0;
1638 virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId(
1641 UINT* pFuncIndex) = 0;
1643 virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId(
1645 UINT* pVarIndex) = 0;
1647 virtual HRESULT STDMETHODCALLTYPE GetCustData(
1649 VARIANT* pVarVal) = 0;
1651 virtual HRESULT STDMETHODCALLTYPE GetFuncCustData(
1654 VARIANT* pVarVal) = 0;
1656 virtual HRESULT STDMETHODCALLTYPE GetParamCustData(
1660 VARIANT* pVarVal) = 0;
1662 virtual HRESULT STDMETHODCALLTYPE GetVarCustData(
1665 VARIANT* pVarVal) = 0;
1667 virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData(
1670 VARIANT* pVarVal) = 0;
1672 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
1675 BSTR* pbstrHelpString,
1676 DWORD* pdwHelpStringContext,
1677 BSTR* pbstrHelpStringDll) = 0;
1679 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
1680 CUSTDATA* pCustData) = 0;
1682 virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData(
1684 CUSTDATA* pCustData) = 0;
1686 virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData(
1689 CUSTDATA* pCustData) = 0;
1691 virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData(
1693 CUSTDATA* pCustData) = 0;
1695 virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData(
1697 CUSTDATA* pCustData) = 0;
1699 } ICOM_COM_INTERFACE_ATTRIBUTE;
1701 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl;
1703 const ITypeInfo2Vtbl* lpVtbl;
1705 struct ITypeInfo2Vtbl {
1706 ICOM_MSVTABLE_COMPAT_FIELDS
1708 /*** IUnknown methods ***/
1709 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1714 ULONG (STDMETHODCALLTYPE *AddRef)(
1717 ULONG (STDMETHODCALLTYPE *Release)(
1720 /*** ITypeInfo methods ***/
1721 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(
1723 TYPEATTR** ppTypeAttr);
1725 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
1727 ITypeComp** ppTComp);
1729 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(
1732 FUNCDESC** ppFuncDesc);
1734 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(
1737 VARDESC** ppVarDesc);
1739 HRESULT (STDMETHODCALLTYPE *GetNames)(
1746 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(
1749 HREFTYPE* pRefType);
1751 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(
1754 INT* pImplTypeFlags);
1756 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1758 LPOLESTR* rgszNames,
1762 HRESULT (STDMETHODCALLTYPE *Invoke)(
1767 DISPPARAMS* pDispParams,
1768 VARIANT* pVarResult,
1769 EXCEPINFO* pExcepInfo,
1772 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
1776 BSTR* pBstrDocString,
1777 DWORD* pdwHelpContext,
1778 BSTR* pBstrHelpFile);
1780 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(
1788 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(
1791 ITypeInfo** ppTInfo);
1793 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(
1799 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1801 IUnknown* pUnkOuter,
1805 HRESULT (STDMETHODCALLTYPE *GetMops)(
1810 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(
1815 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(
1817 TYPEATTR* pTypeAttr);
1819 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(
1821 FUNCDESC* pFuncDesc);
1823 void (STDMETHODCALLTYPE *ReleaseVarDesc)(
1827 /*** ITypeInfo2 methods ***/
1828 HRESULT (STDMETHODCALLTYPE *GetTypeKind)(
1830 TYPEKIND* pTypeKind);
1832 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
1836 HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)(
1842 HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)(
1847 HRESULT (STDMETHODCALLTYPE *GetCustData)(
1852 HRESULT (STDMETHODCALLTYPE *GetFuncCustData)(
1858 HRESULT (STDMETHODCALLTYPE *GetParamCustData)(
1865 HRESULT (STDMETHODCALLTYPE *GetVarCustData)(
1871 HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)(
1877 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
1881 BSTR* pbstrHelpString,
1882 DWORD* pdwHelpStringContext,
1883 BSTR* pbstrHelpStringDll);
1885 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
1887 CUSTDATA* pCustData);
1889 HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)(
1892 CUSTDATA* pCustData);
1894 HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)(
1898 CUSTDATA* pCustData);
1900 HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)(
1903 CUSTDATA* pCustData);
1905 HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)(
1908 CUSTDATA* pCustData);
1912 #define ITypeInfo2_IMETHODS \
1913 /*** IUnknown methods ***/ \
1914 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
1915 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
1916 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
1917 /*** ITypeInfo methods ***/ \
1918 HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(INTERFACE *This, TYPEATTR** ppTypeAttr); \
1919 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
1920 HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(INTERFACE *This, UINT index, FUNCDESC** ppFuncDesc); \
1921 HRESULT (STDMETHODCALLTYPE *GetVarDesc)(INTERFACE *This, UINT index, VARDESC** ppVarDesc); \
1922 HRESULT (STDMETHODCALLTYPE *GetNames)(INTERFACE *This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); \
1923 HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(INTERFACE *This, UINT index, HREFTYPE* pRefType); \
1924 HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(INTERFACE *This, UINT index, INT* pImplTypeFlags); \
1925 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); \
1926 HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); \
1927 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
1928 HRESULT (STDMETHODCALLTYPE *GetDllEntry)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); \
1929 HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(INTERFACE *This, HREFTYPE hRefType, ITypeInfo** ppTInfo); \
1930 HRESULT (STDMETHODCALLTYPE *AddressOfMember)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); \
1931 HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); \
1932 HRESULT (STDMETHODCALLTYPE *GetMops)(INTERFACE *This, MEMBERID memid, BSTR* pBstrMops); \
1933 HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(INTERFACE *This, ITypeLib** ppTLib, UINT* pIndex); \
1934 void (STDMETHODCALLTYPE *ReleaseTypeAttr)(INTERFACE *This, TYPEATTR* pTypeAttr); \
1935 void (STDMETHODCALLTYPE *ReleaseFuncDesc)(INTERFACE *This, FUNCDESC* pFuncDesc); \
1936 void (STDMETHODCALLTYPE *ReleaseVarDesc)(INTERFACE *This, VARDESC* pVarDesc); \
1937 /*** ITypeInfo2 methods ***/ \
1938 HRESULT (STDMETHODCALLTYPE *GetTypeKind)(INTERFACE *This, TYPEKIND* pTypeKind); \
1939 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(INTERFACE *This, ULONG* pTypeFlags); \
1940 HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex); \
1941 HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)(INTERFACE *This, MEMBERID memid, UINT* pVarIndex); \
1942 HRESULT (STDMETHODCALLTYPE *GetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
1943 HRESULT (STDMETHODCALLTYPE *GetFuncCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
1944 HRESULT (STDMETHODCALLTYPE *GetParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); \
1945 HRESULT (STDMETHODCALLTYPE *GetVarCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
1946 HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
1947 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(INTERFACE *This, MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); \
1948 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(INTERFACE *This, CUSTDATA* pCustData); \
1949 HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData); \
1950 HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, CUSTDATA* pCustData); \
1951 HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData); \
1952 HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData);
1954 /*** IUnknown methods ***/
1955 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1956 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1957 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1958 /*** ITypeInfo methods ***/
1959 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1960 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1961 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1962 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1963 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1964 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1965 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1966 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1967 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1968 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1969 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1970 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1971 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1972 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1973 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1974 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1975 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1976 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1977 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1978 /*** ITypeInfo2 methods ***/
1979 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1980 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
1981 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
1982 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
1983 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1984 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
1985 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
1986 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
1987 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
1988 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
1989 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
1990 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
1991 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
1992 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
1993 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
1997 HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy(
1999 TYPEKIND* pTypeKind);
2000 void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
2001 struct IRpcStubBuffer* This,
2002 struct IRpcChannelBuffer* pRpcChannelBuffer,
2003 PRPC_MESSAGE pRpcMessage,
2004 DWORD* pdwStubPhase);
2005 HRESULT CALLBACK ITypeInfo2_GetTypeFlags_Proxy(
2008 void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
2009 struct IRpcStubBuffer* This,
2010 struct IRpcChannelBuffer* pRpcChannelBuffer,
2011 PRPC_MESSAGE pRpcMessage,
2012 DWORD* pdwStubPhase);
2013 HRESULT CALLBACK ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2018 void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
2019 struct IRpcStubBuffer* This,
2020 struct IRpcChannelBuffer* pRpcChannelBuffer,
2021 PRPC_MESSAGE pRpcMessage,
2022 DWORD* pdwStubPhase);
2023 HRESULT CALLBACK ITypeInfo2_GetVarIndexOfMemId_Proxy(
2027 void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
2028 struct IRpcStubBuffer* This,
2029 struct IRpcChannelBuffer* pRpcChannelBuffer,
2030 PRPC_MESSAGE pRpcMessage,
2031 DWORD* pdwStubPhase);
2032 HRESULT CALLBACK ITypeInfo2_GetCustData_Proxy(
2036 void __RPC_STUB ITypeInfo2_GetCustData_Stub(
2037 struct IRpcStubBuffer* This,
2038 struct IRpcChannelBuffer* pRpcChannelBuffer,
2039 PRPC_MESSAGE pRpcMessage,
2040 DWORD* pdwStubPhase);
2041 HRESULT CALLBACK ITypeInfo2_GetFuncCustData_Proxy(
2046 void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
2047 struct IRpcStubBuffer* This,
2048 struct IRpcChannelBuffer* pRpcChannelBuffer,
2049 PRPC_MESSAGE pRpcMessage,
2050 DWORD* pdwStubPhase);
2051 HRESULT CALLBACK ITypeInfo2_GetParamCustData_Proxy(
2057 void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
2058 struct IRpcStubBuffer* This,
2059 struct IRpcChannelBuffer* pRpcChannelBuffer,
2060 PRPC_MESSAGE pRpcMessage,
2061 DWORD* pdwStubPhase);
2062 HRESULT CALLBACK ITypeInfo2_GetVarCustData_Proxy(
2067 void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
2068 struct IRpcStubBuffer* This,
2069 struct IRpcChannelBuffer* pRpcChannelBuffer,
2070 PRPC_MESSAGE pRpcMessage,
2071 DWORD* pdwStubPhase);
2072 HRESULT CALLBACK ITypeInfo2_GetImplTypeCustData_Proxy(
2077 void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
2078 struct IRpcStubBuffer* This,
2079 struct IRpcChannelBuffer* pRpcChannelBuffer,
2080 PRPC_MESSAGE pRpcMessage,
2081 DWORD* pdwStubPhase);
2082 HRESULT CALLBACK ITypeInfo2_RemoteGetDocumentation2_Proxy(
2087 BSTR* pbstrHelpString,
2088 DWORD* pdwHelpStringContext,
2089 BSTR* pbstrHelpStringDll);
2090 void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
2091 struct IRpcStubBuffer* This,
2092 struct IRpcChannelBuffer* pRpcChannelBuffer,
2093 PRPC_MESSAGE pRpcMessage,
2094 DWORD* pdwStubPhase);
2095 HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy(
2099 BSTR* pbstrHelpString,
2100 DWORD* pdwHelpStringContext,
2101 BSTR* pbstrHelpStringDll);
2102 HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub(
2107 BSTR* pbstrHelpString,
2108 DWORD* pdwHelpStringContext,
2109 BSTR* pbstrHelpStringDll);
2110 HRESULT CALLBACK ITypeInfo2_GetAllCustData_Proxy(
2112 CUSTDATA* pCustData);
2113 void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
2114 struct IRpcStubBuffer* This,
2115 struct IRpcChannelBuffer* pRpcChannelBuffer,
2116 PRPC_MESSAGE pRpcMessage,
2117 DWORD* pdwStubPhase);
2118 HRESULT CALLBACK ITypeInfo2_GetAllFuncCustData_Proxy(
2121 CUSTDATA* pCustData);
2122 void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
2123 struct IRpcStubBuffer* This,
2124 struct IRpcChannelBuffer* pRpcChannelBuffer,
2125 PRPC_MESSAGE pRpcMessage,
2126 DWORD* pdwStubPhase);
2127 HRESULT CALLBACK ITypeInfo2_GetAllParamCustData_Proxy(
2131 CUSTDATA* pCustData);
2132 void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
2133 struct IRpcStubBuffer* This,
2134 struct IRpcChannelBuffer* pRpcChannelBuffer,
2135 PRPC_MESSAGE pRpcMessage,
2136 DWORD* pdwStubPhase);
2137 HRESULT CALLBACK ITypeInfo2_GetAllVarCustData_Proxy(
2140 CUSTDATA* pCustData);
2141 void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
2142 struct IRpcStubBuffer* This,
2143 struct IRpcChannelBuffer* pRpcChannelBuffer,
2144 PRPC_MESSAGE pRpcMessage,
2145 DWORD* pdwStubPhase);
2146 HRESULT CALLBACK ITypeInfo2_GetAllImplTypeCustData_Proxy(
2149 CUSTDATA* pCustData);
2150 void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
2151 struct IRpcStubBuffer* This,
2152 struct IRpcChannelBuffer* pRpcChannelBuffer,
2153 PRPC_MESSAGE pRpcMessage,
2154 DWORD* pdwStubPhase);
2156 typedef ITypeLib *LPTYPELIB;
2158 typedef enum tagSYSKIND {
2164 typedef enum tagLIBFLAGS {
2165 LIBFLAG_FRESTRICTED = 0x1,
2166 LIBFLAG_FCONTROL = 0x2,
2167 LIBFLAG_FHIDDEN = 0x4,
2168 LIBFLAG_FHASDISKIMAGE = 0x8
2171 typedef struct tagTLIBATTR {
2178 } TLIBATTR, *LPTLIBATTR;
2180 /*****************************************************************************
2181 * ITypeLib interface
2183 DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2184 #if defined(__cplusplus) && !defined(CINTERFACE)
2185 struct ITypeLib: IUnknown {
2187 virtual UINT STDMETHODCALLTYPE GetTypeInfoCount(
2190 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
2192 ITypeInfo** ppTInfo) = 0;
2194 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType(
2196 TYPEKIND* pTKind) = 0;
2198 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid(
2200 ITypeInfo** ppTinfo) = 0;
2202 virtual HRESULT STDMETHODCALLTYPE GetLibAttr(
2203 TLIBATTR** ppTLibAttr) = 0;
2205 virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
2206 ITypeComp** ppTComp) = 0;
2208 virtual HRESULT STDMETHODCALLTYPE GetDocumentation(
2211 BSTR* pBstrDocString,
2212 DWORD* pdwHelpContext,
2213 BSTR* pBstrHelpFile) = 0;
2215 virtual HRESULT STDMETHODCALLTYPE IsName(
2220 virtual HRESULT STDMETHODCALLTYPE FindName(
2223 ITypeInfo** ppTInfo,
2225 USHORT* pcFound) = 0;
2227 virtual void STDMETHODCALLTYPE ReleaseTLibAttr(
2228 TLIBATTR* pTLibAttr) = 0;
2230 } ICOM_COM_INTERFACE_ATTRIBUTE;
2232 typedef struct ITypeLibVtbl ITypeLibVtbl;
2234 const ITypeLibVtbl* lpVtbl;
2236 struct ITypeLibVtbl {
2237 ICOM_MSVTABLE_COMPAT_FIELDS
2239 /*** IUnknown methods ***/
2240 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2245 ULONG (STDMETHODCALLTYPE *AddRef)(
2248 ULONG (STDMETHODCALLTYPE *Release)(
2251 /*** ITypeLib methods ***/
2252 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2255 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2258 ITypeInfo** ppTInfo);
2260 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2265 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2268 ITypeInfo** ppTinfo);
2270 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2272 TLIBATTR** ppTLibAttr);
2274 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2276 ITypeComp** ppTComp);
2278 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2282 BSTR* pBstrDocString,
2283 DWORD* pdwHelpContext,
2284 BSTR* pBstrHelpFile);
2286 HRESULT (STDMETHODCALLTYPE *IsName)(
2292 HRESULT (STDMETHODCALLTYPE *FindName)(
2296 ITypeInfo** ppTInfo,
2300 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2302 TLIBATTR* pTLibAttr);
2306 #define ITypeLib_IMETHODS \
2307 /*** IUnknown methods ***/ \
2308 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
2309 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
2310 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
2311 /*** ITypeLib methods ***/ \
2312 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This); \
2313 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT index, ITypeInfo** ppTInfo); \
2314 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(INTERFACE *This, UINT index, TYPEKIND* pTKind); \
2315 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(INTERFACE *This, REFGUID guid, ITypeInfo** ppTinfo); \
2316 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(INTERFACE *This, TLIBATTR** ppTLibAttr); \
2317 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
2318 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
2319 HRESULT (STDMETHODCALLTYPE *IsName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); \
2320 HRESULT (STDMETHODCALLTYPE *FindName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); \
2321 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(INTERFACE *This, TLIBATTR* pTLibAttr);
2323 /*** IUnknown methods ***/
2324 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2325 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2326 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2327 /*** ITypeLib methods ***/
2328 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2329 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2330 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2331 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2332 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2333 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2334 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2335 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2336 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2337 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2341 HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
2344 void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
2345 struct IRpcStubBuffer* This,
2346 struct IRpcChannelBuffer* pRpcChannelBuffer,
2347 PRPC_MESSAGE pRpcMessage,
2348 DWORD* pdwStubPhase);
2349 UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
2351 HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
2354 HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy(
2357 ITypeInfo** ppTInfo);
2358 void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
2359 struct IRpcStubBuffer* This,
2360 struct IRpcChannelBuffer* pRpcChannelBuffer,
2361 PRPC_MESSAGE pRpcMessage,
2362 DWORD* pdwStubPhase);
2363 HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy(
2367 void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
2368 struct IRpcStubBuffer* This,
2369 struct IRpcChannelBuffer* pRpcChannelBuffer,
2370 PRPC_MESSAGE pRpcMessage,
2371 DWORD* pdwStubPhase);
2372 HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy(
2375 ITypeInfo** ppTinfo);
2376 void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
2377 struct IRpcStubBuffer* This,
2378 struct IRpcChannelBuffer* pRpcChannelBuffer,
2379 PRPC_MESSAGE pRpcMessage,
2380 DWORD* pdwStubPhase);
2381 HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy(
2383 LPTLIBATTR* ppTLibAttr,
2384 CLEANLOCALSTORAGE* pDummy);
2385 void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
2386 struct IRpcStubBuffer* This,
2387 struct IRpcChannelBuffer* pRpcChannelBuffer,
2388 PRPC_MESSAGE pRpcMessage,
2389 DWORD* pdwStubPhase);
2390 HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
2392 TLIBATTR** ppTLibAttr);
2393 HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
2395 LPTLIBATTR* ppTLibAttr,
2396 CLEANLOCALSTORAGE* pDummy);
2397 HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy(
2399 ITypeComp** ppTComp);
2400 void __RPC_STUB ITypeLib_GetTypeComp_Stub(
2401 struct IRpcStubBuffer* This,
2402 struct IRpcChannelBuffer* pRpcChannelBuffer,
2403 PRPC_MESSAGE pRpcMessage,
2404 DWORD* pdwStubPhase);
2405 HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy(
2410 BSTR* pBstrDocString,
2411 DWORD* pdwHelpContext,
2412 BSTR* pBstrHelpFile);
2413 void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
2414 struct IRpcStubBuffer* This,
2415 struct IRpcChannelBuffer* pRpcChannelBuffer,
2416 PRPC_MESSAGE pRpcMessage,
2417 DWORD* pdwStubPhase);
2418 HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
2422 BSTR* pBstrDocString,
2423 DWORD* pdwHelpContext,
2424 BSTR* pBstrHelpFile);
2425 HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
2430 BSTR* pBstrDocString,
2431 DWORD* pdwHelpContext,
2432 BSTR* pBstrHelpFile);
2433 HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy(
2438 BSTR* pBstrLibName);
2439 void __RPC_STUB ITypeLib_RemoteIsName_Stub(
2440 struct IRpcStubBuffer* This,
2441 struct IRpcChannelBuffer* pRpcChannelBuffer,
2442 PRPC_MESSAGE pRpcMessage,
2443 DWORD* pdwStubPhase);
2444 HRESULT CALLBACK ITypeLib_IsName_Proxy(
2449 HRESULT __RPC_STUB ITypeLib_IsName_Stub(
2454 BSTR* pBstrLibName);
2455 HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy(
2459 ITypeInfo** ppTInfo,
2462 BSTR* pBstrLibName);
2463 void __RPC_STUB ITypeLib_RemoteFindName_Stub(
2464 struct IRpcStubBuffer* This,
2465 struct IRpcChannelBuffer* pRpcChannelBuffer,
2466 PRPC_MESSAGE pRpcMessage,
2467 DWORD* pdwStubPhase);
2468 HRESULT CALLBACK ITypeLib_FindName_Proxy(
2472 ITypeInfo** ppTInfo,
2475 HRESULT __RPC_STUB ITypeLib_FindName_Stub(
2479 ITypeInfo** ppTInfo,
2482 BSTR* pBstrLibName);
2483 HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy(
2485 void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
2486 struct IRpcStubBuffer* This,
2487 struct IRpcChannelBuffer* pRpcChannelBuffer,
2488 PRPC_MESSAGE pRpcMessage,
2489 DWORD* pdwStubPhase);
2490 void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
2492 TLIBATTR* pTLibAttr);
2493 HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
2496 typedef struct ITypeLib2 ITypeLib2;
2497 typedef ITypeLib2 *LPTYPELIB2;
2499 /*****************************************************************************
2500 * ITypeLib2 interface
2502 DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2503 #if defined(__cplusplus) && !defined(CINTERFACE)
2504 struct ITypeLib2: ITypeLib {
2506 virtual HRESULT STDMETHODCALLTYPE GetCustData(
2508 VARIANT* pVarVal) = 0;
2510 virtual HRESULT STDMETHODCALLTYPE GetLibStatistics(
2511 ULONG* pcUniqueNames,
2512 ULONG* pcchUniqueNames) = 0;
2514 virtual HRESULT STDMETHODCALLTYPE GetDocumentation2(
2517 BSTR* pbstrHelpString,
2518 DWORD* pdwHelpStringContext,
2519 BSTR* pbstrHelpStringDll) = 0;
2521 virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
2522 CUSTDATA* pCustData) = 0;
2524 } ICOM_COM_INTERFACE_ATTRIBUTE;
2526 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl;
2528 const ITypeLib2Vtbl* lpVtbl;
2530 struct ITypeLib2Vtbl {
2531 ICOM_MSVTABLE_COMPAT_FIELDS
2533 /*** IUnknown methods ***/
2534 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2539 ULONG (STDMETHODCALLTYPE *AddRef)(
2542 ULONG (STDMETHODCALLTYPE *Release)(
2545 /*** ITypeLib methods ***/
2546 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2549 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2552 ITypeInfo** ppTInfo);
2554 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(
2559 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(
2562 ITypeInfo** ppTinfo);
2564 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(
2566 TLIBATTR** ppTLibAttr);
2568 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(
2570 ITypeComp** ppTComp);
2572 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(
2576 BSTR* pBstrDocString,
2577 DWORD* pdwHelpContext,
2578 BSTR* pBstrHelpFile);
2580 HRESULT (STDMETHODCALLTYPE *IsName)(
2586 HRESULT (STDMETHODCALLTYPE *FindName)(
2590 ITypeInfo** ppTInfo,
2594 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(
2596 TLIBATTR* pTLibAttr);
2598 /*** ITypeLib2 methods ***/
2599 HRESULT (STDMETHODCALLTYPE *GetCustData)(
2604 HRESULT (STDMETHODCALLTYPE *GetLibStatistics)(
2606 ULONG* pcUniqueNames,
2607 ULONG* pcchUniqueNames);
2609 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(
2613 BSTR* pbstrHelpString,
2614 DWORD* pdwHelpStringContext,
2615 BSTR* pbstrHelpStringDll);
2617 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(
2619 CUSTDATA* pCustData);
2623 #define ITypeLib2_IMETHODS \
2624 /*** IUnknown methods ***/ \
2625 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
2626 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
2627 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
2628 /*** ITypeLib methods ***/ \
2629 UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This); \
2630 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT index, ITypeInfo** ppTInfo); \
2631 HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(INTERFACE *This, UINT index, TYPEKIND* pTKind); \
2632 HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(INTERFACE *This, REFGUID guid, ITypeInfo** ppTinfo); \
2633 HRESULT (STDMETHODCALLTYPE *GetLibAttr)(INTERFACE *This, TLIBATTR** ppTLibAttr); \
2634 HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
2635 HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
2636 HRESULT (STDMETHODCALLTYPE *IsName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); \
2637 HRESULT (STDMETHODCALLTYPE *FindName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); \
2638 void (STDMETHODCALLTYPE *ReleaseTLibAttr)(INTERFACE *This, TLIBATTR* pTLibAttr); \
2639 /*** ITypeLib2 methods ***/ \
2640 HRESULT (STDMETHODCALLTYPE *GetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
2641 HRESULT (STDMETHODCALLTYPE *GetLibStatistics)(INTERFACE *This, ULONG* pcUniqueNames, ULONG* pcchUniqueNames); \
2642 HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(INTERFACE *This, INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); \
2643 HRESULT (STDMETHODCALLTYPE *GetAllCustData)(INTERFACE *This, CUSTDATA* pCustData);
2645 /*** IUnknown methods ***/
2646 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2647 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2648 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2649 /*** ITypeLib methods ***/
2650 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2651 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2652 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2653 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2654 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2655 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2656 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2657 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2658 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2659 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2660 /*** ITypeLib2 methods ***/
2661 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2662 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2663 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2664 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2668 HRESULT CALLBACK ITypeLib2_GetCustData_Proxy(
2672 void __RPC_STUB ITypeLib2_GetCustData_Stub(
2673 struct IRpcStubBuffer* This,
2674 struct IRpcChannelBuffer* pRpcChannelBuffer,
2675 PRPC_MESSAGE pRpcMessage,
2676 DWORD* pdwStubPhase);
2677 HRESULT CALLBACK ITypeLib2_RemoteGetLibStatistics_Proxy(
2679 ULONG* pcUniqueNames,
2680 ULONG* pcchUniqueNames);
2681 void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
2682 struct IRpcStubBuffer* This,
2683 struct IRpcChannelBuffer* pRpcChannelBuffer,
2684 PRPC_MESSAGE pRpcMessage,
2685 DWORD* pdwStubPhase);
2686 HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy(
2688 ULONG* pcUniqueNames,
2689 ULONG* pcchUniqueNames);
2690 HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
2692 ULONG* pcUniqueNames,
2693 ULONG* pcchUniqueNames);
2694 HRESULT CALLBACK ITypeLib2_RemoteGetDocumentation2_Proxy(
2699 BSTR* pbstrHelpString,
2700 DWORD* pdwHelpStringContext,
2701 BSTR* pbstrHelpStringDll);
2702 void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
2703 struct IRpcStubBuffer* This,
2704 struct IRpcChannelBuffer* pRpcChannelBuffer,
2705 PRPC_MESSAGE pRpcMessage,
2706 DWORD* pdwStubPhase);
2707 HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
2711 BSTR* pbstrHelpString,
2712 DWORD* pdwHelpStringContext,
2713 BSTR* pbstrHelpStringDll);
2714 HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
2719 BSTR* pbstrHelpString,
2720 DWORD* pdwHelpStringContext,
2721 BSTR* pbstrHelpStringDll);
2722 HRESULT CALLBACK ITypeLib2_GetAllCustData_Proxy(
2724 CUSTDATA* pCustData);
2725 void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
2726 struct IRpcStubBuffer* This,
2727 struct IRpcChannelBuffer* pRpcChannelBuffer,
2728 PRPC_MESSAGE pRpcMessage,
2729 DWORD* pdwStubPhase);
2731 typedef struct ITypeChangeEvents ITypeChangeEvents;
2732 typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;
2734 typedef enum tagCHANGEKIND {
2735 CHANGEKIND_ADDMEMBER,
2736 CHANGEKIND_DELETEMEMBER,
2737 CHANGEKIND_SETNAMES,
2738 CHANGEKIND_SETDOCUMENTATION,
2740 CHANGEKIND_INVALIDATE,
2741 CHANGEKIND_CHANGEFAILED,
2745 /*****************************************************************************
2746 * ITypeChangeEvents interface
2748 DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2749 #if defined(__cplusplus) && !defined(CINTERFACE)
2750 struct ITypeChangeEvents: IUnknown {
2752 virtual HRESULT STDMETHODCALLTYPE RequestTypeChange(
2753 CHANGEKIND changeKind,
2754 ITypeInfo* pTInfoBefore,
2758 virtual HRESULT STDMETHODCALLTYPE AfterTypeChange(
2759 CHANGEKIND changeKind,
2760 ITypeInfo* pTInfoAfter,
2761 LPOLESTR pStrName) = 0;
2763 } ICOM_COM_INTERFACE_ATTRIBUTE;
2765 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl;
2766 struct ITypeChangeEvents {
2767 const ITypeChangeEventsVtbl* lpVtbl;
2769 struct ITypeChangeEventsVtbl {
2770 ICOM_MSVTABLE_COMPAT_FIELDS
2772 /*** IUnknown methods ***/
2773 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2774 ITypeChangeEvents* This,
2778 ULONG (STDMETHODCALLTYPE *AddRef)(
2779 ITypeChangeEvents* This);
2781 ULONG (STDMETHODCALLTYPE *Release)(
2782 ITypeChangeEvents* This);
2784 /*** ITypeChangeEvents methods ***/
2785 HRESULT (STDMETHODCALLTYPE *RequestTypeChange)(
2786 ITypeChangeEvents* This,
2787 CHANGEKIND changeKind,
2788 ITypeInfo* pTInfoBefore,
2792 HRESULT (STDMETHODCALLTYPE *AfterTypeChange)(
2793 ITypeChangeEvents* This,
2794 CHANGEKIND changeKind,
2795 ITypeInfo* pTInfoAfter,
2800 #define ITypeChangeEvents_IMETHODS \
2801 /*** IUnknown methods ***/ \
2802 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
2803 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
2804 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
2805 /*** ITypeChangeEvents methods ***/ \
2806 HRESULT (STDMETHODCALLTYPE *RequestTypeChange)(INTERFACE *This, CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel); \
2807 HRESULT (STDMETHODCALLTYPE *AfterTypeChange)(INTERFACE *This, CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName);
2809 /*** IUnknown methods ***/
2810 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2811 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2812 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2813 /*** ITypeChangeEvents methods ***/
2814 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2815 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2819 HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy(
2820 ITypeChangeEvents* This,
2821 CHANGEKIND changeKind,
2822 ITypeInfo* pTInfoBefore,
2825 void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
2826 struct IRpcStubBuffer* This,
2827 struct IRpcChannelBuffer* pRpcChannelBuffer,
2828 PRPC_MESSAGE pRpcMessage,
2829 DWORD* pdwStubPhase);
2830 HRESULT CALLBACK ITypeChangeEvents_AfterTypeChange_Proxy(
2831 ITypeChangeEvents* This,
2832 CHANGEKIND changeKind,
2833 ITypeInfo* pTInfoAfter,
2835 void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
2836 struct IRpcStubBuffer* This,
2837 struct IRpcChannelBuffer* pRpcChannelBuffer,
2838 PRPC_MESSAGE pRpcMessage,
2839 DWORD* pdwStubPhase);
2841 typedef struct IErrorInfo IErrorInfo;
2842 typedef IErrorInfo *LPERRORINFO;
2844 /*****************************************************************************
2845 * IErrorInfo interface
2847 DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2848 #if defined(__cplusplus) && !defined(CINTERFACE)
2849 struct IErrorInfo: IUnknown {
2851 virtual HRESULT STDMETHODCALLTYPE GetGUID(
2854 virtual HRESULT STDMETHODCALLTYPE GetSource(
2855 BSTR* pBstrSource) = 0;
2857 virtual HRESULT STDMETHODCALLTYPE GetDescription(
2858 BSTR* pBstrDescription) = 0;
2860 virtual HRESULT STDMETHODCALLTYPE GetHelpFile(
2861 BSTR* pBstrHelpFile) = 0;
2863 virtual HRESULT STDMETHODCALLTYPE GetHelpContext(
2864 DWORD* pdwHelpContext) = 0;
2866 } ICOM_COM_INTERFACE_ATTRIBUTE;
2868 typedef struct IErrorInfoVtbl IErrorInfoVtbl;
2870 const IErrorInfoVtbl* lpVtbl;
2872 struct IErrorInfoVtbl {
2873 ICOM_MSVTABLE_COMPAT_FIELDS
2875 /*** IUnknown methods ***/
2876 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2881 ULONG (STDMETHODCALLTYPE *AddRef)(
2884 ULONG (STDMETHODCALLTYPE *Release)(
2887 /*** IErrorInfo methods ***/
2888 HRESULT (STDMETHODCALLTYPE *GetGUID)(
2892 HRESULT (STDMETHODCALLTYPE *GetSource)(
2896 HRESULT (STDMETHODCALLTYPE *GetDescription)(
2898 BSTR* pBstrDescription);
2900 HRESULT (STDMETHODCALLTYPE *GetHelpFile)(
2902 BSTR* pBstrHelpFile);
2904 HRESULT (STDMETHODCALLTYPE *GetHelpContext)(
2906 DWORD* pdwHelpContext);
2910 #define IErrorInfo_IMETHODS \
2911 /*** IUnknown methods ***/ \
2912 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
2913 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
2914 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
2915 /*** IErrorInfo methods ***/ \
2916 HRESULT (STDMETHODCALLTYPE *GetGUID)(INTERFACE *This, GUID* pGUID); \
2917 HRESULT (STDMETHODCALLTYPE *GetSource)(INTERFACE *This, BSTR* pBstrSource); \
2918 HRESULT (STDMETHODCALLTYPE *GetDescription)(INTERFACE *This, BSTR* pBstrDescription); \
2919 HRESULT (STDMETHODCALLTYPE *GetHelpFile)(INTERFACE *This, BSTR* pBstrHelpFile); \
2920 HRESULT (STDMETHODCALLTYPE *GetHelpContext)(INTERFACE *This, DWORD* pdwHelpContext);
2922 /*** IUnknown methods ***/
2923 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2924 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
2925 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
2926 /*** IErrorInfo methods ***/
2927 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
2928 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
2929 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
2930 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
2931 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
2935 HRESULT CALLBACK IErrorInfo_GetGUID_Proxy(
2938 void __RPC_STUB IErrorInfo_GetGUID_Stub(
2939 struct IRpcStubBuffer* This,
2940 struct IRpcChannelBuffer* pRpcChannelBuffer,
2941 PRPC_MESSAGE pRpcMessage,
2942 DWORD* pdwStubPhase);
2943 HRESULT CALLBACK IErrorInfo_GetSource_Proxy(
2946 void __RPC_STUB IErrorInfo_GetSource_Stub(
2947 struct IRpcStubBuffer* This,
2948 struct IRpcChannelBuffer* pRpcChannelBuffer,
2949 PRPC_MESSAGE pRpcMessage,
2950 DWORD* pdwStubPhase);
2951 HRESULT CALLBACK IErrorInfo_GetDescription_Proxy(
2953 BSTR* pBstrDescription);
2954 void __RPC_STUB IErrorInfo_GetDescription_Stub(
2955 struct IRpcStubBuffer* This,
2956 struct IRpcChannelBuffer* pRpcChannelBuffer,
2957 PRPC_MESSAGE pRpcMessage,
2958 DWORD* pdwStubPhase);
2959 HRESULT CALLBACK IErrorInfo_GetHelpFile_Proxy(
2961 BSTR* pBstrHelpFile);
2962 void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
2963 struct IRpcStubBuffer* This,
2964 struct IRpcChannelBuffer* pRpcChannelBuffer,
2965 PRPC_MESSAGE pRpcMessage,
2966 DWORD* pdwStubPhase);
2967 HRESULT CALLBACK IErrorInfo_GetHelpContext_Proxy(
2969 DWORD* pdwHelpContext);
2970 void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
2971 struct IRpcStubBuffer* This,
2972 struct IRpcChannelBuffer* pRpcChannelBuffer,
2973 PRPC_MESSAGE pRpcMessage,
2974 DWORD* pdwStubPhase);
2976 typedef struct ICreateErrorInfo ICreateErrorInfo;
2977 typedef ICreateErrorInfo *LPCREATEERRORINFO;
2979 /*****************************************************************************
2980 * ICreateErrorInfo interface
2982 DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2983 #if defined(__cplusplus) && !defined(CINTERFACE)
2984 struct ICreateErrorInfo: IUnknown {
2986 virtual HRESULT STDMETHODCALLTYPE SetGUID(
2989 virtual HRESULT STDMETHODCALLTYPE SetSource(
2990 LPOLESTR szSource) = 0;
2992 virtual HRESULT STDMETHODCALLTYPE SetDescription(
2993 LPOLESTR szDescription) = 0;
2995 virtual HRESULT STDMETHODCALLTYPE SetHelpFile(
2996 LPOLESTR szHelpFile) = 0;
2998 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
2999 DWORD dwHelpContext) = 0;
3001 } ICOM_COM_INTERFACE_ATTRIBUTE;
3003 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl;
3004 struct ICreateErrorInfo {
3005 const ICreateErrorInfoVtbl* lpVtbl;
3007 struct ICreateErrorInfoVtbl {
3008 ICOM_MSVTABLE_COMPAT_FIELDS
3010 /*** IUnknown methods ***/
3011 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3012 ICreateErrorInfo* This,
3016 ULONG (STDMETHODCALLTYPE *AddRef)(
3017 ICreateErrorInfo* This);
3019 ULONG (STDMETHODCALLTYPE *Release)(
3020 ICreateErrorInfo* This);
3022 /*** ICreateErrorInfo methods ***/
3023 HRESULT (STDMETHODCALLTYPE *SetGUID)(
3024 ICreateErrorInfo* This,
3027 HRESULT (STDMETHODCALLTYPE *SetSource)(
3028 ICreateErrorInfo* This,
3031 HRESULT (STDMETHODCALLTYPE *SetDescription)(
3032 ICreateErrorInfo* This,
3033 LPOLESTR szDescription);
3035 HRESULT (STDMETHODCALLTYPE *SetHelpFile)(
3036 ICreateErrorInfo* This,
3037 LPOLESTR szHelpFile);
3039 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
3040 ICreateErrorInfo* This,
3041 DWORD dwHelpContext);
3045 #define ICreateErrorInfo_IMETHODS \
3046 /*** IUnknown methods ***/ \
3047 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3048 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3049 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3050 /*** ICreateErrorInfo methods ***/ \
3051 HRESULT (STDMETHODCALLTYPE *SetGUID)(INTERFACE *This, REFGUID rguid); \
3052 HRESULT (STDMETHODCALLTYPE *SetSource)(INTERFACE *This, LPOLESTR szSource); \
3053 HRESULT (STDMETHODCALLTYPE *SetDescription)(INTERFACE *This, LPOLESTR szDescription); \
3054 HRESULT (STDMETHODCALLTYPE *SetHelpFile)(INTERFACE *This, LPOLESTR szHelpFile); \
3055 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext);
3057 /*** IUnknown methods ***/
3058 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3059 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3060 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3061 /*** ICreateErrorInfo methods ***/
3062 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3063 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3064 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3065 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3066 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3070 HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy(
3071 ICreateErrorInfo* This,
3073 void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
3074 struct IRpcStubBuffer* This,
3075 struct IRpcChannelBuffer* pRpcChannelBuffer,
3076 PRPC_MESSAGE pRpcMessage,
3077 DWORD* pdwStubPhase);
3078 HRESULT CALLBACK ICreateErrorInfo_SetSource_Proxy(
3079 ICreateErrorInfo* This,
3081 void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
3082 struct IRpcStubBuffer* This,
3083 struct IRpcChannelBuffer* pRpcChannelBuffer,
3084 PRPC_MESSAGE pRpcMessage,
3085 DWORD* pdwStubPhase);
3086 HRESULT CALLBACK ICreateErrorInfo_SetDescription_Proxy(
3087 ICreateErrorInfo* This,
3088 LPOLESTR szDescription);
3089 void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
3090 struct IRpcStubBuffer* This,
3091 struct IRpcChannelBuffer* pRpcChannelBuffer,
3092 PRPC_MESSAGE pRpcMessage,
3093 DWORD* pdwStubPhase);
3094 HRESULT CALLBACK ICreateErrorInfo_SetHelpFile_Proxy(
3095 ICreateErrorInfo* This,
3096 LPOLESTR szHelpFile);
3097 void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
3098 struct IRpcStubBuffer* This,
3099 struct IRpcChannelBuffer* pRpcChannelBuffer,
3100 PRPC_MESSAGE pRpcMessage,
3101 DWORD* pdwStubPhase);
3102 HRESULT CALLBACK ICreateErrorInfo_SetHelpContext_Proxy(
3103 ICreateErrorInfo* This,
3104 DWORD dwHelpContext);
3105 void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
3106 struct IRpcStubBuffer* This,
3107 struct IRpcChannelBuffer* pRpcChannelBuffer,
3108 PRPC_MESSAGE pRpcMessage,
3109 DWORD* pdwStubPhase);
3111 typedef struct ISupportErrorInfo ISupportErrorInfo;
3112 typedef ISupportErrorInfo *LPSUPPORTERRORINFO;
3114 /*****************************************************************************
3115 * ISupportErrorInfo interface
3117 DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3118 #if defined(__cplusplus) && !defined(CINTERFACE)
3119 struct ISupportErrorInfo: IUnknown {
3121 virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(
3124 } ICOM_COM_INTERFACE_ATTRIBUTE;
3126 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl;
3127 struct ISupportErrorInfo {
3128 const ISupportErrorInfoVtbl* lpVtbl;
3130 struct ISupportErrorInfoVtbl {
3131 ICOM_MSVTABLE_COMPAT_FIELDS
3133 /*** IUnknown methods ***/
3134 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3135 ISupportErrorInfo* This,
3139 ULONG (STDMETHODCALLTYPE *AddRef)(
3140 ISupportErrorInfo* This);
3142 ULONG (STDMETHODCALLTYPE *Release)(
3143 ISupportErrorInfo* This);
3145 /*** ISupportErrorInfo methods ***/
3146 HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)(
3147 ISupportErrorInfo* This,
3152 #define ISupportErrorInfo_IMETHODS \
3153 /*** IUnknown methods ***/ \
3154 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3155 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3156 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3157 /*** ISupportErrorInfo methods ***/ \
3158 HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)(INTERFACE *This, REFIID riid);
3160 /*** IUnknown methods ***/
3161 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3162 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3163 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3164 /*** ISupportErrorInfo methods ***/
3165 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3169 HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3170 ISupportErrorInfo* This,
3172 void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3173 struct IRpcStubBuffer* This,
3174 struct IRpcChannelBuffer* pRpcChannelBuffer,
3175 PRPC_MESSAGE pRpcMessage,
3176 DWORD* pdwStubPhase);
3178 typedef struct ITypeFactory ITypeFactory;
3179 /*****************************************************************************
3180 * ITypeFactory interface
3182 DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3183 #if defined(__cplusplus) && !defined(CINTERFACE)
3184 struct ITypeFactory: IUnknown {
3186 virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo(
3187 ITypeInfo* pTypeInfo,
3189 IUnknown** ppv) = 0;
3191 } ICOM_COM_INTERFACE_ATTRIBUTE;
3193 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl;
3194 struct ITypeFactory {
3195 const ITypeFactoryVtbl* lpVtbl;
3197 struct ITypeFactoryVtbl {
3198 ICOM_MSVTABLE_COMPAT_FIELDS
3200 /*** IUnknown methods ***/
3201 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3206 ULONG (STDMETHODCALLTYPE *AddRef)(
3207 ITypeFactory* This);
3209 ULONG (STDMETHODCALLTYPE *Release)(
3210 ITypeFactory* This);
3212 /*** ITypeFactory methods ***/
3213 HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)(
3215 ITypeInfo* pTypeInfo,
3221 #define ITypeFactory_IMETHODS \
3222 /*** IUnknown methods ***/ \
3223 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3224 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3225 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3226 /*** ITypeFactory methods ***/ \
3227 HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)(INTERFACE *This, ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv);
3229 /*** IUnknown methods ***/
3230 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3231 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3232 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3233 /*** ITypeFactory methods ***/
3234 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3238 HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy(
3240 ITypeInfo* pTypeInfo,
3243 void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
3244 struct IRpcStubBuffer* This,
3245 struct IRpcChannelBuffer* pRpcChannelBuffer,
3246 PRPC_MESSAGE pRpcMessage,
3247 DWORD* pdwStubPhase);
3249 typedef struct ITypeMarshal ITypeMarshal;
3250 /*****************************************************************************
3251 * ITypeMarshal interface
3253 DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3254 #if defined(__cplusplus) && !defined(CINTERFACE)
3255 struct ITypeMarshal: IUnknown {
3257 virtual HRESULT STDMETHODCALLTYPE Size(
3259 DWORD dwDestContext,
3260 PVOID pvDestContext,
3263 virtual HRESULT STDMETHODCALLTYPE Marshal(
3265 DWORD dwDestContext,
3266 PVOID pvDestContext,
3267 ULONG cbBufferLength,
3269 ULONG* pcbWritten) = 0;
3271 virtual HRESULT STDMETHODCALLTYPE Unmarshal(
3274 ULONG cbBufferLength,
3276 ULONG* pcbRead) = 0;
3278 virtual HRESULT STDMETHODCALLTYPE Free(
3281 } ICOM_COM_INTERFACE_ATTRIBUTE;
3283 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl;
3284 struct ITypeMarshal {
3285 const ITypeMarshalVtbl* lpVtbl;
3287 struct ITypeMarshalVtbl {
3288 ICOM_MSVTABLE_COMPAT_FIELDS
3290 /*** IUnknown methods ***/
3291 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3296 ULONG (STDMETHODCALLTYPE *AddRef)(
3297 ITypeMarshal* This);
3299 ULONG (STDMETHODCALLTYPE *Release)(
3300 ITypeMarshal* This);
3302 /*** ITypeMarshal methods ***/
3303 HRESULT (STDMETHODCALLTYPE *Size)(
3306 DWORD dwDestContext,
3307 PVOID pvDestContext,
3310 HRESULT (STDMETHODCALLTYPE *Marshal)(
3313 DWORD dwDestContext,
3314 PVOID pvDestContext,
3315 ULONG cbBufferLength,
3319 HRESULT (STDMETHODCALLTYPE *Unmarshal)(
3323 ULONG cbBufferLength,
3327 HRESULT (STDMETHODCALLTYPE *Free)(
3333 #define ITypeMarshal_IMETHODS \
3334 /*** IUnknown methods ***/ \
3335 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3336 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3337 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3338 /*** ITypeMarshal methods ***/ \
3339 HRESULT (STDMETHODCALLTYPE *Size)(INTERFACE *This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize); \
3340 HRESULT (STDMETHODCALLTYPE *Marshal)(INTERFACE *This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten); \
3341 HRESULT (STDMETHODCALLTYPE *Unmarshal)(INTERFACE *This, PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead); \
3342 HRESULT (STDMETHODCALLTYPE *Free)(INTERFACE *This, PVOID pvType);
3344 /*** IUnknown methods ***/
3345 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3346 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3347 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3348 /*** ITypeMarshal methods ***/
3349 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3350 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3351 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3352 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3356 HRESULT CALLBACK ITypeMarshal_Size_Proxy(
3359 DWORD dwDestContext,
3360 PVOID pvDestContext,
3362 void __RPC_STUB ITypeMarshal_Size_Stub(
3363 struct IRpcStubBuffer* This,
3364 struct IRpcChannelBuffer* pRpcChannelBuffer,
3365 PRPC_MESSAGE pRpcMessage,
3366 DWORD* pdwStubPhase);
3367 HRESULT CALLBACK ITypeMarshal_Marshal_Proxy(
3370 DWORD dwDestContext,
3371 PVOID pvDestContext,
3372 ULONG cbBufferLength,
3375 void __RPC_STUB ITypeMarshal_Marshal_Stub(
3376 struct IRpcStubBuffer* This,
3377 struct IRpcChannelBuffer* pRpcChannelBuffer,
3378 PRPC_MESSAGE pRpcMessage,
3379 DWORD* pdwStubPhase);
3380 HRESULT CALLBACK ITypeMarshal_Unmarshal_Proxy(
3384 ULONG cbBufferLength,
3387 void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
3388 struct IRpcStubBuffer* This,
3389 struct IRpcChannelBuffer* pRpcChannelBuffer,
3390 PRPC_MESSAGE pRpcMessage,
3391 DWORD* pdwStubPhase);
3392 HRESULT CALLBACK ITypeMarshal_Free_Proxy(
3395 void __RPC_STUB ITypeMarshal_Free_Stub(
3396 struct IRpcStubBuffer* This,
3397 struct IRpcChannelBuffer* pRpcChannelBuffer,
3398 PRPC_MESSAGE pRpcMessage,
3399 DWORD* pdwStubPhase);
3401 typedef IRecordInfo *LPRECORDINFO;
3403 /*****************************************************************************
3404 * IRecordInfo interface
3406 DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3407 #if defined(__cplusplus) && !defined(CINTERFACE)
3408 struct IRecordInfo: IUnknown {
3410 virtual HRESULT STDMETHODCALLTYPE RecordInit(
3413 virtual HRESULT STDMETHODCALLTYPE RecordClear(
3414 PVOID pvExisting) = 0;
3416 virtual HRESULT STDMETHODCALLTYPE RecordCopy(
3420 virtual HRESULT STDMETHODCALLTYPE GetGuid(
3423 virtual HRESULT STDMETHODCALLTYPE GetName(
3424 BSTR* pbstrName) = 0;
3426 virtual HRESULT STDMETHODCALLTYPE GetSize(
3427 ULONG* pcbSize) = 0;
3429 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
3430 ITypeInfo** ppTypeInfo) = 0;
3432 virtual HRESULT STDMETHODCALLTYPE GetField(
3434 LPCOLESTR szFieldName,
3435 VARIANT* pvarField) = 0;
3437 virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy(
3439 LPCOLESTR szFieldName,
3441 PVOID* ppvDataCArray) = 0;
3443 virtual HRESULT STDMETHODCALLTYPE PutField(
3446 LPCOLESTR szFieldName,
3447 VARIANT* pvarField) = 0;
3449 virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy(
3452 LPCOLESTR szFieldName,
3453 VARIANT* pvarField) = 0;
3455 virtual HRESULT STDMETHODCALLTYPE GetFieldNames(
3457 BSTR* rgBstrNames) = 0;
3459 virtual BOOL STDMETHODCALLTYPE IsMatchingType(
3460 IRecordInfo* pRecordInfo) = 0;
3462 virtual PVOID STDMETHODCALLTYPE RecordCreate(
3465 virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy(
3467 PVOID* ppvDest) = 0;
3469 virtual HRESULT STDMETHODCALLTYPE RecordDestroy(
3470 PVOID pvRecord) = 0;
3472 } ICOM_COM_INTERFACE_ATTRIBUTE;
3474 typedef struct IRecordInfoVtbl IRecordInfoVtbl;
3475 struct IRecordInfo {
3476 const IRecordInfoVtbl* lpVtbl;
3478 struct IRecordInfoVtbl {
3479 ICOM_MSVTABLE_COMPAT_FIELDS
3481 /*** IUnknown methods ***/
3482 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3487 ULONG (STDMETHODCALLTYPE *AddRef)(
3490 ULONG (STDMETHODCALLTYPE *Release)(
3493 /*** IRecordInfo methods ***/
3494 HRESULT (STDMETHODCALLTYPE *RecordInit)(
3498 HRESULT (STDMETHODCALLTYPE *RecordClear)(
3502 HRESULT (STDMETHODCALLTYPE *RecordCopy)(
3507 HRESULT (STDMETHODCALLTYPE *GetGuid)(
3511 HRESULT (STDMETHODCALLTYPE *GetName)(
3515 HRESULT (STDMETHODCALLTYPE *GetSize)(
3519 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3521 ITypeInfo** ppTypeInfo);
3523 HRESULT (STDMETHODCALLTYPE *GetField)(
3526 LPCOLESTR szFieldName,
3527 VARIANT* pvarField);
3529 HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)(
3532 LPCOLESTR szFieldName,
3534 PVOID* ppvDataCArray);
3536 HRESULT (STDMETHODCALLTYPE *PutField)(
3540 LPCOLESTR szFieldName,
3541 VARIANT* pvarField);
3543 HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)(
3547 LPCOLESTR szFieldName,
3548 VARIANT* pvarField);
3550 HRESULT (STDMETHODCALLTYPE *GetFieldNames)(
3555 BOOL (STDMETHODCALLTYPE *IsMatchingType)(
3557 IRecordInfo* pRecordInfo);
3559 PVOID (STDMETHODCALLTYPE *RecordCreate)(
3562 HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)(
3567 HRESULT (STDMETHODCALLTYPE *RecordDestroy)(
3573 #define IRecordInfo_IMETHODS \
3574 /*** IUnknown methods ***/ \
3575 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3576 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3577 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3578 /*** IRecordInfo methods ***/ \
3579 HRESULT (STDMETHODCALLTYPE *RecordInit)(INTERFACE *This, PVOID pvNew); \
3580 HRESULT (STDMETHODCALLTYPE *RecordClear)(INTERFACE *This, PVOID pvExisting); \
3581 HRESULT (STDMETHODCALLTYPE *RecordCopy)(INTERFACE *This, PVOID pvExisting, PVOID pvNew); \
3582 HRESULT (STDMETHODCALLTYPE *GetGuid)(INTERFACE *This, GUID* pguid); \
3583 HRESULT (STDMETHODCALLTYPE *GetName)(INTERFACE *This, BSTR* pbstrName); \
3584 HRESULT (STDMETHODCALLTYPE *GetSize)(INTERFACE *This, ULONG* pcbSize); \
3585 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, ITypeInfo** ppTypeInfo); \
3586 HRESULT (STDMETHODCALLTYPE *GetField)(INTERFACE *This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
3587 HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)(INTERFACE *This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray); \
3588 HRESULT (STDMETHODCALLTYPE *PutField)(INTERFACE *This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
3589 HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)(INTERFACE *This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
3590 HRESULT (STDMETHODCALLTYPE *GetFieldNames)(INTERFACE *This, ULONG* pcNames, BSTR* rgBstrNames); \
3591 BOOL (STDMETHODCALLTYPE *IsMatchingType)(INTERFACE *This, IRecordInfo* pRecordInfo); \
3592 PVOID (STDMETHODCALLTYPE *RecordCreate)(INTERFACE *This); \
3593 HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)(INTERFACE *This, PVOID pvSource, PVOID* ppvDest); \
3594 HRESULT (STDMETHODCALLTYPE *RecordDestroy)(INTERFACE *This, PVOID pvRecord);
3596 /*** IUnknown methods ***/
3597 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3598 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3599 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3600 /*** IRecordInfo methods ***/
3601 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3602 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3603 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3604 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3605 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3606 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3607 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3608 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3609 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3610 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3611 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3612 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3613 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3614 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3615 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3616 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3620 HRESULT CALLBACK IRecordInfo_RecordInit_Proxy(
3623 void __RPC_STUB IRecordInfo_RecordInit_Stub(
3624 struct IRpcStubBuffer* This,
3625 struct IRpcChannelBuffer* pRpcChannelBuffer,
3626 PRPC_MESSAGE pRpcMessage,
3627 DWORD* pdwStubPhase);
3628 HRESULT CALLBACK IRecordInfo_RecordClear_Proxy(
3631 void __RPC_STUB IRecordInfo_RecordClear_Stub(
3632 struct IRpcStubBuffer* This,
3633 struct IRpcChannelBuffer* pRpcChannelBuffer,
3634 PRPC_MESSAGE pRpcMessage,
3635 DWORD* pdwStubPhase);
3636 HRESULT CALLBACK IRecordInfo_RecordCopy_Proxy(
3640 void __RPC_STUB IRecordInfo_RecordCopy_Stub(
3641 struct IRpcStubBuffer* This,
3642 struct IRpcChannelBuffer* pRpcChannelBuffer,
3643 PRPC_MESSAGE pRpcMessage,
3644 DWORD* pdwStubPhase);
3645 HRESULT CALLBACK IRecordInfo_GetGuid_Proxy(
3648 void __RPC_STUB IRecordInfo_GetGuid_Stub(
3649 struct IRpcStubBuffer* This,
3650 struct IRpcChannelBuffer* pRpcChannelBuffer,
3651 PRPC_MESSAGE pRpcMessage,
3652 DWORD* pdwStubPhase);
3653 HRESULT CALLBACK IRecordInfo_GetName_Proxy(
3656 void __RPC_STUB IRecordInfo_GetName_Stub(
3657 struct IRpcStubBuffer* This,
3658 struct IRpcChannelBuffer* pRpcChannelBuffer,
3659 PRPC_MESSAGE pRpcMessage,
3660 DWORD* pdwStubPhase);
3661 HRESULT CALLBACK IRecordInfo_GetSize_Proxy(
3664 void __RPC_STUB IRecordInfo_GetSize_Stub(
3665 struct IRpcStubBuffer* This,
3666 struct IRpcChannelBuffer* pRpcChannelBuffer,
3667 PRPC_MESSAGE pRpcMessage,
3668 DWORD* pdwStubPhase);
3669 HRESULT CALLBACK IRecordInfo_GetTypeInfo_Proxy(
3671 ITypeInfo** ppTypeInfo);
3672 void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
3673 struct IRpcStubBuffer* This,
3674 struct IRpcChannelBuffer* pRpcChannelBuffer,
3675 PRPC_MESSAGE pRpcMessage,
3676 DWORD* pdwStubPhase);
3677 HRESULT CALLBACK IRecordInfo_GetField_Proxy(
3680 LPCOLESTR szFieldName,
3681 VARIANT* pvarField);
3682 void __RPC_STUB IRecordInfo_GetField_Stub(
3683 struct IRpcStubBuffer* This,
3684 struct IRpcChannelBuffer* pRpcChannelBuffer,
3685 PRPC_MESSAGE pRpcMessage,
3686 DWORD* pdwStubPhase);
3687 HRESULT CALLBACK IRecordInfo_GetFieldNoCopy_Proxy(
3690 LPCOLESTR szFieldName,
3692 PVOID* ppvDataCArray);
3693 void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
3694 struct IRpcStubBuffer* This,
3695 struct IRpcChannelBuffer* pRpcChannelBuffer,
3696 PRPC_MESSAGE pRpcMessage,
3697 DWORD* pdwStubPhase);
3698 HRESULT CALLBACK IRecordInfo_PutField_Proxy(
3702 LPCOLESTR szFieldName,
3703 VARIANT* pvarField);
3704 void __RPC_STUB IRecordInfo_PutField_Stub(
3705 struct IRpcStubBuffer* This,
3706 struct IRpcChannelBuffer* pRpcChannelBuffer,
3707 PRPC_MESSAGE pRpcMessage,
3708 DWORD* pdwStubPhase);
3709 HRESULT CALLBACK IRecordInfo_PutFieldNoCopy_Proxy(
3713 LPCOLESTR szFieldName,
3714 VARIANT* pvarField);
3715 void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
3716 struct IRpcStubBuffer* This,
3717 struct IRpcChannelBuffer* pRpcChannelBuffer,
3718 PRPC_MESSAGE pRpcMessage,
3719 DWORD* pdwStubPhase);
3720 HRESULT CALLBACK IRecordInfo_GetFieldNames_Proxy(
3724 void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
3725 struct IRpcStubBuffer* This,
3726 struct IRpcChannelBuffer* pRpcChannelBuffer,
3727 PRPC_MESSAGE pRpcMessage,
3728 DWORD* pdwStubPhase);
3729 BOOL CALLBACK IRecordInfo_IsMatchingType_Proxy(
3731 IRecordInfo* pRecordInfo);
3732 void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
3733 struct IRpcStubBuffer* This,
3734 struct IRpcChannelBuffer* pRpcChannelBuffer,
3735 PRPC_MESSAGE pRpcMessage,
3736 DWORD* pdwStubPhase);
3737 PVOID CALLBACK IRecordInfo_RecordCreate_Proxy(
3739 void __RPC_STUB IRecordInfo_RecordCreate_Stub(
3740 struct IRpcStubBuffer* This,
3741 struct IRpcChannelBuffer* pRpcChannelBuffer,
3742 PRPC_MESSAGE pRpcMessage,
3743 DWORD* pdwStubPhase);
3744 HRESULT CALLBACK IRecordInfo_RecordCreateCopy_Proxy(
3748 void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
3749 struct IRpcStubBuffer* This,
3750 struct IRpcChannelBuffer* pRpcChannelBuffer,
3751 PRPC_MESSAGE pRpcMessage,
3752 DWORD* pdwStubPhase);
3753 HRESULT CALLBACK IRecordInfo_RecordDestroy_Proxy(
3756 void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
3757 struct IRpcStubBuffer* This,
3758 struct IRpcChannelBuffer* pRpcChannelBuffer,
3759 PRPC_MESSAGE pRpcMessage,
3760 DWORD* pdwStubPhase);
3762 typedef struct ICreateTypeInfo ICreateTypeInfo;
3763 typedef ICreateTypeInfo *LPCREATETYPEINFO;
3765 /*****************************************************************************
3766 * ICreateTypeInfo interface
3768 DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3769 #if defined(__cplusplus) && !defined(CINTERFACE)
3770 struct ICreateTypeInfo: IUnknown {
3772 virtual HRESULT STDMETHODCALLTYPE SetGuid(
3775 virtual HRESULT STDMETHODCALLTYPE SetTypeFlags(
3776 UINT uTypeFlags) = 0;
3778 virtual HRESULT STDMETHODCALLTYPE SetDocString(
3779 LPOLESTR pStrDoc) = 0;
3781 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
3782 DWORD dwHelpContext) = 0;
3784 virtual HRESULT STDMETHODCALLTYPE SetVersion(
3786 WORD wMinorVerNum) = 0;
3788 virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo(
3790 HREFTYPE* phRefType) = 0;
3792 virtual HRESULT STDMETHODCALLTYPE AddFuncDesc(
3794 FUNCDESC* pFuncDesc) = 0;
3796 virtual HRESULT STDMETHODCALLTYPE AddImplType(
3798 HREFTYPE hRefType) = 0;
3800 virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags(
3802 INT implTypeFlags) = 0;
3804 virtual HRESULT STDMETHODCALLTYPE SetAlignment(
3805 WORD cbAlignment) = 0;
3807 virtual HRESULT STDMETHODCALLTYPE SetSchema(
3808 LPOLESTR pStrSchema) = 0;
3810 virtual HRESULT STDMETHODCALLTYPE AddVarDesc(
3812 VARDESC* pVarDesc) = 0;
3814 virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames(
3816 LPOLESTR* rgszNames,
3819 virtual HRESULT STDMETHODCALLTYPE SetVarName(
3821 LPOLESTR szName) = 0;
3823 virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias(
3824 TYPEDESC* pTDescAlias) = 0;
3826 virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry(
3829 LPOLESTR szProcName) = 0;
3831 virtual HRESULT STDMETHODCALLTYPE SetFuncDocString(
3833 LPOLESTR szDocString) = 0;
3835 virtual HRESULT STDMETHODCALLTYPE SetVarDocString(
3837 LPOLESTR szDocString) = 0;
3839 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext(
3841 DWORD dwHelpContext) = 0;
3843 virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext(
3845 DWORD dwHelpContext) = 0;
3847 virtual HRESULT STDMETHODCALLTYPE SetMops(
3851 virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc(
3852 IDLDESC* pIdlDesc) = 0;
3854 virtual HRESULT STDMETHODCALLTYPE LayOut(
3857 } ICOM_COM_INTERFACE_ATTRIBUTE;
3859 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl;
3860 struct ICreateTypeInfo {
3861 const ICreateTypeInfoVtbl* lpVtbl;
3863 struct ICreateTypeInfoVtbl {
3864 ICOM_MSVTABLE_COMPAT_FIELDS
3866 /*** IUnknown methods ***/
3867 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3868 ICreateTypeInfo* This,
3872 ULONG (STDMETHODCALLTYPE *AddRef)(
3873 ICreateTypeInfo* This);
3875 ULONG (STDMETHODCALLTYPE *Release)(
3876 ICreateTypeInfo* This);
3878 /*** ICreateTypeInfo methods ***/
3879 HRESULT (STDMETHODCALLTYPE *SetGuid)(
3880 ICreateTypeInfo* This,
3883 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
3884 ICreateTypeInfo* This,
3887 HRESULT (STDMETHODCALLTYPE *SetDocString)(
3888 ICreateTypeInfo* This,
3891 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
3892 ICreateTypeInfo* This,
3893 DWORD dwHelpContext);
3895 HRESULT (STDMETHODCALLTYPE *SetVersion)(
3896 ICreateTypeInfo* This,
3900 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
3901 ICreateTypeInfo* This,
3903 HREFTYPE* phRefType);
3905 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
3906 ICreateTypeInfo* This,
3908 FUNCDESC* pFuncDesc);
3910 HRESULT (STDMETHODCALLTYPE *AddImplType)(
3911 ICreateTypeInfo* This,
3915 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
3916 ICreateTypeInfo* This,
3920 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
3921 ICreateTypeInfo* This,
3924 HRESULT (STDMETHODCALLTYPE *SetSchema)(
3925 ICreateTypeInfo* This,
3926 LPOLESTR pStrSchema);
3928 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
3929 ICreateTypeInfo* This,
3933 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
3934 ICreateTypeInfo* This,
3936 LPOLESTR* rgszNames,
3939 HRESULT (STDMETHODCALLTYPE *SetVarName)(
3940 ICreateTypeInfo* This,
3944 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
3945 ICreateTypeInfo* This,
3946 TYPEDESC* pTDescAlias);
3948 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
3949 ICreateTypeInfo* This,
3952 LPOLESTR szProcName);
3954 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
3955 ICreateTypeInfo* This,
3957 LPOLESTR szDocString);
3959 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
3960 ICreateTypeInfo* This,
3962 LPOLESTR szDocString);
3964 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
3965 ICreateTypeInfo* This,
3967 DWORD dwHelpContext);
3969 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
3970 ICreateTypeInfo* This,
3972 DWORD dwHelpContext);
3974 HRESULT (STDMETHODCALLTYPE *SetMops)(
3975 ICreateTypeInfo* This,
3979 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
3980 ICreateTypeInfo* This,
3983 HRESULT (STDMETHODCALLTYPE *LayOut)(
3984 ICreateTypeInfo* This);
3988 #define ICreateTypeInfo_IMETHODS \
3989 /*** IUnknown methods ***/ \
3990 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
3991 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
3992 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
3993 /*** ICreateTypeInfo methods ***/ \
3994 HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
3995 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(INTERFACE *This, UINT uTypeFlags); \
3996 HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR pStrDoc); \
3997 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
3998 HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
3999 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(INTERFACE *This, ITypeInfo* pTInfo, HREFTYPE* phRefType); \
4000 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(INTERFACE *This, UINT index, FUNCDESC* pFuncDesc); \
4001 HRESULT (STDMETHODCALLTYPE *AddImplType)(INTERFACE *This, UINT index, HREFTYPE hRefType); \
4002 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(INTERFACE *This, UINT index, INT implTypeFlags); \
4003 HRESULT (STDMETHODCALLTYPE *SetAlignment)(INTERFACE *This, WORD cbAlignment); \
4004 HRESULT (STDMETHODCALLTYPE *SetSchema)(INTERFACE *This, LPOLESTR pStrSchema); \
4005 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(INTERFACE *This, UINT index, VARDESC* pVarDesc); \
4006 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(INTERFACE *This, UINT index, LPOLESTR* rgszNames, UINT cNames); \
4007 HRESULT (STDMETHODCALLTYPE *SetVarName)(INTERFACE *This, UINT index, LPOLESTR szName); \
4008 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(INTERFACE *This, TYPEDESC* pTDescAlias); \
4009 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(INTERFACE *This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); \
4010 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
4011 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
4012 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
4013 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
4014 HRESULT (STDMETHODCALLTYPE *SetMops)(INTERFACE *This, UINT index, BSTR bstrMops); \
4015 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(INTERFACE *This, IDLDESC* pIdlDesc); \
4016 HRESULT (STDMETHODCALLTYPE *LayOut)(INTERFACE *This);
4018 /*** IUnknown methods ***/
4019 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4020 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4021 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4022 /*** ICreateTypeInfo methods ***/
4023 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4024 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4025 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4026 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4027 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4028 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4029 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4030 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4031 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4032 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4033 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4034 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4035 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4036 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4037 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4038 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4039 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4040 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4041 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4042 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4043 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4044 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4045 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4049 HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy(
4050 ICreateTypeInfo* This,
4052 void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
4053 struct IRpcStubBuffer* This,
4054 struct IRpcChannelBuffer* pRpcChannelBuffer,
4055 PRPC_MESSAGE pRpcMessage,
4056 DWORD* pdwStubPhase);
4057 HRESULT CALLBACK ICreateTypeInfo_SetTypeFlags_Proxy(
4058 ICreateTypeInfo* This,
4060 void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
4061 struct IRpcStubBuffer* This,
4062 struct IRpcChannelBuffer* pRpcChannelBuffer,
4063 PRPC_MESSAGE pRpcMessage,
4064 DWORD* pdwStubPhase);
4065 HRESULT CALLBACK ICreateTypeInfo_SetDocString_Proxy(
4066 ICreateTypeInfo* This,
4068 void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
4069 struct IRpcStubBuffer* This,
4070 struct IRpcChannelBuffer* pRpcChannelBuffer,
4071 PRPC_MESSAGE pRpcMessage,
4072 DWORD* pdwStubPhase);
4073 HRESULT CALLBACK ICreateTypeInfo_SetHelpContext_Proxy(
4074 ICreateTypeInfo* This,
4075 DWORD dwHelpContext);
4076 void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
4077 struct IRpcStubBuffer* This,
4078 struct IRpcChannelBuffer* pRpcChannelBuffer,
4079 PRPC_MESSAGE pRpcMessage,
4080 DWORD* pdwStubPhase);
4081 HRESULT CALLBACK ICreateTypeInfo_SetVersion_Proxy(
4082 ICreateTypeInfo* This,
4085 void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
4086 struct IRpcStubBuffer* This,
4087 struct IRpcChannelBuffer* pRpcChannelBuffer,
4088 PRPC_MESSAGE pRpcMessage,
4089 DWORD* pdwStubPhase);
4090 HRESULT CALLBACK ICreateTypeInfo_AddRefTypeInfo_Proxy(
4091 ICreateTypeInfo* This,
4093 HREFTYPE* phRefType);
4094 void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
4095 struct IRpcStubBuffer* This,
4096 struct IRpcChannelBuffer* pRpcChannelBuffer,
4097 PRPC_MESSAGE pRpcMessage,
4098 DWORD* pdwStubPhase);
4099 HRESULT CALLBACK ICreateTypeInfo_AddFuncDesc_Proxy(
4100 ICreateTypeInfo* This,
4102 FUNCDESC* pFuncDesc);
4103 void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
4104 struct IRpcStubBuffer* This,
4105 struct IRpcChannelBuffer* pRpcChannelBuffer,
4106 PRPC_MESSAGE pRpcMessage,
4107 DWORD* pdwStubPhase);
4108 HRESULT CALLBACK ICreateTypeInfo_AddImplType_Proxy(
4109 ICreateTypeInfo* This,
4112 void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
4113 struct IRpcStubBuffer* This,
4114 struct IRpcChannelBuffer* pRpcChannelBuffer,
4115 PRPC_MESSAGE pRpcMessage,
4116 DWORD* pdwStubPhase);
4117 HRESULT CALLBACK ICreateTypeInfo_SetImplTypeFlags_Proxy(
4118 ICreateTypeInfo* This,
4121 void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
4122 struct IRpcStubBuffer* This,
4123 struct IRpcChannelBuffer* pRpcChannelBuffer,
4124 PRPC_MESSAGE pRpcMessage,
4125 DWORD* pdwStubPhase);
4126 HRESULT CALLBACK ICreateTypeInfo_SetAlignment_Proxy(
4127 ICreateTypeInfo* This,
4129 void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
4130 struct IRpcStubBuffer* This,
4131 struct IRpcChannelBuffer* pRpcChannelBuffer,
4132 PRPC_MESSAGE pRpcMessage,
4133 DWORD* pdwStubPhase);
4134 HRESULT CALLBACK ICreateTypeInfo_SetSchema_Proxy(
4135 ICreateTypeInfo* This,
4136 LPOLESTR pStrSchema);
4137 void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
4138 struct IRpcStubBuffer* This,
4139 struct IRpcChannelBuffer* pRpcChannelBuffer,
4140 PRPC_MESSAGE pRpcMessage,
4141 DWORD* pdwStubPhase);
4142 HRESULT CALLBACK ICreateTypeInfo_AddVarDesc_Proxy(
4143 ICreateTypeInfo* This,
4146 void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
4147 struct IRpcStubBuffer* This,
4148 struct IRpcChannelBuffer* pRpcChannelBuffer,
4149 PRPC_MESSAGE pRpcMessage,
4150 DWORD* pdwStubPhase);
4151 HRESULT CALLBACK ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4152 ICreateTypeInfo* This,
4154 LPOLESTR* rgszNames,
4156 void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
4157 struct IRpcStubBuffer* This,
4158 struct IRpcChannelBuffer* pRpcChannelBuffer,
4159 PRPC_MESSAGE pRpcMessage,
4160 DWORD* pdwStubPhase);
4161 HRESULT CALLBACK ICreateTypeInfo_SetVarName_Proxy(
4162 ICreateTypeInfo* This,
4165 void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
4166 struct IRpcStubBuffer* This,
4167 struct IRpcChannelBuffer* pRpcChannelBuffer,
4168 PRPC_MESSAGE pRpcMessage,
4169 DWORD* pdwStubPhase);
4170 HRESULT CALLBACK ICreateTypeInfo_SetTypeDescAlias_Proxy(
4171 ICreateTypeInfo* This,
4172 TYPEDESC* pTDescAlias);
4173 void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
4174 struct IRpcStubBuffer* This,
4175 struct IRpcChannelBuffer* pRpcChannelBuffer,
4176 PRPC_MESSAGE pRpcMessage,
4177 DWORD* pdwStubPhase);
4178 HRESULT CALLBACK ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4179 ICreateTypeInfo* This,
4182 LPOLESTR szProcName);
4183 void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4184 struct IRpcStubBuffer* This,
4185 struct IRpcChannelBuffer* pRpcChannelBuffer,
4186 PRPC_MESSAGE pRpcMessage,
4187 DWORD* pdwStubPhase);
4188 HRESULT CALLBACK ICreateTypeInfo_SetFuncDocString_Proxy(
4189 ICreateTypeInfo* This,
4191 LPOLESTR szDocString);
4192 void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
4193 struct IRpcStubBuffer* This,
4194 struct IRpcChannelBuffer* pRpcChannelBuffer,
4195 PRPC_MESSAGE pRpcMessage,
4196 DWORD* pdwStubPhase);
4197 HRESULT CALLBACK ICreateTypeInfo_SetVarDocString_Proxy(
4198 ICreateTypeInfo* This,
4200 LPOLESTR szDocString);
4201 void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
4202 struct IRpcStubBuffer* This,
4203 struct IRpcChannelBuffer* pRpcChannelBuffer,
4204 PRPC_MESSAGE pRpcMessage,
4205 DWORD* pdwStubPhase);
4206 HRESULT CALLBACK ICreateTypeInfo_SetFuncHelpContext_Proxy(
4207 ICreateTypeInfo* This,
4209 DWORD dwHelpContext);
4210 void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
4211 struct IRpcStubBuffer* This,
4212 struct IRpcChannelBuffer* pRpcChannelBuffer,
4213 PRPC_MESSAGE pRpcMessage,
4214 DWORD* pdwStubPhase);
4215 HRESULT CALLBACK ICreateTypeInfo_SetVarHelpContext_Proxy(
4216 ICreateTypeInfo* This,
4218 DWORD dwHelpContext);
4219 void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
4220 struct IRpcStubBuffer* This,
4221 struct IRpcChannelBuffer* pRpcChannelBuffer,
4222 PRPC_MESSAGE pRpcMessage,
4223 DWORD* pdwStubPhase);
4224 HRESULT CALLBACK ICreateTypeInfo_SetMops_Proxy(
4225 ICreateTypeInfo* This,
4228 void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
4229 struct IRpcStubBuffer* This,
4230 struct IRpcChannelBuffer* pRpcChannelBuffer,
4231 PRPC_MESSAGE pRpcMessage,
4232 DWORD* pdwStubPhase);
4233 HRESULT CALLBACK ICreateTypeInfo_SetTypeIdldesc_Proxy(
4234 ICreateTypeInfo* This,
4236 void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
4237 struct IRpcStubBuffer* This,
4238 struct IRpcChannelBuffer* pRpcChannelBuffer,
4239 PRPC_MESSAGE pRpcMessage,
4240 DWORD* pdwStubPhase);
4241 HRESULT CALLBACK ICreateTypeInfo_LayOut_Proxy(
4242 ICreateTypeInfo* This);
4243 void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
4244 struct IRpcStubBuffer* This,
4245 struct IRpcChannelBuffer* pRpcChannelBuffer,
4246 PRPC_MESSAGE pRpcMessage,
4247 DWORD* pdwStubPhase);
4249 typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
4250 typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;
4252 /*****************************************************************************
4253 * ICreateTypeInfo2 interface
4255 DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4256 #if defined(__cplusplus) && !defined(CINTERFACE)
4257 struct ICreateTypeInfo2: ICreateTypeInfo {
4259 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc(
4262 virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId(
4264 INVOKEKIND invKind) = 0;
4266 virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc(
4269 virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId(
4270 MEMBERID memid) = 0;
4272 virtual HRESULT STDMETHODCALLTYPE DeleteImplType(
4275 virtual HRESULT STDMETHODCALLTYPE SetCustData(
4277 VARIANT* pVarVal) = 0;
4279 virtual HRESULT STDMETHODCALLTYPE SetFuncCustData(
4282 VARIANT* pVarVal) = 0;
4284 virtual HRESULT STDMETHODCALLTYPE SetParamCustData(
4288 VARIANT* pVarVal) = 0;
4290 virtual HRESULT STDMETHODCALLTYPE SetVarCustData(
4293 VARIANT* pVarVal) = 0;
4295 virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData(
4298 VARIANT* pVarVal) = 0;
4300 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
4301 ULONG dwHelpStringContext) = 0;
4303 virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext(
4305 ULONG dwHelpStringContext) = 0;
4307 virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext(
4309 ULONG dwHelpStringContext) = 0;
4311 virtual HRESULT STDMETHODCALLTYPE Invalidate(
4314 virtual HRESULT STDMETHODCALLTYPE SetName(
4315 LPOLESTR szName) = 0;
4317 } ICOM_COM_INTERFACE_ATTRIBUTE;
4319 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl;
4320 struct ICreateTypeInfo2 {
4321 const ICreateTypeInfo2Vtbl* lpVtbl;
4323 struct ICreateTypeInfo2Vtbl {
4324 ICOM_MSVTABLE_COMPAT_FIELDS
4326 /*** IUnknown methods ***/
4327 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4328 ICreateTypeInfo2* This,
4332 ULONG (STDMETHODCALLTYPE *AddRef)(
4333 ICreateTypeInfo2* This);
4335 ULONG (STDMETHODCALLTYPE *Release)(
4336 ICreateTypeInfo2* This);
4338 /*** ICreateTypeInfo methods ***/
4339 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4340 ICreateTypeInfo2* This,
4343 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(
4344 ICreateTypeInfo2* This,
4347 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4348 ICreateTypeInfo2* This,
4351 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4352 ICreateTypeInfo2* This,
4353 DWORD dwHelpContext);
4355 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4356 ICreateTypeInfo2* This,
4360 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(
4361 ICreateTypeInfo2* This,
4363 HREFTYPE* phRefType);
4365 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(
4366 ICreateTypeInfo2* This,
4368 FUNCDESC* pFuncDesc);
4370 HRESULT (STDMETHODCALLTYPE *AddImplType)(
4371 ICreateTypeInfo2* This,
4375 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(
4376 ICreateTypeInfo2* This,
4380 HRESULT (STDMETHODCALLTYPE *SetAlignment)(
4381 ICreateTypeInfo2* This,
4384 HRESULT (STDMETHODCALLTYPE *SetSchema)(
4385 ICreateTypeInfo2* This,
4386 LPOLESTR pStrSchema);
4388 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(
4389 ICreateTypeInfo2* This,
4393 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(
4394 ICreateTypeInfo2* This,
4396 LPOLESTR* rgszNames,
4399 HRESULT (STDMETHODCALLTYPE *SetVarName)(
4400 ICreateTypeInfo2* This,
4404 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(
4405 ICreateTypeInfo2* This,
4406 TYPEDESC* pTDescAlias);
4408 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(
4409 ICreateTypeInfo2* This,
4412 LPOLESTR szProcName);
4414 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(
4415 ICreateTypeInfo2* This,
4417 LPOLESTR szDocString);
4419 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(
4420 ICreateTypeInfo2* This,
4422 LPOLESTR szDocString);
4424 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(
4425 ICreateTypeInfo2* This,
4427 DWORD dwHelpContext);
4429 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(
4430 ICreateTypeInfo2* This,
4432 DWORD dwHelpContext);
4434 HRESULT (STDMETHODCALLTYPE *SetMops)(
4435 ICreateTypeInfo2* This,
4439 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(
4440 ICreateTypeInfo2* This,
4443 HRESULT (STDMETHODCALLTYPE *LayOut)(
4444 ICreateTypeInfo2* This);
4446 /*** ICreateTypeInfo2 methods ***/
4447 HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)(
4448 ICreateTypeInfo2* This,
4451 HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)(
4452 ICreateTypeInfo2* This,
4454 INVOKEKIND invKind);
4456 HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)(
4457 ICreateTypeInfo2* This,
4460 HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)(
4461 ICreateTypeInfo2* This,
4464 HRESULT (STDMETHODCALLTYPE *DeleteImplType)(
4465 ICreateTypeInfo2* This,
4468 HRESULT (STDMETHODCALLTYPE *SetCustData)(
4469 ICreateTypeInfo2* This,
4473 HRESULT (STDMETHODCALLTYPE *SetFuncCustData)(
4474 ICreateTypeInfo2* This,
4479 HRESULT (STDMETHODCALLTYPE *SetParamCustData)(
4480 ICreateTypeInfo2* This,
4486 HRESULT (STDMETHODCALLTYPE *SetVarCustData)(
4487 ICreateTypeInfo2* This,
4492 HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)(
4493 ICreateTypeInfo2* This,
4498 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
4499 ICreateTypeInfo2* This,
4500 ULONG dwHelpStringContext);
4502 HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)(
4503 ICreateTypeInfo2* This,
4505 ULONG dwHelpStringContext);
4507 HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)(
4508 ICreateTypeInfo2* This,
4510 ULONG dwHelpStringContext);
4512 HRESULT (STDMETHODCALLTYPE *Invalidate)(
4513 ICreateTypeInfo2* This);
4515 HRESULT (STDMETHODCALLTYPE *SetName)(
4516 ICreateTypeInfo2* This,
4521 #define ICreateTypeInfo2_IMETHODS \
4522 /*** IUnknown methods ***/ \
4523 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
4524 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
4525 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
4526 /*** ICreateTypeInfo methods ***/ \
4527 HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
4528 HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(INTERFACE *This, UINT uTypeFlags); \
4529 HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR pStrDoc); \
4530 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
4531 HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
4532 HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(INTERFACE *This, ITypeInfo* pTInfo, HREFTYPE* phRefType); \
4533 HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(INTERFACE *This, UINT index, FUNCDESC* pFuncDesc); \
4534 HRESULT (STDMETHODCALLTYPE *AddImplType)(INTERFACE *This, UINT index, HREFTYPE hRefType); \
4535 HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(INTERFACE *This, UINT index, INT implTypeFlags); \
4536 HRESULT (STDMETHODCALLTYPE *SetAlignment)(INTERFACE *This, WORD cbAlignment); \
4537 HRESULT (STDMETHODCALLTYPE *SetSchema)(INTERFACE *This, LPOLESTR pStrSchema); \
4538 HRESULT (STDMETHODCALLTYPE *AddVarDesc)(INTERFACE *This, UINT index, VARDESC* pVarDesc); \
4539 HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(INTERFACE *This, UINT index, LPOLESTR* rgszNames, UINT cNames); \
4540 HRESULT (STDMETHODCALLTYPE *SetVarName)(INTERFACE *This, UINT index, LPOLESTR szName); \
4541 HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(INTERFACE *This, TYPEDESC* pTDescAlias); \
4542 HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(INTERFACE *This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); \
4543 HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
4544 HRESULT (STDMETHODCALLTYPE *SetVarDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
4545 HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
4546 HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
4547 HRESULT (STDMETHODCALLTYPE *SetMops)(INTERFACE *This, UINT index, BSTR bstrMops); \
4548 HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(INTERFACE *This, IDLDESC* pIdlDesc); \
4549 HRESULT (STDMETHODCALLTYPE *LayOut)(INTERFACE *This); \
4550 /*** ICreateTypeInfo2 methods ***/ \
4551 HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)(INTERFACE *This, UINT index); \
4552 HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind); \
4553 HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)(INTERFACE *This, UINT index); \
4554 HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)(INTERFACE *This, MEMBERID memid); \
4555 HRESULT (STDMETHODCALLTYPE *DeleteImplType)(INTERFACE *This, UINT index); \
4556 HRESULT (STDMETHODCALLTYPE *SetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
4557 HRESULT (STDMETHODCALLTYPE *SetFuncCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
4558 HRESULT (STDMETHODCALLTYPE *SetParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); \
4559 HRESULT (STDMETHODCALLTYPE *SetVarCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
4560 HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
4561 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(INTERFACE *This, ULONG dwHelpStringContext); \
4562 HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)(INTERFACE *This, UINT index, ULONG dwHelpStringContext); \
4563 HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)(INTERFACE *This, UINT index, ULONG dwHelpStringContext); \
4564 HRESULT (STDMETHODCALLTYPE *Invalidate)(INTERFACE *This); \
4565 HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName);
4567 /*** IUnknown methods ***/
4568 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4569 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4570 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4571 /*** ICreateTypeInfo methods ***/
4572 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4573 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4574 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4575 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4576 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4577 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4578 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4579 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4580 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4581 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4582 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4583 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4584 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4585 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4586 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4587 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4588 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4589 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4590 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4591 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4592 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4593 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4594 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4595 /*** ICreateTypeInfo2 methods ***/
4596 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4597 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4598 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4599 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4600 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4601 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4602 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4603 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4604 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4605 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4606 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4607 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4608 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4609 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4610 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4614 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4615 ICreateTypeInfo2* This,
4617 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
4618 struct IRpcStubBuffer* This,
4619 struct IRpcChannelBuffer* pRpcChannelBuffer,
4620 PRPC_MESSAGE pRpcMessage,
4621 DWORD* pdwStubPhase);
4622 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4623 ICreateTypeInfo2* This,
4625 INVOKEKIND invKind);
4626 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4627 struct IRpcStubBuffer* This,
4628 struct IRpcChannelBuffer* pRpcChannelBuffer,
4629 PRPC_MESSAGE pRpcMessage,
4630 DWORD* pdwStubPhase);
4631 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDesc_Proxy(
4632 ICreateTypeInfo2* This,
4634 void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
4635 struct IRpcStubBuffer* This,
4636 struct IRpcChannelBuffer* pRpcChannelBuffer,
4637 PRPC_MESSAGE pRpcMessage,
4638 DWORD* pdwStubPhase);
4639 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4640 ICreateTypeInfo2* This,
4642 void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4643 struct IRpcStubBuffer* This,
4644 struct IRpcChannelBuffer* pRpcChannelBuffer,
4645 PRPC_MESSAGE pRpcMessage,
4646 DWORD* pdwStubPhase);
4647 HRESULT CALLBACK ICreateTypeInfo2_DeleteImplType_Proxy(
4648 ICreateTypeInfo2* This,
4650 void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
4651 struct IRpcStubBuffer* This,
4652 struct IRpcChannelBuffer* pRpcChannelBuffer,
4653 PRPC_MESSAGE pRpcMessage,
4654 DWORD* pdwStubPhase);
4655 HRESULT CALLBACK ICreateTypeInfo2_SetCustData_Proxy(
4656 ICreateTypeInfo2* This,
4659 void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
4660 struct IRpcStubBuffer* This,
4661 struct IRpcChannelBuffer* pRpcChannelBuffer,
4662 PRPC_MESSAGE pRpcMessage,
4663 DWORD* pdwStubPhase);
4664 HRESULT CALLBACK ICreateTypeInfo2_SetFuncCustData_Proxy(
4665 ICreateTypeInfo2* This,
4669 void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
4670 struct IRpcStubBuffer* This,
4671 struct IRpcChannelBuffer* pRpcChannelBuffer,
4672 PRPC_MESSAGE pRpcMessage,
4673 DWORD* pdwStubPhase);
4674 HRESULT CALLBACK ICreateTypeInfo2_SetParamCustData_Proxy(
4675 ICreateTypeInfo2* This,
4680 void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
4681 struct IRpcStubBuffer* This,
4682 struct IRpcChannelBuffer* pRpcChannelBuffer,
4683 PRPC_MESSAGE pRpcMessage,
4684 DWORD* pdwStubPhase);
4685 HRESULT CALLBACK ICreateTypeInfo2_SetVarCustData_Proxy(
4686 ICreateTypeInfo2* This,
4690 void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
4691 struct IRpcStubBuffer* This,
4692 struct IRpcChannelBuffer* pRpcChannelBuffer,
4693 PRPC_MESSAGE pRpcMessage,
4694 DWORD* pdwStubPhase);
4695 HRESULT CALLBACK ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4696 ICreateTypeInfo2* This,
4700 void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
4701 struct IRpcStubBuffer* This,
4702 struct IRpcChannelBuffer* pRpcChannelBuffer,
4703 PRPC_MESSAGE pRpcMessage,
4704 DWORD* pdwStubPhase);
4705 HRESULT CALLBACK ICreateTypeInfo2_SetHelpStringContext_Proxy(
4706 ICreateTypeInfo2* This,
4707 ULONG dwHelpStringContext);
4708 void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
4709 struct IRpcStubBuffer* This,
4710 struct IRpcChannelBuffer* pRpcChannelBuffer,
4711 PRPC_MESSAGE pRpcMessage,
4712 DWORD* pdwStubPhase);
4713 HRESULT CALLBACK ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4714 ICreateTypeInfo2* This,
4716 ULONG dwHelpStringContext);
4717 void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4718 struct IRpcStubBuffer* This,
4719 struct IRpcChannelBuffer* pRpcChannelBuffer,
4720 PRPC_MESSAGE pRpcMessage,
4721 DWORD* pdwStubPhase);
4722 HRESULT CALLBACK ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4723 ICreateTypeInfo2* This,
4725 ULONG dwHelpStringContext);
4726 void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4727 struct IRpcStubBuffer* This,
4728 struct IRpcChannelBuffer* pRpcChannelBuffer,
4729 PRPC_MESSAGE pRpcMessage,
4730 DWORD* pdwStubPhase);
4731 HRESULT CALLBACK ICreateTypeInfo2_Invalidate_Proxy(
4732 ICreateTypeInfo2* This);
4733 void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
4734 struct IRpcStubBuffer* This,
4735 struct IRpcChannelBuffer* pRpcChannelBuffer,
4736 PRPC_MESSAGE pRpcMessage,
4737 DWORD* pdwStubPhase);
4738 HRESULT CALLBACK ICreateTypeInfo2_SetName_Proxy(
4739 ICreateTypeInfo2* This,
4741 void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
4742 struct IRpcStubBuffer* This,
4743 struct IRpcChannelBuffer* pRpcChannelBuffer,
4744 PRPC_MESSAGE pRpcMessage,
4745 DWORD* pdwStubPhase);
4747 typedef struct ICreateTypeLib ICreateTypeLib;
4748 typedef ICreateTypeLib *LPCREATETYPELIB;
4750 /*****************************************************************************
4751 * ICreateTypeLib interface
4753 DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4754 #if defined(__cplusplus) && !defined(CINTERFACE)
4755 struct ICreateTypeLib: IUnknown {
4757 virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo(
4760 ICreateTypeInfo** ppCTInfo) = 0;
4762 virtual HRESULT STDMETHODCALLTYPE SetName(
4763 LPOLESTR szName) = 0;
4765 virtual HRESULT STDMETHODCALLTYPE SetVersion(
4767 WORD wMinorVerNum) = 0;
4769 virtual HRESULT STDMETHODCALLTYPE SetGuid(
4772 virtual HRESULT STDMETHODCALLTYPE SetDocString(
4773 LPOLESTR szDoc) = 0;
4775 virtual HRESULT STDMETHODCALLTYPE SetHelpFileName(
4776 LPOLESTR szHelpFileName) = 0;
4778 virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
4779 DWORD dwHelpContext) = 0;
4781 virtual HRESULT STDMETHODCALLTYPE SetLcid(
4784 virtual HRESULT STDMETHODCALLTYPE SetLibFlags(
4785 UINT uLibFlags) = 0;
4787 virtual HRESULT STDMETHODCALLTYPE SaveAllChanges(
4790 } ICOM_COM_INTERFACE_ATTRIBUTE;
4792 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl;
4793 struct ICreateTypeLib {
4794 const ICreateTypeLibVtbl* lpVtbl;
4796 struct ICreateTypeLibVtbl {
4797 ICOM_MSVTABLE_COMPAT_FIELDS
4799 /*** IUnknown methods ***/
4800 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4801 ICreateTypeLib* This,
4805 ULONG (STDMETHODCALLTYPE *AddRef)(
4806 ICreateTypeLib* This);
4808 ULONG (STDMETHODCALLTYPE *Release)(
4809 ICreateTypeLib* This);
4811 /*** ICreateTypeLib methods ***/
4812 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
4813 ICreateTypeLib* This,
4816 ICreateTypeInfo** ppCTInfo);
4818 HRESULT (STDMETHODCALLTYPE *SetName)(
4819 ICreateTypeLib* This,
4822 HRESULT (STDMETHODCALLTYPE *SetVersion)(
4823 ICreateTypeLib* This,
4827 HRESULT (STDMETHODCALLTYPE *SetGuid)(
4828 ICreateTypeLib* This,
4831 HRESULT (STDMETHODCALLTYPE *SetDocString)(
4832 ICreateTypeLib* This,
4835 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
4836 ICreateTypeLib* This,
4837 LPOLESTR szHelpFileName);
4839 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
4840 ICreateTypeLib* This,
4841 DWORD dwHelpContext);
4843 HRESULT (STDMETHODCALLTYPE *SetLcid)(
4844 ICreateTypeLib* This,
4847 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
4848 ICreateTypeLib* This,
4851 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
4852 ICreateTypeLib* This);
4856 #define ICreateTypeLib_IMETHODS \
4857 /*** IUnknown methods ***/ \
4858 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
4859 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
4860 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
4861 /*** ICreateTypeLib methods ***/ \
4862 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(INTERFACE *This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); \
4863 HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName); \
4864 HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
4865 HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
4866 HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR szDoc); \
4867 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(INTERFACE *This, LPOLESTR szHelpFileName); \
4868 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
4869 HRESULT (STDMETHODCALLTYPE *SetLcid)(INTERFACE *This, LCID lcid); \
4870 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(INTERFACE *This, UINT uLibFlags); \
4871 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(INTERFACE *This);
4873 /*** IUnknown methods ***/
4874 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4875 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
4876 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
4877 /*** ICreateTypeLib methods ***/
4878 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
4879 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4880 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4881 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4882 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4883 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
4884 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4885 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
4886 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
4887 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
4891 HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy(
4892 ICreateTypeLib* This,
4895 ICreateTypeInfo** ppCTInfo);
4896 void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
4897 struct IRpcStubBuffer* This,
4898 struct IRpcChannelBuffer* pRpcChannelBuffer,
4899 PRPC_MESSAGE pRpcMessage,
4900 DWORD* pdwStubPhase);
4901 HRESULT CALLBACK ICreateTypeLib_SetName_Proxy(
4902 ICreateTypeLib* This,
4904 void __RPC_STUB ICreateTypeLib_SetName_Stub(
4905 struct IRpcStubBuffer* This,
4906 struct IRpcChannelBuffer* pRpcChannelBuffer,
4907 PRPC_MESSAGE pRpcMessage,
4908 DWORD* pdwStubPhase);
4909 HRESULT CALLBACK ICreateTypeLib_SetVersion_Proxy(
4910 ICreateTypeLib* This,
4913 void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
4914 struct IRpcStubBuffer* This,
4915 struct IRpcChannelBuffer* pRpcChannelBuffer,
4916 PRPC_MESSAGE pRpcMessage,
4917 DWORD* pdwStubPhase);
4918 HRESULT CALLBACK ICreateTypeLib_SetGuid_Proxy(
4919 ICreateTypeLib* This,
4921 void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
4922 struct IRpcStubBuffer* This,
4923 struct IRpcChannelBuffer* pRpcChannelBuffer,
4924 PRPC_MESSAGE pRpcMessage,
4925 DWORD* pdwStubPhase);
4926 HRESULT CALLBACK ICreateTypeLib_SetDocString_Proxy(
4927 ICreateTypeLib* This,
4929 void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
4930 struct IRpcStubBuffer* This,
4931 struct IRpcChannelBuffer* pRpcChannelBuffer,
4932 PRPC_MESSAGE pRpcMessage,
4933 DWORD* pdwStubPhase);
4934 HRESULT CALLBACK ICreateTypeLib_SetHelpFileName_Proxy(
4935 ICreateTypeLib* This,
4936 LPOLESTR szHelpFileName);
4937 void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
4938 struct IRpcStubBuffer* This,
4939 struct IRpcChannelBuffer* pRpcChannelBuffer,
4940 PRPC_MESSAGE pRpcMessage,
4941 DWORD* pdwStubPhase);
4942 HRESULT CALLBACK ICreateTypeLib_SetHelpContext_Proxy(
4943 ICreateTypeLib* This,
4944 DWORD dwHelpContext);
4945 void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
4946 struct IRpcStubBuffer* This,
4947 struct IRpcChannelBuffer* pRpcChannelBuffer,
4948 PRPC_MESSAGE pRpcMessage,
4949 DWORD* pdwStubPhase);
4950 HRESULT CALLBACK ICreateTypeLib_SetLcid_Proxy(
4951 ICreateTypeLib* This,
4953 void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
4954 struct IRpcStubBuffer* This,
4955 struct IRpcChannelBuffer* pRpcChannelBuffer,
4956 PRPC_MESSAGE pRpcMessage,
4957 DWORD* pdwStubPhase);
4958 HRESULT CALLBACK ICreateTypeLib_SetLibFlags_Proxy(
4959 ICreateTypeLib* This,
4961 void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
4962 struct IRpcStubBuffer* This,
4963 struct IRpcChannelBuffer* pRpcChannelBuffer,
4964 PRPC_MESSAGE pRpcMessage,
4965 DWORD* pdwStubPhase);
4966 HRESULT CALLBACK ICreateTypeLib_SaveAllChanges_Proxy(
4967 ICreateTypeLib* This);
4968 void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
4969 struct IRpcStubBuffer* This,
4970 struct IRpcChannelBuffer* pRpcChannelBuffer,
4971 PRPC_MESSAGE pRpcMessage,
4972 DWORD* pdwStubPhase);
4974 typedef struct ICreateTypeLib2 ICreateTypeLib2;
4975 typedef ICreateTypeLib2 *LPCREATETYPELIB2;
4977 /*****************************************************************************
4978 * ICreateTypeLib2 interface
4980 DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4981 #if defined(__cplusplus) && !defined(CINTERFACE)
4982 struct ICreateTypeLib2: ICreateTypeLib {
4984 virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo(
4985 LPOLESTR szName) = 0;
4987 virtual HRESULT STDMETHODCALLTYPE SetCustData(
4989 VARIANT* pVarVal) = 0;
4991 virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
4992 ULONG dwHelpStringContext) = 0;
4994 virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll(
4995 LPOLESTR szFileName) = 0;
4997 } ICOM_COM_INTERFACE_ATTRIBUTE;
4999 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl;
5000 struct ICreateTypeLib2 {
5001 const ICreateTypeLib2Vtbl* lpVtbl;
5003 struct ICreateTypeLib2Vtbl {
5004 ICOM_MSVTABLE_COMPAT_FIELDS
5006 /*** IUnknown methods ***/
5007 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5008 ICreateTypeLib2* This,
5012 ULONG (STDMETHODCALLTYPE *AddRef)(
5013 ICreateTypeLib2* This);
5015 ULONG (STDMETHODCALLTYPE *Release)(
5016 ICreateTypeLib2* This);
5018 /*** ICreateTypeLib methods ***/
5019 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(
5020 ICreateTypeLib2* This,
5023 ICreateTypeInfo** ppCTInfo);
5025 HRESULT (STDMETHODCALLTYPE *SetName)(
5026 ICreateTypeLib2* This,
5029 HRESULT (STDMETHODCALLTYPE *SetVersion)(
5030 ICreateTypeLib2* This,
5034 HRESULT (STDMETHODCALLTYPE *SetGuid)(
5035 ICreateTypeLib2* This,
5038 HRESULT (STDMETHODCALLTYPE *SetDocString)(
5039 ICreateTypeLib2* This,
5042 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(
5043 ICreateTypeLib2* This,
5044 LPOLESTR szHelpFileName);
5046 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(
5047 ICreateTypeLib2* This,
5048 DWORD dwHelpContext);
5050 HRESULT (STDMETHODCALLTYPE *SetLcid)(
5051 ICreateTypeLib2* This,
5054 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(
5055 ICreateTypeLib2* This,
5058 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(
5059 ICreateTypeLib2* This);
5061 /*** ICreateTypeLib2 methods ***/
5062 HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)(
5063 ICreateTypeLib2* This,
5066 HRESULT (STDMETHODCALLTYPE *SetCustData)(
5067 ICreateTypeLib2* This,
5071 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(
5072 ICreateTypeLib2* This,
5073 ULONG dwHelpStringContext);
5075 HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)(
5076 ICreateTypeLib2* This,
5077 LPOLESTR szFileName);
5081 #define ICreateTypeLib2_IMETHODS \
5082 /*** IUnknown methods ***/ \
5083 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
5084 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
5085 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
5086 /*** ICreateTypeLib methods ***/ \
5087 HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(INTERFACE *This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); \
5088 HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName); \
5089 HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
5090 HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
5091 HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR szDoc); \
5092 HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(INTERFACE *This, LPOLESTR szHelpFileName); \
5093 HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
5094 HRESULT (STDMETHODCALLTYPE *SetLcid)(INTERFACE *This, LCID lcid); \
5095 HRESULT (STDMETHODCALLTYPE *SetLibFlags)(INTERFACE *This, UINT uLibFlags); \
5096 HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(INTERFACE *This); \
5097 /*** ICreateTypeLib2 methods ***/ \
5098 HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)(INTERFACE *This, LPOLESTR szName); \
5099 HRESULT (STDMETHODCALLTYPE *SetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
5100 HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(INTERFACE *This, ULONG dwHelpStringContext); \
5101 HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)(INTERFACE *This, LPOLESTR szFileName);
5103 /*** IUnknown methods ***/
5104 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5105 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5106 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5107 /*** ICreateTypeLib methods ***/
5108 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5109 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5110 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5111 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5112 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5113 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5114 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5115 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5116 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5117 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5118 /*** ICreateTypeLib2 methods ***/
5119 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5120 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5121 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5122 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5126 HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy(
5127 ICreateTypeLib2* This,
5129 void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
5130 struct IRpcStubBuffer* This,
5131 struct IRpcChannelBuffer* pRpcChannelBuffer,
5132 PRPC_MESSAGE pRpcMessage,
5133 DWORD* pdwStubPhase);
5134 HRESULT CALLBACK ICreateTypeLib2_SetCustData_Proxy(
5135 ICreateTypeLib2* This,
5138 void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
5139 struct IRpcStubBuffer* This,
5140 struct IRpcChannelBuffer* pRpcChannelBuffer,
5141 PRPC_MESSAGE pRpcMessage,
5142 DWORD* pdwStubPhase);
5143 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringContext_Proxy(
5144 ICreateTypeLib2* This,
5145 ULONG dwHelpStringContext);
5146 void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
5147 struct IRpcStubBuffer* This,
5148 struct IRpcChannelBuffer* pRpcChannelBuffer,
5149 PRPC_MESSAGE pRpcMessage,
5150 DWORD* pdwStubPhase);
5151 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringDll_Proxy(
5152 ICreateTypeLib2* This,
5153 LPOLESTR szFileName);
5154 void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
5155 struct IRpcStubBuffer* This,
5156 struct IRpcChannelBuffer* pRpcChannelBuffer,
5157 PRPC_MESSAGE pRpcMessage,
5158 DWORD* pdwStubPhase);
5163 #endif /* __WIDL_OAIDL_H */