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 CALLBACK GetTypeInfoCount(
591 virtual HRESULT CALLBACK GetTypeInfo(
594 ITypeInfo** ppTInfo) = 0;
596 virtual HRESULT CALLBACK GetIDsOfNames(
601 DISPID* rgDispId) = 0;
603 virtual HRESULT CALLBACK 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 (CALLBACK *QueryInterface)(
628 ULONG (CALLBACK *AddRef)(
631 ULONG (CALLBACK *Release)(
634 /*** IDispatch methods ***/
635 HRESULT (CALLBACK *GetTypeInfoCount)(
639 HRESULT (CALLBACK *GetTypeInfo)(
643 ITypeInfo** ppTInfo);
645 HRESULT (CALLBACK *GetIDsOfNames)(
653 HRESULT (CALLBACK *Invoke)(
659 DISPPARAMS* pDispParams,
661 EXCEPINFO* pExcepInfo,
666 #define IDispatch_IMETHODS \
668 ICOM_METHOD1 (HRESULT,GetTypeInfoCount,UINT*,pctinfo) \
669 ICOM_METHOD3 (HRESULT,GetTypeInfo,UINT,iTInfo,LCID,lcid,ITypeInfo**,ppTInfo) \
670 ICOM_METHOD5 (HRESULT,GetIDsOfNames,REFIID,riid,LPOLESTR*,rgszNames,UINT,cNames,LCID,lcid,DISPID*,rgDispId) \
671 ICOM_METHOD8 (HRESULT,Invoke,DISPID,dispIdMember,REFIID,riid,LCID,lcid,WORD,wFlags,DISPPARAMS*,pDispParams,VARIANT*,pVarResult,EXCEPINFO*,pExcepInfo,UINT*,puArgErr)
673 /*** IUnknown methods ***/
674 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
675 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
676 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
677 /*** IDispatch methods ***/
678 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
679 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
680 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
681 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
685 HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy(
688 void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
689 struct IRpcStubBuffer* This,
690 struct IRpcChannelBuffer* pRpcChannelBuffer,
691 PRPC_MESSAGE pRpcMessage,
692 DWORD* pdwStubPhase);
693 HRESULT CALLBACK IDispatch_GetTypeInfo_Proxy(
697 ITypeInfo** ppTInfo);
698 void __RPC_STUB IDispatch_GetTypeInfo_Stub(
699 struct IRpcStubBuffer* This,
700 struct IRpcChannelBuffer* pRpcChannelBuffer,
701 PRPC_MESSAGE pRpcMessage,
702 DWORD* pdwStubPhase);
703 HRESULT CALLBACK IDispatch_GetIDsOfNames_Proxy(
710 void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
711 struct IRpcStubBuffer* This,
712 struct IRpcChannelBuffer* pRpcChannelBuffer,
713 PRPC_MESSAGE pRpcMessage,
714 DWORD* pdwStubPhase);
715 HRESULT CALLBACK IDispatch_RemoteInvoke_Proxy(
721 DISPPARAMS* pDispParams,
723 EXCEPINFO* pExcepInfo,
727 VARIANTARG* rgVarRef);
728 void __RPC_STUB IDispatch_RemoteInvoke_Stub(
729 struct IRpcStubBuffer* This,
730 struct IRpcChannelBuffer* pRpcChannelBuffer,
731 PRPC_MESSAGE pRpcMessage,
732 DWORD* pdwStubPhase);
733 HRESULT CALLBACK IDispatch_Invoke_Proxy(
739 DISPPARAMS* pDispParams,
741 EXCEPINFO* pExcepInfo,
743 HRESULT __RPC_STUB IDispatch_Invoke_Stub(
749 DISPPARAMS* pDispParams,
751 EXCEPINFO* pExcepInfo,
755 VARIANTARG* rgVarRef);
757 typedef struct IEnumVARIANT IEnumVARIANT;
758 typedef IEnumVARIANT *LPENUMVARIANT;
760 /*****************************************************************************
761 * IEnumVARIANT interface
763 DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
764 #if defined(__cplusplus) && !defined(CINTERFACE)
765 struct IEnumVARIANT: IUnknown {
767 virtual HRESULT CALLBACK Next(
770 ULONG* pCeltFetched) = 0;
772 virtual HRESULT CALLBACK Skip(
775 virtual HRESULT CALLBACK Reset(
778 virtual HRESULT CALLBACK Clone(
779 IEnumVARIANT** ppEnum) = 0;
781 } ICOM_COM_INTERFACE_ATTRIBUTE;
783 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl;
784 struct IEnumVARIANT {
785 const IEnumVARIANTVtbl* lpVtbl;
787 struct IEnumVARIANTVtbl {
788 ICOM_MSVTABLE_COMPAT_FIELDS
790 /*** IUnknown methods ***/
791 HRESULT (CALLBACK *QueryInterface)(
796 ULONG (CALLBACK *AddRef)(
799 ULONG (CALLBACK *Release)(
802 /*** IEnumVARIANT methods ***/
803 HRESULT (CALLBACK *Next)(
807 ULONG* pCeltFetched);
809 HRESULT (CALLBACK *Skip)(
813 HRESULT (CALLBACK *Reset)(
816 HRESULT (CALLBACK *Clone)(
818 IEnumVARIANT** ppEnum);
822 #define IEnumVARIANT_IMETHODS \
824 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,VARIANT*,rgVar,ULONG*,pCeltFetched) \
825 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
826 ICOM_METHOD (HRESULT,Reset) \
827 ICOM_METHOD1 (HRESULT,Clone,IEnumVARIANT**,ppEnum)
829 /*** IUnknown methods ***/
830 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
831 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
832 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
833 /*** IEnumVARIANT methods ***/
834 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
835 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
836 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
837 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
841 HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy(
845 ULONG* pCeltFetched);
846 void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
847 struct IRpcStubBuffer* This,
848 struct IRpcChannelBuffer* pRpcChannelBuffer,
849 PRPC_MESSAGE pRpcMessage,
850 DWORD* pdwStubPhase);
851 HRESULT CALLBACK IEnumVARIANT_Next_Proxy(
855 ULONG* pCeltFetched);
856 HRESULT __RPC_STUB IEnumVARIANT_Next_Stub(
860 ULONG* pCeltFetched);
861 HRESULT CALLBACK IEnumVARIANT_Skip_Proxy(
864 void __RPC_STUB IEnumVARIANT_Skip_Stub(
865 struct IRpcStubBuffer* This,
866 struct IRpcChannelBuffer* pRpcChannelBuffer,
867 PRPC_MESSAGE pRpcMessage,
868 DWORD* pdwStubPhase);
869 HRESULT CALLBACK IEnumVARIANT_Reset_Proxy(
871 void __RPC_STUB IEnumVARIANT_Reset_Stub(
872 struct IRpcStubBuffer* This,
873 struct IRpcChannelBuffer* pRpcChannelBuffer,
874 PRPC_MESSAGE pRpcMessage,
875 DWORD* pdwStubPhase);
876 HRESULT CALLBACK IEnumVARIANT_Clone_Proxy(
878 IEnumVARIANT** ppEnum);
879 void __RPC_STUB IEnumVARIANT_Clone_Stub(
880 struct IRpcStubBuffer* This,
881 struct IRpcChannelBuffer* pRpcChannelBuffer,
882 PRPC_MESSAGE pRpcMessage,
883 DWORD* pdwStubPhase);
885 typedef struct ITypeComp ITypeComp;
886 typedef ITypeComp *LPTYPECOMP;
888 typedef enum tagDESCKIND {
893 DESCKIND_IMPLICITAPPOBJ,
897 typedef union tagBINDPTR {
898 FUNCDESC *lpfuncdesc;
901 } BINDPTR, *LPBINDPTR;
903 /*****************************************************************************
904 * ITypeComp interface
906 DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
907 #if defined(__cplusplus) && !defined(CINTERFACE)
908 struct ITypeComp: IUnknown {
910 virtual HRESULT CALLBACK Bind(
916 BINDPTR* pBindPtr) = 0;
918 virtual HRESULT CALLBACK BindType(
922 ITypeComp** ppTComp) = 0;
924 } ICOM_COM_INTERFACE_ATTRIBUTE;
926 typedef struct ITypeCompVtbl ITypeCompVtbl;
928 const ITypeCompVtbl* lpVtbl;
930 struct ITypeCompVtbl {
931 ICOM_MSVTABLE_COMPAT_FIELDS
933 /*** IUnknown methods ***/
934 HRESULT (CALLBACK *QueryInterface)(
939 ULONG (CALLBACK *AddRef)(
942 ULONG (CALLBACK *Release)(
945 /*** ITypeComp methods ***/
946 HRESULT (CALLBACK *Bind)(
955 HRESULT (CALLBACK *BindType)(
960 ITypeComp** ppTComp);
964 #define ITypeComp_IMETHODS \
966 ICOM_METHOD6 (HRESULT,Bind,LPOLESTR,szName,ULONG,lHashVal,WORD,wFlags,ITypeInfo**,ppTInfo,DESCKIND*,pDescKind,BINDPTR*,pBindPtr) \
967 ICOM_METHOD4 (HRESULT,BindType,LPOLESTR,szName,ULONG,lHashVal,ITypeInfo**,ppTInfo,ITypeComp**,ppTComp)
969 /*** IUnknown methods ***/
970 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
971 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
972 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
973 /*** ITypeComp methods ***/
974 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
975 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
979 HRESULT CALLBACK ITypeComp_RemoteBind_Proxy(
986 LPFUNCDESC* ppFuncDesc,
987 LPVARDESC* ppVarDesc,
988 ITypeComp** ppTypeComp,
989 CLEANLOCALSTORAGE* pDummy);
990 void __RPC_STUB ITypeComp_RemoteBind_Stub(
991 struct IRpcStubBuffer* This,
992 struct IRpcChannelBuffer* pRpcChannelBuffer,
993 PRPC_MESSAGE pRpcMessage,
994 DWORD* pdwStubPhase);
995 HRESULT CALLBACK ITypeComp_Bind_Proxy(
1000 ITypeInfo** ppTInfo,
1001 DESCKIND* pDescKind,
1003 HRESULT __RPC_STUB ITypeComp_Bind_Stub(
1008 ITypeInfo** ppTInfo,
1009 DESCKIND* pDescKind,
1010 LPFUNCDESC* ppFuncDesc,
1011 LPVARDESC* ppVarDesc,
1012 ITypeComp** ppTypeComp,
1013 CLEANLOCALSTORAGE* pDummy);
1014 HRESULT CALLBACK ITypeComp_RemoteBindType_Proxy(
1018 ITypeInfo** ppTInfo);
1019 void __RPC_STUB ITypeComp_RemoteBindType_Stub(
1020 struct IRpcStubBuffer* This,
1021 struct IRpcChannelBuffer* pRpcChannelBuffer,
1022 PRPC_MESSAGE pRpcMessage,
1023 DWORD* pdwStubPhase);
1024 HRESULT CALLBACK ITypeComp_BindType_Proxy(
1028 ITypeInfo** ppTInfo,
1029 ITypeComp** ppTComp);
1030 HRESULT __RPC_STUB ITypeComp_BindType_Stub(
1034 ITypeInfo** ppTInfo);
1036 typedef ITypeInfo *LPTYPEINFO;
1038 /*****************************************************************************
1039 * ITypeInfo interface
1041 DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1042 #if defined(__cplusplus) && !defined(CINTERFACE)
1043 struct ITypeInfo: IUnknown {
1045 virtual HRESULT CALLBACK GetTypeAttr(
1046 TYPEATTR** ppTypeAttr) = 0;
1048 virtual HRESULT CALLBACK GetTypeComp(
1049 ITypeComp** ppTComp) = 0;
1051 virtual HRESULT CALLBACK GetFuncDesc(
1053 FUNCDESC** ppFuncDesc) = 0;
1055 virtual HRESULT CALLBACK GetVarDesc(
1057 VARDESC** ppVarDesc) = 0;
1059 virtual HRESULT CALLBACK GetNames(
1065 virtual HRESULT CALLBACK GetRefTypeOfImplType(
1067 HREFTYPE* pRefType) = 0;
1069 virtual HRESULT CALLBACK GetImplTypeFlags(
1071 INT* pImplTypeFlags) = 0;
1073 virtual HRESULT CALLBACK GetIDsOfNames(
1074 LPOLESTR* rgszNames,
1076 MEMBERID* pMemId) = 0;
1078 virtual HRESULT CALLBACK Invoke(
1082 DISPPARAMS* pDispParams,
1083 VARIANT* pVarResult,
1084 EXCEPINFO* pExcepInfo,
1085 UINT* puArgErr) = 0;
1087 virtual HRESULT CALLBACK GetDocumentation(
1090 BSTR* pBstrDocString,
1091 DWORD* pdwHelpContext,
1092 BSTR* pBstrHelpFile) = 0;
1094 virtual HRESULT CALLBACK GetDllEntry(
1099 WORD* pwOrdinal) = 0;
1101 virtual HRESULT CALLBACK GetRefTypeInfo(
1103 ITypeInfo** ppTInfo) = 0;
1105 virtual HRESULT CALLBACK AddressOfMember(
1110 virtual HRESULT CALLBACK CreateInstance(
1111 IUnknown* pUnkOuter,
1115 virtual HRESULT CALLBACK GetMops(
1117 BSTR* pBstrMops) = 0;
1119 virtual HRESULT CALLBACK GetContainingTypeLib(
1123 virtual void CALLBACK ReleaseTypeAttr(
1124 TYPEATTR* pTypeAttr) = 0;
1126 virtual void CALLBACK ReleaseFuncDesc(
1127 FUNCDESC* pFuncDesc) = 0;
1129 virtual void CALLBACK ReleaseVarDesc(
1130 VARDESC* pVarDesc) = 0;
1132 } ICOM_COM_INTERFACE_ATTRIBUTE;
1134 typedef struct ITypeInfoVtbl ITypeInfoVtbl;
1136 const ITypeInfoVtbl* lpVtbl;
1138 struct ITypeInfoVtbl {
1139 ICOM_MSVTABLE_COMPAT_FIELDS
1141 /*** IUnknown methods ***/
1142 HRESULT (CALLBACK *QueryInterface)(
1147 ULONG (CALLBACK *AddRef)(
1150 ULONG (CALLBACK *Release)(
1153 /*** ITypeInfo methods ***/
1154 HRESULT (CALLBACK *GetTypeAttr)(
1156 TYPEATTR** ppTypeAttr);
1158 HRESULT (CALLBACK *GetTypeComp)(
1160 ITypeComp** ppTComp);
1162 HRESULT (CALLBACK *GetFuncDesc)(
1165 FUNCDESC** ppFuncDesc);
1167 HRESULT (CALLBACK *GetVarDesc)(
1170 VARDESC** ppVarDesc);
1172 HRESULT (CALLBACK *GetNames)(
1179 HRESULT (CALLBACK *GetRefTypeOfImplType)(
1182 HREFTYPE* pRefType);
1184 HRESULT (CALLBACK *GetImplTypeFlags)(
1187 INT* pImplTypeFlags);
1189 HRESULT (CALLBACK *GetIDsOfNames)(
1191 LPOLESTR* rgszNames,
1195 HRESULT (CALLBACK *Invoke)(
1200 DISPPARAMS* pDispParams,
1201 VARIANT* pVarResult,
1202 EXCEPINFO* pExcepInfo,
1205 HRESULT (CALLBACK *GetDocumentation)(
1209 BSTR* pBstrDocString,
1210 DWORD* pdwHelpContext,
1211 BSTR* pBstrHelpFile);
1213 HRESULT (CALLBACK *GetDllEntry)(
1221 HRESULT (CALLBACK *GetRefTypeInfo)(
1224 ITypeInfo** ppTInfo);
1226 HRESULT (CALLBACK *AddressOfMember)(
1232 HRESULT (CALLBACK *CreateInstance)(
1234 IUnknown* pUnkOuter,
1238 HRESULT (CALLBACK *GetMops)(
1243 HRESULT (CALLBACK *GetContainingTypeLib)(
1248 void (CALLBACK *ReleaseTypeAttr)(
1250 TYPEATTR* pTypeAttr);
1252 void (CALLBACK *ReleaseFuncDesc)(
1254 FUNCDESC* pFuncDesc);
1256 void (CALLBACK *ReleaseVarDesc)(
1262 #define ITypeInfo_IMETHODS \
1264 ICOM_METHOD1 (HRESULT,GetTypeAttr,TYPEATTR**,ppTypeAttr) \
1265 ICOM_METHOD1 (HRESULT,GetTypeComp,ITypeComp**,ppTComp) \
1266 ICOM_METHOD2 (HRESULT,GetFuncDesc,UINT,index,FUNCDESC**,ppFuncDesc) \
1267 ICOM_METHOD2 (HRESULT,GetVarDesc,UINT,index,VARDESC**,ppVarDesc) \
1268 ICOM_METHOD4 (HRESULT,GetNames,MEMBERID,memid,BSTR*,rgBstrNames,UINT,cMaxNames,UINT*,pcNames) \
1269 ICOM_METHOD2 (HRESULT,GetRefTypeOfImplType,UINT,index,HREFTYPE*,pRefType) \
1270 ICOM_METHOD2 (HRESULT,GetImplTypeFlags,UINT,index,INT*,pImplTypeFlags) \
1271 ICOM_METHOD3 (HRESULT,GetIDsOfNames,LPOLESTR*,rgszNames,UINT,cNames,MEMBERID*,pMemId) \
1272 ICOM_METHOD7 (HRESULT,Invoke,PVOID,pvInstance,MEMBERID,memid,WORD,wFlags,DISPPARAMS*,pDispParams,VARIANT*,pVarResult,EXCEPINFO*,pExcepInfo,UINT*,puArgErr) \
1273 ICOM_METHOD5 (HRESULT,GetDocumentation,MEMBERID,memid,BSTR*,pBstrName,BSTR*,pBstrDocString,DWORD*,pdwHelpContext,BSTR*,pBstrHelpFile) \
1274 ICOM_METHOD5 (HRESULT,GetDllEntry,MEMBERID,memid,INVOKEKIND,invKind,BSTR*,pBstrDllName,BSTR*,pBstrName,WORD*,pwOrdinal) \
1275 ICOM_METHOD2 (HRESULT,GetRefTypeInfo,HREFTYPE,hRefType,ITypeInfo**,ppTInfo) \
1276 ICOM_METHOD3 (HRESULT,AddressOfMember,MEMBERID,memid,INVOKEKIND,invKind,PVOID*,ppv) \
1277 ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,PVOID*,ppvObj) \
1278 ICOM_METHOD2 (HRESULT,GetMops,MEMBERID,memid,BSTR*,pBstrMops) \
1279 ICOM_METHOD2 (HRESULT,GetContainingTypeLib,ITypeLib**,ppTLib,UINT*,pIndex) \
1280 ICOM_VMETHOD1(ReleaseTypeAttr,TYPEATTR*,pTypeAttr) \
1281 ICOM_VMETHOD1(ReleaseFuncDesc,FUNCDESC*,pFuncDesc) \
1282 ICOM_VMETHOD1(ReleaseVarDesc,VARDESC*,pVarDesc)
1284 /*** IUnknown methods ***/
1285 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1286 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1287 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1288 /*** ITypeInfo methods ***/
1289 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1290 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1291 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1292 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1293 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1294 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1295 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1296 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1297 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1298 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1299 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1300 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1301 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1302 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1303 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1304 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1305 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1306 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1307 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1311 HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
1313 LPTYPEATTR* ppTypeAttr,
1314 CLEANLOCALSTORAGE* pDummy);
1315 void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
1316 struct IRpcStubBuffer* This,
1317 struct IRpcChannelBuffer* pRpcChannelBuffer,
1318 PRPC_MESSAGE pRpcMessage,
1319 DWORD* pdwStubPhase);
1320 HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy(
1322 TYPEATTR** ppTypeAttr);
1323 HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
1325 LPTYPEATTR* ppTypeAttr,
1326 CLEANLOCALSTORAGE* pDummy);
1327 HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy(
1329 ITypeComp** ppTComp);
1330 void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
1331 struct IRpcStubBuffer* This,
1332 struct IRpcChannelBuffer* pRpcChannelBuffer,
1333 PRPC_MESSAGE pRpcMessage,
1334 DWORD* pdwStubPhase);
1335 HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy(
1338 LPFUNCDESC* ppFuncDesc,
1339 CLEANLOCALSTORAGE* pDummy);
1340 void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
1341 struct IRpcStubBuffer* This,
1342 struct IRpcChannelBuffer* pRpcChannelBuffer,
1343 PRPC_MESSAGE pRpcMessage,
1344 DWORD* pdwStubPhase);
1345 HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy(
1348 FUNCDESC** ppFuncDesc);
1349 HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
1352 LPFUNCDESC* ppFuncDesc,
1353 CLEANLOCALSTORAGE* pDummy);
1354 HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy(
1357 LPVARDESC* ppVarDesc,
1358 CLEANLOCALSTORAGE* pDummy);
1359 void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
1360 struct IRpcStubBuffer* This,
1361 struct IRpcChannelBuffer* pRpcChannelBuffer,
1362 PRPC_MESSAGE pRpcMessage,
1363 DWORD* pdwStubPhase);
1364 HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
1367 VARDESC** ppVarDesc);
1368 HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
1371 LPVARDESC* ppVarDesc,
1372 CLEANLOCALSTORAGE* pDummy);
1373 HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy(
1379 void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
1380 struct IRpcStubBuffer* This,
1381 struct IRpcChannelBuffer* pRpcChannelBuffer,
1382 PRPC_MESSAGE pRpcMessage,
1383 DWORD* pdwStubPhase);
1384 HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
1390 HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
1396 HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy(
1399 HREFTYPE* pRefType);
1400 void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
1401 struct IRpcStubBuffer* This,
1402 struct IRpcChannelBuffer* pRpcChannelBuffer,
1403 PRPC_MESSAGE pRpcMessage,
1404 DWORD* pdwStubPhase);
1405 HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy(
1408 INT* pImplTypeFlags);
1409 void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
1410 struct IRpcStubBuffer* This,
1411 struct IRpcChannelBuffer* pRpcChannelBuffer,
1412 PRPC_MESSAGE pRpcMessage,
1413 DWORD* pdwStubPhase);
1414 HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy(
1416 void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
1417 struct IRpcStubBuffer* This,
1418 struct IRpcChannelBuffer* pRpcChannelBuffer,
1419 PRPC_MESSAGE pRpcMessage,
1420 DWORD* pdwStubPhase);
1421 HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
1423 LPOLESTR* rgszNames,
1426 HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
1428 HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy(
1430 void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
1431 struct IRpcStubBuffer* This,
1432 struct IRpcChannelBuffer* pRpcChannelBuffer,
1433 PRPC_MESSAGE pRpcMessage,
1434 DWORD* pdwStubPhase);
1435 HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
1440 DISPPARAMS* pDispParams,
1441 VARIANT* pVarResult,
1442 EXCEPINFO* pExcepInfo,
1444 HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
1446 HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy(
1451 BSTR* pBstrDocString,
1452 DWORD* pdwHelpContext,
1453 BSTR* pBstrHelpFile);
1454 void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
1455 struct IRpcStubBuffer* This,
1456 struct IRpcChannelBuffer* pRpcChannelBuffer,
1457 PRPC_MESSAGE pRpcMessage,
1458 DWORD* pdwStubPhase);
1459 HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
1463 BSTR* pBstrDocString,
1464 DWORD* pdwHelpContext,
1465 BSTR* pBstrHelpFile);
1466 HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
1471 BSTR* pBstrDocString,
1472 DWORD* pdwHelpContext,
1473 BSTR* pBstrHelpFile);
1474 HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy(
1482 void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
1483 struct IRpcStubBuffer* This,
1484 struct IRpcChannelBuffer* pRpcChannelBuffer,
1485 PRPC_MESSAGE pRpcMessage,
1486 DWORD* pdwStubPhase);
1487 HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
1494 HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
1502 HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy(
1505 ITypeInfo** ppTInfo);
1506 void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
1507 struct IRpcStubBuffer* This,
1508 struct IRpcChannelBuffer* pRpcChannelBuffer,
1509 PRPC_MESSAGE pRpcMessage,
1510 DWORD* pdwStubPhase);
1511 HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy(
1513 void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
1514 struct IRpcStubBuffer* This,
1515 struct IRpcChannelBuffer* pRpcChannelBuffer,
1516 PRPC_MESSAGE pRpcMessage,
1517 DWORD* pdwStubPhase);
1518 HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
1523 HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
1525 HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy(
1529 void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
1530 struct IRpcStubBuffer* This,
1531 struct IRpcChannelBuffer* pRpcChannelBuffer,
1532 PRPC_MESSAGE pRpcMessage,
1533 DWORD* pdwStubPhase);
1534 HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
1536 IUnknown* pUnkOuter,
1539 HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
1543 HRESULT CALLBACK ITypeInfo_GetMops_Proxy(
1547 void __RPC_STUB ITypeInfo_GetMops_Stub(
1548 struct IRpcStubBuffer* This,
1549 struct IRpcChannelBuffer* pRpcChannelBuffer,
1550 PRPC_MESSAGE pRpcMessage,
1551 DWORD* pdwStubPhase);
1552 HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1556 void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
1557 struct IRpcStubBuffer* This,
1558 struct IRpcChannelBuffer* pRpcChannelBuffer,
1559 PRPC_MESSAGE pRpcMessage,
1560 DWORD* pdwStubPhase);
1561 HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
1565 HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
1569 HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy(
1571 void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
1572 struct IRpcStubBuffer* This,
1573 struct IRpcChannelBuffer* pRpcChannelBuffer,
1574 PRPC_MESSAGE pRpcMessage,
1575 DWORD* pdwStubPhase);
1576 void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
1578 TYPEATTR* pTypeAttr);
1579 HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
1581 HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy(
1583 void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
1584 struct IRpcStubBuffer* This,
1585 struct IRpcChannelBuffer* pRpcChannelBuffer,
1586 PRPC_MESSAGE pRpcMessage,
1587 DWORD* pdwStubPhase);
1588 void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
1590 FUNCDESC* pFuncDesc);
1591 HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
1593 HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy(
1595 void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
1596 struct IRpcStubBuffer* This,
1597 struct IRpcChannelBuffer* pRpcChannelBuffer,
1598 PRPC_MESSAGE pRpcMessage,
1599 DWORD* pdwStubPhase);
1600 void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
1603 HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
1606 typedef struct ITypeInfo2 ITypeInfo2;
1607 typedef ITypeInfo2 *LPTYPEINFO2;
1609 /*****************************************************************************
1610 * ITypeInfo2 interface
1612 DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1613 #if defined(__cplusplus) && !defined(CINTERFACE)
1614 struct ITypeInfo2: ITypeInfo {
1616 virtual HRESULT CALLBACK GetTypeKind(
1617 TYPEKIND* pTypeKind) = 0;
1619 virtual HRESULT CALLBACK GetTypeFlags(
1620 ULONG* pTypeFlags) = 0;
1622 virtual HRESULT CALLBACK GetFuncIndexOfMemId(
1625 UINT* pFuncIndex) = 0;
1627 virtual HRESULT CALLBACK GetVarIndexOfMemId(
1629 UINT* pVarIndex) = 0;
1631 virtual HRESULT CALLBACK GetCustData(
1633 VARIANT* pVarVal) = 0;
1635 virtual HRESULT CALLBACK GetFuncCustData(
1638 VARIANT* pVarVal) = 0;
1640 virtual HRESULT CALLBACK GetParamCustData(
1644 VARIANT* pVarVal) = 0;
1646 virtual HRESULT CALLBACK GetVarCustData(
1649 VARIANT* pVarVal) = 0;
1651 virtual HRESULT CALLBACK GetImplTypeCustData(
1654 VARIANT* pVarVal) = 0;
1656 virtual HRESULT CALLBACK GetDocumentation2(
1659 BSTR* pbstrHelpString,
1660 DWORD* pdwHelpStringContext,
1661 BSTR* pbstrHelpStringDll) = 0;
1663 virtual HRESULT CALLBACK GetAllCustData(
1664 CUSTDATA* pCustData) = 0;
1666 virtual HRESULT CALLBACK GetAllFuncCustData(
1668 CUSTDATA* pCustData) = 0;
1670 virtual HRESULT CALLBACK GetAllParamCustData(
1673 CUSTDATA* pCustData) = 0;
1675 virtual HRESULT CALLBACK GetAllVarCustData(
1677 CUSTDATA* pCustData) = 0;
1679 virtual HRESULT CALLBACK GetAllImplTypeCustData(
1681 CUSTDATA* pCustData) = 0;
1683 } ICOM_COM_INTERFACE_ATTRIBUTE;
1685 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl;
1687 const ITypeInfo2Vtbl* lpVtbl;
1689 struct ITypeInfo2Vtbl {
1690 ICOM_MSVTABLE_COMPAT_FIELDS
1692 /*** IUnknown methods ***/
1693 HRESULT (CALLBACK *QueryInterface)(
1698 ULONG (CALLBACK *AddRef)(
1701 ULONG (CALLBACK *Release)(
1704 /*** ITypeInfo methods ***/
1705 HRESULT (CALLBACK *GetTypeAttr)(
1707 TYPEATTR** ppTypeAttr);
1709 HRESULT (CALLBACK *GetTypeComp)(
1711 ITypeComp** ppTComp);
1713 HRESULT (CALLBACK *GetFuncDesc)(
1716 FUNCDESC** ppFuncDesc);
1718 HRESULT (CALLBACK *GetVarDesc)(
1721 VARDESC** ppVarDesc);
1723 HRESULT (CALLBACK *GetNames)(
1730 HRESULT (CALLBACK *GetRefTypeOfImplType)(
1733 HREFTYPE* pRefType);
1735 HRESULT (CALLBACK *GetImplTypeFlags)(
1738 INT* pImplTypeFlags);
1740 HRESULT (CALLBACK *GetIDsOfNames)(
1742 LPOLESTR* rgszNames,
1746 HRESULT (CALLBACK *Invoke)(
1751 DISPPARAMS* pDispParams,
1752 VARIANT* pVarResult,
1753 EXCEPINFO* pExcepInfo,
1756 HRESULT (CALLBACK *GetDocumentation)(
1760 BSTR* pBstrDocString,
1761 DWORD* pdwHelpContext,
1762 BSTR* pBstrHelpFile);
1764 HRESULT (CALLBACK *GetDllEntry)(
1772 HRESULT (CALLBACK *GetRefTypeInfo)(
1775 ITypeInfo** ppTInfo);
1777 HRESULT (CALLBACK *AddressOfMember)(
1783 HRESULT (CALLBACK *CreateInstance)(
1785 IUnknown* pUnkOuter,
1789 HRESULT (CALLBACK *GetMops)(
1794 HRESULT (CALLBACK *GetContainingTypeLib)(
1799 void (CALLBACK *ReleaseTypeAttr)(
1801 TYPEATTR* pTypeAttr);
1803 void (CALLBACK *ReleaseFuncDesc)(
1805 FUNCDESC* pFuncDesc);
1807 void (CALLBACK *ReleaseVarDesc)(
1811 /*** ITypeInfo2 methods ***/
1812 HRESULT (CALLBACK *GetTypeKind)(
1814 TYPEKIND* pTypeKind);
1816 HRESULT (CALLBACK *GetTypeFlags)(
1820 HRESULT (CALLBACK *GetFuncIndexOfMemId)(
1826 HRESULT (CALLBACK *GetVarIndexOfMemId)(
1831 HRESULT (CALLBACK *GetCustData)(
1836 HRESULT (CALLBACK *GetFuncCustData)(
1842 HRESULT (CALLBACK *GetParamCustData)(
1849 HRESULT (CALLBACK *GetVarCustData)(
1855 HRESULT (CALLBACK *GetImplTypeCustData)(
1861 HRESULT (CALLBACK *GetDocumentation2)(
1865 BSTR* pbstrHelpString,
1866 DWORD* pdwHelpStringContext,
1867 BSTR* pbstrHelpStringDll);
1869 HRESULT (CALLBACK *GetAllCustData)(
1871 CUSTDATA* pCustData);
1873 HRESULT (CALLBACK *GetAllFuncCustData)(
1876 CUSTDATA* pCustData);
1878 HRESULT (CALLBACK *GetAllParamCustData)(
1882 CUSTDATA* pCustData);
1884 HRESULT (CALLBACK *GetAllVarCustData)(
1887 CUSTDATA* pCustData);
1889 HRESULT (CALLBACK *GetAllImplTypeCustData)(
1892 CUSTDATA* pCustData);
1896 #define ITypeInfo2_IMETHODS \
1897 ITypeInfo_IMETHODS \
1898 ICOM_METHOD1 (HRESULT,GetTypeKind,TYPEKIND*,pTypeKind) \
1899 ICOM_METHOD1 (HRESULT,GetTypeFlags,ULONG*,pTypeFlags) \
1900 ICOM_METHOD3 (HRESULT,GetFuncIndexOfMemId,MEMBERID,memid,INVOKEKIND,invKind,UINT*,pFuncIndex) \
1901 ICOM_METHOD2 (HRESULT,GetVarIndexOfMemId,MEMBERID,memid,UINT*,pVarIndex) \
1902 ICOM_METHOD2 (HRESULT,GetCustData,REFGUID,guid,VARIANT*,pVarVal) \
1903 ICOM_METHOD3 (HRESULT,GetFuncCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
1904 ICOM_METHOD4 (HRESULT,GetParamCustData,UINT,indexFunc,UINT,indexParam,REFGUID,guid,VARIANT*,pVarVal) \
1905 ICOM_METHOD3 (HRESULT,GetVarCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
1906 ICOM_METHOD3 (HRESULT,GetImplTypeCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
1907 ICOM_METHOD5 (HRESULT,GetDocumentation2,MEMBERID,memid,LCID,lcid,BSTR*,pbstrHelpString,DWORD*,pdwHelpStringContext,BSTR*,pbstrHelpStringDll) \
1908 ICOM_METHOD1 (HRESULT,GetAllCustData,CUSTDATA*,pCustData) \
1909 ICOM_METHOD2 (HRESULT,GetAllFuncCustData,UINT,index,CUSTDATA*,pCustData) \
1910 ICOM_METHOD3 (HRESULT,GetAllParamCustData,UINT,indexFunc,UINT,indexParam,CUSTDATA*,pCustData) \
1911 ICOM_METHOD2 (HRESULT,GetAllVarCustData,UINT,index,CUSTDATA*,pCustData) \
1912 ICOM_METHOD2 (HRESULT,GetAllImplTypeCustData,UINT,index,CUSTDATA*,pCustData)
1914 /*** IUnknown methods ***/
1915 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1916 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1917 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1918 /*** ITypeInfo methods ***/
1919 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1920 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1921 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1922 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1923 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1924 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1925 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1926 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1927 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1928 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1929 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1930 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1931 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1932 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1933 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1934 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1935 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1936 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1937 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1938 /*** ITypeInfo2 methods ***/
1939 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1940 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
1941 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
1942 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
1943 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1944 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
1945 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
1946 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
1947 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
1948 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
1949 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
1950 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
1951 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
1952 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
1953 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
1957 HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy(
1959 TYPEKIND* pTypeKind);
1960 void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
1961 struct IRpcStubBuffer* This,
1962 struct IRpcChannelBuffer* pRpcChannelBuffer,
1963 PRPC_MESSAGE pRpcMessage,
1964 DWORD* pdwStubPhase);
1965 HRESULT CALLBACK ITypeInfo2_GetTypeFlags_Proxy(
1968 void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
1969 struct IRpcStubBuffer* This,
1970 struct IRpcChannelBuffer* pRpcChannelBuffer,
1971 PRPC_MESSAGE pRpcMessage,
1972 DWORD* pdwStubPhase);
1973 HRESULT CALLBACK ITypeInfo2_GetFuncIndexOfMemId_Proxy(
1978 void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
1979 struct IRpcStubBuffer* This,
1980 struct IRpcChannelBuffer* pRpcChannelBuffer,
1981 PRPC_MESSAGE pRpcMessage,
1982 DWORD* pdwStubPhase);
1983 HRESULT CALLBACK ITypeInfo2_GetVarIndexOfMemId_Proxy(
1987 void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
1988 struct IRpcStubBuffer* This,
1989 struct IRpcChannelBuffer* pRpcChannelBuffer,
1990 PRPC_MESSAGE pRpcMessage,
1991 DWORD* pdwStubPhase);
1992 HRESULT CALLBACK ITypeInfo2_GetCustData_Proxy(
1996 void __RPC_STUB ITypeInfo2_GetCustData_Stub(
1997 struct IRpcStubBuffer* This,
1998 struct IRpcChannelBuffer* pRpcChannelBuffer,
1999 PRPC_MESSAGE pRpcMessage,
2000 DWORD* pdwStubPhase);
2001 HRESULT CALLBACK ITypeInfo2_GetFuncCustData_Proxy(
2006 void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
2007 struct IRpcStubBuffer* This,
2008 struct IRpcChannelBuffer* pRpcChannelBuffer,
2009 PRPC_MESSAGE pRpcMessage,
2010 DWORD* pdwStubPhase);
2011 HRESULT CALLBACK ITypeInfo2_GetParamCustData_Proxy(
2017 void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
2018 struct IRpcStubBuffer* This,
2019 struct IRpcChannelBuffer* pRpcChannelBuffer,
2020 PRPC_MESSAGE pRpcMessage,
2021 DWORD* pdwStubPhase);
2022 HRESULT CALLBACK ITypeInfo2_GetVarCustData_Proxy(
2027 void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
2028 struct IRpcStubBuffer* This,
2029 struct IRpcChannelBuffer* pRpcChannelBuffer,
2030 PRPC_MESSAGE pRpcMessage,
2031 DWORD* pdwStubPhase);
2032 HRESULT CALLBACK ITypeInfo2_GetImplTypeCustData_Proxy(
2037 void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
2038 struct IRpcStubBuffer* This,
2039 struct IRpcChannelBuffer* pRpcChannelBuffer,
2040 PRPC_MESSAGE pRpcMessage,
2041 DWORD* pdwStubPhase);
2042 HRESULT CALLBACK ITypeInfo2_RemoteGetDocumentation2_Proxy(
2047 BSTR* pbstrHelpString,
2048 DWORD* pdwHelpStringContext,
2049 BSTR* pbstrHelpStringDll);
2050 void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
2051 struct IRpcStubBuffer* This,
2052 struct IRpcChannelBuffer* pRpcChannelBuffer,
2053 PRPC_MESSAGE pRpcMessage,
2054 DWORD* pdwStubPhase);
2055 HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy(
2059 BSTR* pbstrHelpString,
2060 DWORD* pdwHelpStringContext,
2061 BSTR* pbstrHelpStringDll);
2062 HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub(
2067 BSTR* pbstrHelpString,
2068 DWORD* pdwHelpStringContext,
2069 BSTR* pbstrHelpStringDll);
2070 HRESULT CALLBACK ITypeInfo2_GetAllCustData_Proxy(
2072 CUSTDATA* pCustData);
2073 void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
2074 struct IRpcStubBuffer* This,
2075 struct IRpcChannelBuffer* pRpcChannelBuffer,
2076 PRPC_MESSAGE pRpcMessage,
2077 DWORD* pdwStubPhase);
2078 HRESULT CALLBACK ITypeInfo2_GetAllFuncCustData_Proxy(
2081 CUSTDATA* pCustData);
2082 void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
2083 struct IRpcStubBuffer* This,
2084 struct IRpcChannelBuffer* pRpcChannelBuffer,
2085 PRPC_MESSAGE pRpcMessage,
2086 DWORD* pdwStubPhase);
2087 HRESULT CALLBACK ITypeInfo2_GetAllParamCustData_Proxy(
2091 CUSTDATA* pCustData);
2092 void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
2093 struct IRpcStubBuffer* This,
2094 struct IRpcChannelBuffer* pRpcChannelBuffer,
2095 PRPC_MESSAGE pRpcMessage,
2096 DWORD* pdwStubPhase);
2097 HRESULT CALLBACK ITypeInfo2_GetAllVarCustData_Proxy(
2100 CUSTDATA* pCustData);
2101 void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
2102 struct IRpcStubBuffer* This,
2103 struct IRpcChannelBuffer* pRpcChannelBuffer,
2104 PRPC_MESSAGE pRpcMessage,
2105 DWORD* pdwStubPhase);
2106 HRESULT CALLBACK ITypeInfo2_GetAllImplTypeCustData_Proxy(
2109 CUSTDATA* pCustData);
2110 void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
2111 struct IRpcStubBuffer* This,
2112 struct IRpcChannelBuffer* pRpcChannelBuffer,
2113 PRPC_MESSAGE pRpcMessage,
2114 DWORD* pdwStubPhase);
2116 typedef ITypeLib *LPTYPELIB;
2118 typedef enum tagSYSKIND {
2124 typedef enum tagLIBFLAGS {
2125 LIBFLAG_FRESTRICTED = 0x1,
2126 LIBFLAG_FCONTROL = 0x2,
2127 LIBFLAG_FHIDDEN = 0x4,
2128 LIBFLAG_FHASDISKIMAGE = 0x8
2131 typedef struct tagTLIBATTR {
2138 } TLIBATTR, *LPTLIBATTR;
2140 /*****************************************************************************
2141 * ITypeLib interface
2143 DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2144 #if defined(__cplusplus) && !defined(CINTERFACE)
2145 struct ITypeLib: IUnknown {
2147 virtual UINT CALLBACK GetTypeInfoCount(
2150 virtual HRESULT CALLBACK GetTypeInfo(
2152 ITypeInfo** ppTInfo) = 0;
2154 virtual HRESULT CALLBACK GetTypeInfoType(
2156 TYPEKIND* pTKind) = 0;
2158 virtual HRESULT CALLBACK GetTypeInfoOfGuid(
2160 ITypeInfo** ppTinfo) = 0;
2162 virtual HRESULT CALLBACK GetLibAttr(
2163 TLIBATTR** ppTLibAttr) = 0;
2165 virtual HRESULT CALLBACK GetTypeComp(
2166 ITypeComp** ppTComp) = 0;
2168 virtual HRESULT CALLBACK GetDocumentation(
2171 BSTR* pBstrDocString,
2172 DWORD* pdwHelpContext,
2173 BSTR* pBstrHelpFile) = 0;
2175 virtual HRESULT CALLBACK IsName(
2180 virtual HRESULT CALLBACK FindName(
2183 ITypeInfo** ppTInfo,
2185 USHORT* pcFound) = 0;
2187 virtual void CALLBACK ReleaseTLibAttr(
2188 TLIBATTR* pTLibAttr) = 0;
2190 } ICOM_COM_INTERFACE_ATTRIBUTE;
2192 typedef struct ITypeLibVtbl ITypeLibVtbl;
2194 const ITypeLibVtbl* lpVtbl;
2196 struct ITypeLibVtbl {
2197 ICOM_MSVTABLE_COMPAT_FIELDS
2199 /*** IUnknown methods ***/
2200 HRESULT (CALLBACK *QueryInterface)(
2205 ULONG (CALLBACK *AddRef)(
2208 ULONG (CALLBACK *Release)(
2211 /*** ITypeLib methods ***/
2212 UINT (CALLBACK *GetTypeInfoCount)(
2215 HRESULT (CALLBACK *GetTypeInfo)(
2218 ITypeInfo** ppTInfo);
2220 HRESULT (CALLBACK *GetTypeInfoType)(
2225 HRESULT (CALLBACK *GetTypeInfoOfGuid)(
2228 ITypeInfo** ppTinfo);
2230 HRESULT (CALLBACK *GetLibAttr)(
2232 TLIBATTR** ppTLibAttr);
2234 HRESULT (CALLBACK *GetTypeComp)(
2236 ITypeComp** ppTComp);
2238 HRESULT (CALLBACK *GetDocumentation)(
2242 BSTR* pBstrDocString,
2243 DWORD* pdwHelpContext,
2244 BSTR* pBstrHelpFile);
2246 HRESULT (CALLBACK *IsName)(
2252 HRESULT (CALLBACK *FindName)(
2256 ITypeInfo** ppTInfo,
2260 void (CALLBACK *ReleaseTLibAttr)(
2262 TLIBATTR* pTLibAttr);
2266 #define ITypeLib_IMETHODS \
2268 ICOM_METHOD (UINT,GetTypeInfoCount) \
2269 ICOM_METHOD2 (HRESULT,GetTypeInfo,UINT,index,ITypeInfo**,ppTInfo) \
2270 ICOM_METHOD2 (HRESULT,GetTypeInfoType,UINT,index,TYPEKIND*,pTKind) \
2271 ICOM_METHOD2 (HRESULT,GetTypeInfoOfGuid,REFGUID,guid,ITypeInfo**,ppTinfo) \
2272 ICOM_METHOD1 (HRESULT,GetLibAttr,TLIBATTR**,ppTLibAttr) \
2273 ICOM_METHOD1 (HRESULT,GetTypeComp,ITypeComp**,ppTComp) \
2274 ICOM_METHOD5 (HRESULT,GetDocumentation,INT,index,BSTR*,pBstrName,BSTR*,pBstrDocString,DWORD*,pdwHelpContext,BSTR*,pBstrHelpFile) \
2275 ICOM_METHOD3 (HRESULT,IsName,LPOLESTR,szNameBuf,ULONG,lHashVal,BOOL*,pfName) \
2276 ICOM_METHOD5 (HRESULT,FindName,LPOLESTR,szNameBuf,ULONG,lHashVal,ITypeInfo**,ppTInfo,MEMBERID*,rgMemId,USHORT*,pcFound) \
2277 ICOM_VMETHOD1(ReleaseTLibAttr,TLIBATTR*,pTLibAttr)
2279 /*** IUnknown methods ***/
2280 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2281 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2282 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2283 /*** ITypeLib methods ***/
2284 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2285 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2286 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2287 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2288 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2289 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2290 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2291 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2292 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2293 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2297 HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
2300 void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
2301 struct IRpcStubBuffer* This,
2302 struct IRpcChannelBuffer* pRpcChannelBuffer,
2303 PRPC_MESSAGE pRpcMessage,
2304 DWORD* pdwStubPhase);
2305 UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
2307 HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
2310 HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy(
2313 ITypeInfo** ppTInfo);
2314 void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
2315 struct IRpcStubBuffer* This,
2316 struct IRpcChannelBuffer* pRpcChannelBuffer,
2317 PRPC_MESSAGE pRpcMessage,
2318 DWORD* pdwStubPhase);
2319 HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy(
2323 void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
2324 struct IRpcStubBuffer* This,
2325 struct IRpcChannelBuffer* pRpcChannelBuffer,
2326 PRPC_MESSAGE pRpcMessage,
2327 DWORD* pdwStubPhase);
2328 HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy(
2331 ITypeInfo** ppTinfo);
2332 void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
2333 struct IRpcStubBuffer* This,
2334 struct IRpcChannelBuffer* pRpcChannelBuffer,
2335 PRPC_MESSAGE pRpcMessage,
2336 DWORD* pdwStubPhase);
2337 HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy(
2339 LPTLIBATTR* ppTLibAttr,
2340 CLEANLOCALSTORAGE* pDummy);
2341 void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
2342 struct IRpcStubBuffer* This,
2343 struct IRpcChannelBuffer* pRpcChannelBuffer,
2344 PRPC_MESSAGE pRpcMessage,
2345 DWORD* pdwStubPhase);
2346 HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
2348 TLIBATTR** ppTLibAttr);
2349 HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
2351 LPTLIBATTR* ppTLibAttr,
2352 CLEANLOCALSTORAGE* pDummy);
2353 HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy(
2355 ITypeComp** ppTComp);
2356 void __RPC_STUB ITypeLib_GetTypeComp_Stub(
2357 struct IRpcStubBuffer* This,
2358 struct IRpcChannelBuffer* pRpcChannelBuffer,
2359 PRPC_MESSAGE pRpcMessage,
2360 DWORD* pdwStubPhase);
2361 HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy(
2366 BSTR* pBstrDocString,
2367 DWORD* pdwHelpContext,
2368 BSTR* pBstrHelpFile);
2369 void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
2370 struct IRpcStubBuffer* This,
2371 struct IRpcChannelBuffer* pRpcChannelBuffer,
2372 PRPC_MESSAGE pRpcMessage,
2373 DWORD* pdwStubPhase);
2374 HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
2378 BSTR* pBstrDocString,
2379 DWORD* pdwHelpContext,
2380 BSTR* pBstrHelpFile);
2381 HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
2386 BSTR* pBstrDocString,
2387 DWORD* pdwHelpContext,
2388 BSTR* pBstrHelpFile);
2389 HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy(
2394 BSTR* pBstrLibName);
2395 void __RPC_STUB ITypeLib_RemoteIsName_Stub(
2396 struct IRpcStubBuffer* This,
2397 struct IRpcChannelBuffer* pRpcChannelBuffer,
2398 PRPC_MESSAGE pRpcMessage,
2399 DWORD* pdwStubPhase);
2400 HRESULT CALLBACK ITypeLib_IsName_Proxy(
2405 HRESULT __RPC_STUB ITypeLib_IsName_Stub(
2410 BSTR* pBstrLibName);
2411 HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy(
2415 ITypeInfo** ppTInfo,
2418 BSTR* pBstrLibName);
2419 void __RPC_STUB ITypeLib_RemoteFindName_Stub(
2420 struct IRpcStubBuffer* This,
2421 struct IRpcChannelBuffer* pRpcChannelBuffer,
2422 PRPC_MESSAGE pRpcMessage,
2423 DWORD* pdwStubPhase);
2424 HRESULT CALLBACK ITypeLib_FindName_Proxy(
2428 ITypeInfo** ppTInfo,
2431 HRESULT __RPC_STUB ITypeLib_FindName_Stub(
2435 ITypeInfo** ppTInfo,
2438 BSTR* pBstrLibName);
2439 HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy(
2441 void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
2442 struct IRpcStubBuffer* This,
2443 struct IRpcChannelBuffer* pRpcChannelBuffer,
2444 PRPC_MESSAGE pRpcMessage,
2445 DWORD* pdwStubPhase);
2446 void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
2448 TLIBATTR* pTLibAttr);
2449 HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
2452 typedef struct ITypeLib2 ITypeLib2;
2453 typedef ITypeLib2 *LPTYPELIB2;
2455 /*****************************************************************************
2456 * ITypeLib2 interface
2458 DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2459 #if defined(__cplusplus) && !defined(CINTERFACE)
2460 struct ITypeLib2: ITypeLib {
2462 virtual HRESULT CALLBACK GetCustData(
2464 VARIANT* pVarVal) = 0;
2466 virtual HRESULT CALLBACK GetLibStatistics(
2467 ULONG* pcUniqueNames,
2468 ULONG* pcchUniqueNames) = 0;
2470 virtual HRESULT CALLBACK GetDocumentation2(
2473 BSTR* pbstrHelpString,
2474 DWORD* pdwHelpStringContext,
2475 BSTR* pbstrHelpStringDll) = 0;
2477 virtual HRESULT CALLBACK GetAllCustData(
2478 CUSTDATA* pCustData) = 0;
2480 } ICOM_COM_INTERFACE_ATTRIBUTE;
2482 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl;
2484 const ITypeLib2Vtbl* lpVtbl;
2486 struct ITypeLib2Vtbl {
2487 ICOM_MSVTABLE_COMPAT_FIELDS
2489 /*** IUnknown methods ***/
2490 HRESULT (CALLBACK *QueryInterface)(
2495 ULONG (CALLBACK *AddRef)(
2498 ULONG (CALLBACK *Release)(
2501 /*** ITypeLib methods ***/
2502 UINT (CALLBACK *GetTypeInfoCount)(
2505 HRESULT (CALLBACK *GetTypeInfo)(
2508 ITypeInfo** ppTInfo);
2510 HRESULT (CALLBACK *GetTypeInfoType)(
2515 HRESULT (CALLBACK *GetTypeInfoOfGuid)(
2518 ITypeInfo** ppTinfo);
2520 HRESULT (CALLBACK *GetLibAttr)(
2522 TLIBATTR** ppTLibAttr);
2524 HRESULT (CALLBACK *GetTypeComp)(
2526 ITypeComp** ppTComp);
2528 HRESULT (CALLBACK *GetDocumentation)(
2532 BSTR* pBstrDocString,
2533 DWORD* pdwHelpContext,
2534 BSTR* pBstrHelpFile);
2536 HRESULT (CALLBACK *IsName)(
2542 HRESULT (CALLBACK *FindName)(
2546 ITypeInfo** ppTInfo,
2550 void (CALLBACK *ReleaseTLibAttr)(
2552 TLIBATTR* pTLibAttr);
2554 /*** ITypeLib2 methods ***/
2555 HRESULT (CALLBACK *GetCustData)(
2560 HRESULT (CALLBACK *GetLibStatistics)(
2562 ULONG* pcUniqueNames,
2563 ULONG* pcchUniqueNames);
2565 HRESULT (CALLBACK *GetDocumentation2)(
2569 BSTR* pbstrHelpString,
2570 DWORD* pdwHelpStringContext,
2571 BSTR* pbstrHelpStringDll);
2573 HRESULT (CALLBACK *GetAllCustData)(
2575 CUSTDATA* pCustData);
2579 #define ITypeLib2_IMETHODS \
2581 ICOM_METHOD2 (HRESULT,GetCustData,REFGUID,guid,VARIANT*,pVarVal) \
2582 ICOM_METHOD2 (HRESULT,GetLibStatistics,ULONG*,pcUniqueNames,ULONG*,pcchUniqueNames) \
2583 ICOM_METHOD5 (HRESULT,GetDocumentation2,INT,index,LCID,lcid,BSTR*,pbstrHelpString,DWORD*,pdwHelpStringContext,BSTR*,pbstrHelpStringDll) \
2584 ICOM_METHOD1 (HRESULT,GetAllCustData,CUSTDATA*,pCustData)
2586 /*** IUnknown methods ***/
2587 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2588 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2589 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2590 /*** ITypeLib methods ***/
2591 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2592 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2593 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2594 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2595 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2596 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2597 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2598 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2599 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2600 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2601 /*** ITypeLib2 methods ***/
2602 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2603 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2604 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2605 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2609 HRESULT CALLBACK ITypeLib2_GetCustData_Proxy(
2613 void __RPC_STUB ITypeLib2_GetCustData_Stub(
2614 struct IRpcStubBuffer* This,
2615 struct IRpcChannelBuffer* pRpcChannelBuffer,
2616 PRPC_MESSAGE pRpcMessage,
2617 DWORD* pdwStubPhase);
2618 HRESULT CALLBACK ITypeLib2_RemoteGetLibStatistics_Proxy(
2620 ULONG* pcUniqueNames,
2621 ULONG* pcchUniqueNames);
2622 void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
2623 struct IRpcStubBuffer* This,
2624 struct IRpcChannelBuffer* pRpcChannelBuffer,
2625 PRPC_MESSAGE pRpcMessage,
2626 DWORD* pdwStubPhase);
2627 HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy(
2629 ULONG* pcUniqueNames,
2630 ULONG* pcchUniqueNames);
2631 HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
2633 ULONG* pcUniqueNames,
2634 ULONG* pcchUniqueNames);
2635 HRESULT CALLBACK ITypeLib2_RemoteGetDocumentation2_Proxy(
2640 BSTR* pbstrHelpString,
2641 DWORD* pdwHelpStringContext,
2642 BSTR* pbstrHelpStringDll);
2643 void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
2644 struct IRpcStubBuffer* This,
2645 struct IRpcChannelBuffer* pRpcChannelBuffer,
2646 PRPC_MESSAGE pRpcMessage,
2647 DWORD* pdwStubPhase);
2648 HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
2652 BSTR* pbstrHelpString,
2653 DWORD* pdwHelpStringContext,
2654 BSTR* pbstrHelpStringDll);
2655 HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
2660 BSTR* pbstrHelpString,
2661 DWORD* pdwHelpStringContext,
2662 BSTR* pbstrHelpStringDll);
2663 HRESULT CALLBACK ITypeLib2_GetAllCustData_Proxy(
2665 CUSTDATA* pCustData);
2666 void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
2667 struct IRpcStubBuffer* This,
2668 struct IRpcChannelBuffer* pRpcChannelBuffer,
2669 PRPC_MESSAGE pRpcMessage,
2670 DWORD* pdwStubPhase);
2672 typedef struct ITypeChangeEvents ITypeChangeEvents;
2673 typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;
2675 typedef enum tagCHANGEKIND {
2676 CHANGEKIND_ADDMEMBER,
2677 CHANGEKIND_DELETEMEMBER,
2678 CHANGEKIND_SETNAMES,
2679 CHANGEKIND_SETDOCUMENTATION,
2681 CHANGEKIND_INVALIDATE,
2682 CHANGEKIND_CHANGEFAILED,
2686 /*****************************************************************************
2687 * ITypeChangeEvents interface
2689 DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2690 #if defined(__cplusplus) && !defined(CINTERFACE)
2691 struct ITypeChangeEvents: IUnknown {
2693 virtual HRESULT CALLBACK RequestTypeChange(
2694 CHANGEKIND changeKind,
2695 ITypeInfo* pTInfoBefore,
2699 virtual HRESULT CALLBACK AfterTypeChange(
2700 CHANGEKIND changeKind,
2701 ITypeInfo* pTInfoAfter,
2702 LPOLESTR pStrName) = 0;
2704 } ICOM_COM_INTERFACE_ATTRIBUTE;
2706 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl;
2707 struct ITypeChangeEvents {
2708 const ITypeChangeEventsVtbl* lpVtbl;
2710 struct ITypeChangeEventsVtbl {
2711 ICOM_MSVTABLE_COMPAT_FIELDS
2713 /*** IUnknown methods ***/
2714 HRESULT (CALLBACK *QueryInterface)(
2715 ITypeChangeEvents* This,
2719 ULONG (CALLBACK *AddRef)(
2720 ITypeChangeEvents* This);
2722 ULONG (CALLBACK *Release)(
2723 ITypeChangeEvents* This);
2725 /*** ITypeChangeEvents methods ***/
2726 HRESULT (CALLBACK *RequestTypeChange)(
2727 ITypeChangeEvents* This,
2728 CHANGEKIND changeKind,
2729 ITypeInfo* pTInfoBefore,
2733 HRESULT (CALLBACK *AfterTypeChange)(
2734 ITypeChangeEvents* This,
2735 CHANGEKIND changeKind,
2736 ITypeInfo* pTInfoAfter,
2741 #define ITypeChangeEvents_IMETHODS \
2743 ICOM_METHOD4 (HRESULT,RequestTypeChange,CHANGEKIND,changeKind,ITypeInfo*,pTInfoBefore,LPOLESTR,pStrName,INT*,pfCancel) \
2744 ICOM_METHOD3 (HRESULT,AfterTypeChange,CHANGEKIND,changeKind,ITypeInfo*,pTInfoAfter,LPOLESTR,pStrName)
2746 /*** IUnknown methods ***/
2747 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2748 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2749 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2750 /*** ITypeChangeEvents methods ***/
2751 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2752 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2756 HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy(
2757 ITypeChangeEvents* This,
2758 CHANGEKIND changeKind,
2759 ITypeInfo* pTInfoBefore,
2762 void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
2763 struct IRpcStubBuffer* This,
2764 struct IRpcChannelBuffer* pRpcChannelBuffer,
2765 PRPC_MESSAGE pRpcMessage,
2766 DWORD* pdwStubPhase);
2767 HRESULT CALLBACK ITypeChangeEvents_AfterTypeChange_Proxy(
2768 ITypeChangeEvents* This,
2769 CHANGEKIND changeKind,
2770 ITypeInfo* pTInfoAfter,
2772 void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
2773 struct IRpcStubBuffer* This,
2774 struct IRpcChannelBuffer* pRpcChannelBuffer,
2775 PRPC_MESSAGE pRpcMessage,
2776 DWORD* pdwStubPhase);
2778 typedef struct IErrorInfo IErrorInfo;
2779 typedef IErrorInfo *LPERRORINFO;
2781 /*****************************************************************************
2782 * IErrorInfo interface
2784 DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2785 #if defined(__cplusplus) && !defined(CINTERFACE)
2786 struct IErrorInfo: IUnknown {
2788 virtual HRESULT CALLBACK GetGUID(
2791 virtual HRESULT CALLBACK GetSource(
2792 BSTR* pBstrSource) = 0;
2794 virtual HRESULT CALLBACK GetDescription(
2795 BSTR* pBstrDescription) = 0;
2797 virtual HRESULT CALLBACK GetHelpFile(
2798 BSTR* pBstrHelpFile) = 0;
2800 virtual HRESULT CALLBACK GetHelpContext(
2801 DWORD* pdwHelpContext) = 0;
2803 } ICOM_COM_INTERFACE_ATTRIBUTE;
2805 typedef struct IErrorInfoVtbl IErrorInfoVtbl;
2807 const IErrorInfoVtbl* lpVtbl;
2809 struct IErrorInfoVtbl {
2810 ICOM_MSVTABLE_COMPAT_FIELDS
2812 /*** IUnknown methods ***/
2813 HRESULT (CALLBACK *QueryInterface)(
2818 ULONG (CALLBACK *AddRef)(
2821 ULONG (CALLBACK *Release)(
2824 /*** IErrorInfo methods ***/
2825 HRESULT (CALLBACK *GetGUID)(
2829 HRESULT (CALLBACK *GetSource)(
2833 HRESULT (CALLBACK *GetDescription)(
2835 BSTR* pBstrDescription);
2837 HRESULT (CALLBACK *GetHelpFile)(
2839 BSTR* pBstrHelpFile);
2841 HRESULT (CALLBACK *GetHelpContext)(
2843 DWORD* pdwHelpContext);
2847 #define IErrorInfo_IMETHODS \
2849 ICOM_METHOD1 (HRESULT,GetGUID,GUID*,pGUID) \
2850 ICOM_METHOD1 (HRESULT,GetSource,BSTR*,pBstrSource) \
2851 ICOM_METHOD1 (HRESULT,GetDescription,BSTR*,pBstrDescription) \
2852 ICOM_METHOD1 (HRESULT,GetHelpFile,BSTR*,pBstrHelpFile) \
2853 ICOM_METHOD1 (HRESULT,GetHelpContext,DWORD*,pdwHelpContext)
2855 /*** IUnknown methods ***/
2856 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2857 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
2858 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
2859 /*** IErrorInfo methods ***/
2860 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
2861 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
2862 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
2863 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
2864 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
2868 HRESULT CALLBACK IErrorInfo_GetGUID_Proxy(
2871 void __RPC_STUB IErrorInfo_GetGUID_Stub(
2872 struct IRpcStubBuffer* This,
2873 struct IRpcChannelBuffer* pRpcChannelBuffer,
2874 PRPC_MESSAGE pRpcMessage,
2875 DWORD* pdwStubPhase);
2876 HRESULT CALLBACK IErrorInfo_GetSource_Proxy(
2879 void __RPC_STUB IErrorInfo_GetSource_Stub(
2880 struct IRpcStubBuffer* This,
2881 struct IRpcChannelBuffer* pRpcChannelBuffer,
2882 PRPC_MESSAGE pRpcMessage,
2883 DWORD* pdwStubPhase);
2884 HRESULT CALLBACK IErrorInfo_GetDescription_Proxy(
2886 BSTR* pBstrDescription);
2887 void __RPC_STUB IErrorInfo_GetDescription_Stub(
2888 struct IRpcStubBuffer* This,
2889 struct IRpcChannelBuffer* pRpcChannelBuffer,
2890 PRPC_MESSAGE pRpcMessage,
2891 DWORD* pdwStubPhase);
2892 HRESULT CALLBACK IErrorInfo_GetHelpFile_Proxy(
2894 BSTR* pBstrHelpFile);
2895 void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
2896 struct IRpcStubBuffer* This,
2897 struct IRpcChannelBuffer* pRpcChannelBuffer,
2898 PRPC_MESSAGE pRpcMessage,
2899 DWORD* pdwStubPhase);
2900 HRESULT CALLBACK IErrorInfo_GetHelpContext_Proxy(
2902 DWORD* pdwHelpContext);
2903 void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
2904 struct IRpcStubBuffer* This,
2905 struct IRpcChannelBuffer* pRpcChannelBuffer,
2906 PRPC_MESSAGE pRpcMessage,
2907 DWORD* pdwStubPhase);
2909 typedef struct ICreateErrorInfo ICreateErrorInfo;
2910 typedef ICreateErrorInfo *LPCREATEERRORINFO;
2912 /*****************************************************************************
2913 * ICreateErrorInfo interface
2915 DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2916 #if defined(__cplusplus) && !defined(CINTERFACE)
2917 struct ICreateErrorInfo: IUnknown {
2919 virtual HRESULT CALLBACK SetGUID(
2922 virtual HRESULT CALLBACK SetSource(
2923 LPOLESTR szSource) = 0;
2925 virtual HRESULT CALLBACK SetDescription(
2926 LPOLESTR szDescription) = 0;
2928 virtual HRESULT CALLBACK SetHelpFile(
2929 LPOLESTR szHelpFile) = 0;
2931 virtual HRESULT CALLBACK SetHelpContext(
2932 DWORD dwHelpContext) = 0;
2934 } ICOM_COM_INTERFACE_ATTRIBUTE;
2936 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl;
2937 struct ICreateErrorInfo {
2938 const ICreateErrorInfoVtbl* lpVtbl;
2940 struct ICreateErrorInfoVtbl {
2941 ICOM_MSVTABLE_COMPAT_FIELDS
2943 /*** IUnknown methods ***/
2944 HRESULT (CALLBACK *QueryInterface)(
2945 ICreateErrorInfo* This,
2949 ULONG (CALLBACK *AddRef)(
2950 ICreateErrorInfo* This);
2952 ULONG (CALLBACK *Release)(
2953 ICreateErrorInfo* This);
2955 /*** ICreateErrorInfo methods ***/
2956 HRESULT (CALLBACK *SetGUID)(
2957 ICreateErrorInfo* This,
2960 HRESULT (CALLBACK *SetSource)(
2961 ICreateErrorInfo* This,
2964 HRESULT (CALLBACK *SetDescription)(
2965 ICreateErrorInfo* This,
2966 LPOLESTR szDescription);
2968 HRESULT (CALLBACK *SetHelpFile)(
2969 ICreateErrorInfo* This,
2970 LPOLESTR szHelpFile);
2972 HRESULT (CALLBACK *SetHelpContext)(
2973 ICreateErrorInfo* This,
2974 DWORD dwHelpContext);
2978 #define ICreateErrorInfo_IMETHODS \
2980 ICOM_METHOD1 (HRESULT,SetGUID,REFGUID,rguid) \
2981 ICOM_METHOD1 (HRESULT,SetSource,LPOLESTR,szSource) \
2982 ICOM_METHOD1 (HRESULT,SetDescription,LPOLESTR,szDescription) \
2983 ICOM_METHOD1 (HRESULT,SetHelpFile,LPOLESTR,szHelpFile) \
2984 ICOM_METHOD1 (HRESULT,SetHelpContext,DWORD,dwHelpContext)
2986 /*** IUnknown methods ***/
2987 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2988 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
2989 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
2990 /*** ICreateErrorInfo methods ***/
2991 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
2992 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
2993 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2994 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
2995 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
2999 HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy(
3000 ICreateErrorInfo* This,
3002 void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
3003 struct IRpcStubBuffer* This,
3004 struct IRpcChannelBuffer* pRpcChannelBuffer,
3005 PRPC_MESSAGE pRpcMessage,
3006 DWORD* pdwStubPhase);
3007 HRESULT CALLBACK ICreateErrorInfo_SetSource_Proxy(
3008 ICreateErrorInfo* This,
3010 void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
3011 struct IRpcStubBuffer* This,
3012 struct IRpcChannelBuffer* pRpcChannelBuffer,
3013 PRPC_MESSAGE pRpcMessage,
3014 DWORD* pdwStubPhase);
3015 HRESULT CALLBACK ICreateErrorInfo_SetDescription_Proxy(
3016 ICreateErrorInfo* This,
3017 LPOLESTR szDescription);
3018 void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
3019 struct IRpcStubBuffer* This,
3020 struct IRpcChannelBuffer* pRpcChannelBuffer,
3021 PRPC_MESSAGE pRpcMessage,
3022 DWORD* pdwStubPhase);
3023 HRESULT CALLBACK ICreateErrorInfo_SetHelpFile_Proxy(
3024 ICreateErrorInfo* This,
3025 LPOLESTR szHelpFile);
3026 void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
3027 struct IRpcStubBuffer* This,
3028 struct IRpcChannelBuffer* pRpcChannelBuffer,
3029 PRPC_MESSAGE pRpcMessage,
3030 DWORD* pdwStubPhase);
3031 HRESULT CALLBACK ICreateErrorInfo_SetHelpContext_Proxy(
3032 ICreateErrorInfo* This,
3033 DWORD dwHelpContext);
3034 void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
3035 struct IRpcStubBuffer* This,
3036 struct IRpcChannelBuffer* pRpcChannelBuffer,
3037 PRPC_MESSAGE pRpcMessage,
3038 DWORD* pdwStubPhase);
3040 typedef struct ISupportErrorInfo ISupportErrorInfo;
3041 typedef ISupportErrorInfo *LPSUPPORTERRORINFO;
3043 /*****************************************************************************
3044 * ISupportErrorInfo interface
3046 DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3047 #if defined(__cplusplus) && !defined(CINTERFACE)
3048 struct ISupportErrorInfo: IUnknown {
3050 virtual HRESULT CALLBACK InterfaceSupportsErrorInfo(
3053 } ICOM_COM_INTERFACE_ATTRIBUTE;
3055 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl;
3056 struct ISupportErrorInfo {
3057 const ISupportErrorInfoVtbl* lpVtbl;
3059 struct ISupportErrorInfoVtbl {
3060 ICOM_MSVTABLE_COMPAT_FIELDS
3062 /*** IUnknown methods ***/
3063 HRESULT (CALLBACK *QueryInterface)(
3064 ISupportErrorInfo* This,
3068 ULONG (CALLBACK *AddRef)(
3069 ISupportErrorInfo* This);
3071 ULONG (CALLBACK *Release)(
3072 ISupportErrorInfo* This);
3074 /*** ISupportErrorInfo methods ***/
3075 HRESULT (CALLBACK *InterfaceSupportsErrorInfo)(
3076 ISupportErrorInfo* This,
3081 #define ISupportErrorInfo_IMETHODS \
3083 ICOM_METHOD1 (HRESULT,InterfaceSupportsErrorInfo,REFIID,riid)
3085 /*** IUnknown methods ***/
3086 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3087 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3088 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3089 /*** ISupportErrorInfo methods ***/
3090 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3094 HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3095 ISupportErrorInfo* This,
3097 void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3098 struct IRpcStubBuffer* This,
3099 struct IRpcChannelBuffer* pRpcChannelBuffer,
3100 PRPC_MESSAGE pRpcMessage,
3101 DWORD* pdwStubPhase);
3103 typedef struct ITypeFactory ITypeFactory;
3104 /*****************************************************************************
3105 * ITypeFactory interface
3107 DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3108 #if defined(__cplusplus) && !defined(CINTERFACE)
3109 struct ITypeFactory: IUnknown {
3111 virtual HRESULT CALLBACK CreateFromTypeInfo(
3112 ITypeInfo* pTypeInfo,
3114 IUnknown** ppv) = 0;
3116 } ICOM_COM_INTERFACE_ATTRIBUTE;
3118 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl;
3119 struct ITypeFactory {
3120 const ITypeFactoryVtbl* lpVtbl;
3122 struct ITypeFactoryVtbl {
3123 ICOM_MSVTABLE_COMPAT_FIELDS
3125 /*** IUnknown methods ***/
3126 HRESULT (CALLBACK *QueryInterface)(
3131 ULONG (CALLBACK *AddRef)(
3132 ITypeFactory* This);
3134 ULONG (CALLBACK *Release)(
3135 ITypeFactory* This);
3137 /*** ITypeFactory methods ***/
3138 HRESULT (CALLBACK *CreateFromTypeInfo)(
3140 ITypeInfo* pTypeInfo,
3146 #define ITypeFactory_IMETHODS \
3148 ICOM_METHOD3 (HRESULT,CreateFromTypeInfo,ITypeInfo*,pTypeInfo,REFIID,riid,IUnknown**,ppv)
3150 /*** IUnknown methods ***/
3151 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3152 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3153 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3154 /*** ITypeFactory methods ***/
3155 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3159 HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy(
3161 ITypeInfo* pTypeInfo,
3164 void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
3165 struct IRpcStubBuffer* This,
3166 struct IRpcChannelBuffer* pRpcChannelBuffer,
3167 PRPC_MESSAGE pRpcMessage,
3168 DWORD* pdwStubPhase);
3170 typedef struct ITypeMarshal ITypeMarshal;
3171 /*****************************************************************************
3172 * ITypeMarshal interface
3174 DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3175 #if defined(__cplusplus) && !defined(CINTERFACE)
3176 struct ITypeMarshal: IUnknown {
3178 virtual HRESULT CALLBACK Size(
3180 DWORD dwDestContext,
3181 PVOID pvDestContext,
3184 virtual HRESULT CALLBACK Marshal(
3186 DWORD dwDestContext,
3187 PVOID pvDestContext,
3188 ULONG cbBufferLength,
3190 ULONG* pcbWritten) = 0;
3192 virtual HRESULT CALLBACK Unmarshal(
3195 ULONG cbBufferLength,
3197 ULONG* pcbRead) = 0;
3199 virtual HRESULT CALLBACK Free(
3202 } ICOM_COM_INTERFACE_ATTRIBUTE;
3204 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl;
3205 struct ITypeMarshal {
3206 const ITypeMarshalVtbl* lpVtbl;
3208 struct ITypeMarshalVtbl {
3209 ICOM_MSVTABLE_COMPAT_FIELDS
3211 /*** IUnknown methods ***/
3212 HRESULT (CALLBACK *QueryInterface)(
3217 ULONG (CALLBACK *AddRef)(
3218 ITypeMarshal* This);
3220 ULONG (CALLBACK *Release)(
3221 ITypeMarshal* This);
3223 /*** ITypeMarshal methods ***/
3224 HRESULT (CALLBACK *Size)(
3227 DWORD dwDestContext,
3228 PVOID pvDestContext,
3231 HRESULT (CALLBACK *Marshal)(
3234 DWORD dwDestContext,
3235 PVOID pvDestContext,
3236 ULONG cbBufferLength,
3240 HRESULT (CALLBACK *Unmarshal)(
3244 ULONG cbBufferLength,
3248 HRESULT (CALLBACK *Free)(
3254 #define ITypeMarshal_IMETHODS \
3256 ICOM_METHOD4 (HRESULT,Size,PVOID,pvType,DWORD,dwDestContext,PVOID,pvDestContext,ULONG*,pSize) \
3257 ICOM_METHOD6 (HRESULT,Marshal,PVOID,pvType,DWORD,dwDestContext,PVOID,pvDestContext,ULONG,cbBufferLength,BYTE*,pBuffer,ULONG*,pcbWritten) \
3258 ICOM_METHOD5 (HRESULT,Unmarshal,PVOID,pvType,DWORD,dwFlags,ULONG,cbBufferLength,BYTE*,pBuffer,ULONG*,pcbRead) \
3259 ICOM_METHOD1 (HRESULT,Free,PVOID,pvType)
3261 /*** IUnknown methods ***/
3262 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3263 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3264 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3265 /*** ITypeMarshal methods ***/
3266 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3267 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3268 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3269 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3273 HRESULT CALLBACK ITypeMarshal_Size_Proxy(
3276 DWORD dwDestContext,
3277 PVOID pvDestContext,
3279 void __RPC_STUB ITypeMarshal_Size_Stub(
3280 struct IRpcStubBuffer* This,
3281 struct IRpcChannelBuffer* pRpcChannelBuffer,
3282 PRPC_MESSAGE pRpcMessage,
3283 DWORD* pdwStubPhase);
3284 HRESULT CALLBACK ITypeMarshal_Marshal_Proxy(
3287 DWORD dwDestContext,
3288 PVOID pvDestContext,
3289 ULONG cbBufferLength,
3292 void __RPC_STUB ITypeMarshal_Marshal_Stub(
3293 struct IRpcStubBuffer* This,
3294 struct IRpcChannelBuffer* pRpcChannelBuffer,
3295 PRPC_MESSAGE pRpcMessage,
3296 DWORD* pdwStubPhase);
3297 HRESULT CALLBACK ITypeMarshal_Unmarshal_Proxy(
3301 ULONG cbBufferLength,
3304 void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
3305 struct IRpcStubBuffer* This,
3306 struct IRpcChannelBuffer* pRpcChannelBuffer,
3307 PRPC_MESSAGE pRpcMessage,
3308 DWORD* pdwStubPhase);
3309 HRESULT CALLBACK ITypeMarshal_Free_Proxy(
3312 void __RPC_STUB ITypeMarshal_Free_Stub(
3313 struct IRpcStubBuffer* This,
3314 struct IRpcChannelBuffer* pRpcChannelBuffer,
3315 PRPC_MESSAGE pRpcMessage,
3316 DWORD* pdwStubPhase);
3318 typedef IRecordInfo *LPRECORDINFO;
3320 /*****************************************************************************
3321 * IRecordInfo interface
3323 DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3324 #if defined(__cplusplus) && !defined(CINTERFACE)
3325 struct IRecordInfo: IUnknown {
3327 virtual HRESULT CALLBACK RecordInit(
3330 virtual HRESULT CALLBACK RecordClear(
3331 PVOID pvExisting) = 0;
3333 virtual HRESULT CALLBACK RecordCopy(
3337 virtual HRESULT CALLBACK GetGuid(
3340 virtual HRESULT CALLBACK GetName(
3341 BSTR* pbstrName) = 0;
3343 virtual HRESULT CALLBACK GetSize(
3344 ULONG* pcbSize) = 0;
3346 virtual HRESULT CALLBACK GetTypeInfo(
3347 ITypeInfo** ppTypeInfo) = 0;
3349 virtual HRESULT CALLBACK GetField(
3351 LPCOLESTR szFieldName,
3352 VARIANT* pvarField) = 0;
3354 virtual HRESULT CALLBACK GetFieldNoCopy(
3356 LPCOLESTR szFieldName,
3358 PVOID* ppvDataCArray) = 0;
3360 virtual HRESULT CALLBACK PutField(
3363 LPCOLESTR szFieldName,
3364 VARIANT* pvarField) = 0;
3366 virtual HRESULT CALLBACK PutFieldNoCopy(
3369 LPCOLESTR szFieldName,
3370 VARIANT* pvarField) = 0;
3372 virtual HRESULT CALLBACK GetFieldNames(
3374 BSTR* rgBstrNames) = 0;
3376 virtual BOOL CALLBACK IsMatchingType(
3377 IRecordInfo* pRecordInfo) = 0;
3379 virtual PVOID CALLBACK RecordCreate(
3382 virtual HRESULT CALLBACK RecordCreateCopy(
3384 PVOID* ppvDest) = 0;
3386 virtual HRESULT CALLBACK RecordDestroy(
3387 PVOID pvRecord) = 0;
3389 } ICOM_COM_INTERFACE_ATTRIBUTE;
3391 typedef struct IRecordInfoVtbl IRecordInfoVtbl;
3392 struct IRecordInfo {
3393 const IRecordInfoVtbl* lpVtbl;
3395 struct IRecordInfoVtbl {
3396 ICOM_MSVTABLE_COMPAT_FIELDS
3398 /*** IUnknown methods ***/
3399 HRESULT (CALLBACK *QueryInterface)(
3404 ULONG (CALLBACK *AddRef)(
3407 ULONG (CALLBACK *Release)(
3410 /*** IRecordInfo methods ***/
3411 HRESULT (CALLBACK *RecordInit)(
3415 HRESULT (CALLBACK *RecordClear)(
3419 HRESULT (CALLBACK *RecordCopy)(
3424 HRESULT (CALLBACK *GetGuid)(
3428 HRESULT (CALLBACK *GetName)(
3432 HRESULT (CALLBACK *GetSize)(
3436 HRESULT (CALLBACK *GetTypeInfo)(
3438 ITypeInfo** ppTypeInfo);
3440 HRESULT (CALLBACK *GetField)(
3443 LPCOLESTR szFieldName,
3444 VARIANT* pvarField);
3446 HRESULT (CALLBACK *GetFieldNoCopy)(
3449 LPCOLESTR szFieldName,
3451 PVOID* ppvDataCArray);
3453 HRESULT (CALLBACK *PutField)(
3457 LPCOLESTR szFieldName,
3458 VARIANT* pvarField);
3460 HRESULT (CALLBACK *PutFieldNoCopy)(
3464 LPCOLESTR szFieldName,
3465 VARIANT* pvarField);
3467 HRESULT (CALLBACK *GetFieldNames)(
3472 BOOL (CALLBACK *IsMatchingType)(
3474 IRecordInfo* pRecordInfo);
3476 PVOID (CALLBACK *RecordCreate)(
3479 HRESULT (CALLBACK *RecordCreateCopy)(
3484 HRESULT (CALLBACK *RecordDestroy)(
3490 #define IRecordInfo_IMETHODS \
3492 ICOM_METHOD1 (HRESULT,RecordInit,PVOID,pvNew) \
3493 ICOM_METHOD1 (HRESULT,RecordClear,PVOID,pvExisting) \
3494 ICOM_METHOD2 (HRESULT,RecordCopy,PVOID,pvExisting,PVOID,pvNew) \
3495 ICOM_METHOD1 (HRESULT,GetGuid,GUID*,pguid) \
3496 ICOM_METHOD1 (HRESULT,GetName,BSTR*,pbstrName) \
3497 ICOM_METHOD1 (HRESULT,GetSize,ULONG*,pcbSize) \
3498 ICOM_METHOD1 (HRESULT,GetTypeInfo,ITypeInfo**,ppTypeInfo) \
3499 ICOM_METHOD3 (HRESULT,GetField,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \
3500 ICOM_METHOD4 (HRESULT,GetFieldNoCopy,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField,PVOID*,ppvDataCArray) \
3501 ICOM_METHOD4 (HRESULT,PutField,ULONG,wFlags,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \
3502 ICOM_METHOD4 (HRESULT,PutFieldNoCopy,ULONG,wFlags,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \
3503 ICOM_METHOD2 (HRESULT,GetFieldNames,ULONG*,pcNames,BSTR*,rgBstrNames) \
3504 ICOM_METHOD1 (BOOL,IsMatchingType,IRecordInfo*,pRecordInfo) \
3505 ICOM_METHOD (PVOID,RecordCreate) \
3506 ICOM_METHOD2 (HRESULT,RecordCreateCopy,PVOID,pvSource,PVOID*,ppvDest) \
3507 ICOM_METHOD1 (HRESULT,RecordDestroy,PVOID,pvRecord)
3509 /*** IUnknown methods ***/
3510 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3511 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3512 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3513 /*** IRecordInfo methods ***/
3514 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3515 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3516 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3517 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3518 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3519 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3520 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3521 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3522 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3523 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3524 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3525 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3526 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3527 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3528 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3529 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3533 HRESULT CALLBACK IRecordInfo_RecordInit_Proxy(
3536 void __RPC_STUB IRecordInfo_RecordInit_Stub(
3537 struct IRpcStubBuffer* This,
3538 struct IRpcChannelBuffer* pRpcChannelBuffer,
3539 PRPC_MESSAGE pRpcMessage,
3540 DWORD* pdwStubPhase);
3541 HRESULT CALLBACK IRecordInfo_RecordClear_Proxy(
3544 void __RPC_STUB IRecordInfo_RecordClear_Stub(
3545 struct IRpcStubBuffer* This,
3546 struct IRpcChannelBuffer* pRpcChannelBuffer,
3547 PRPC_MESSAGE pRpcMessage,
3548 DWORD* pdwStubPhase);
3549 HRESULT CALLBACK IRecordInfo_RecordCopy_Proxy(
3553 void __RPC_STUB IRecordInfo_RecordCopy_Stub(
3554 struct IRpcStubBuffer* This,
3555 struct IRpcChannelBuffer* pRpcChannelBuffer,
3556 PRPC_MESSAGE pRpcMessage,
3557 DWORD* pdwStubPhase);
3558 HRESULT CALLBACK IRecordInfo_GetGuid_Proxy(
3561 void __RPC_STUB IRecordInfo_GetGuid_Stub(
3562 struct IRpcStubBuffer* This,
3563 struct IRpcChannelBuffer* pRpcChannelBuffer,
3564 PRPC_MESSAGE pRpcMessage,
3565 DWORD* pdwStubPhase);
3566 HRESULT CALLBACK IRecordInfo_GetName_Proxy(
3569 void __RPC_STUB IRecordInfo_GetName_Stub(
3570 struct IRpcStubBuffer* This,
3571 struct IRpcChannelBuffer* pRpcChannelBuffer,
3572 PRPC_MESSAGE pRpcMessage,
3573 DWORD* pdwStubPhase);
3574 HRESULT CALLBACK IRecordInfo_GetSize_Proxy(
3577 void __RPC_STUB IRecordInfo_GetSize_Stub(
3578 struct IRpcStubBuffer* This,
3579 struct IRpcChannelBuffer* pRpcChannelBuffer,
3580 PRPC_MESSAGE pRpcMessage,
3581 DWORD* pdwStubPhase);
3582 HRESULT CALLBACK IRecordInfo_GetTypeInfo_Proxy(
3584 ITypeInfo** ppTypeInfo);
3585 void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
3586 struct IRpcStubBuffer* This,
3587 struct IRpcChannelBuffer* pRpcChannelBuffer,
3588 PRPC_MESSAGE pRpcMessage,
3589 DWORD* pdwStubPhase);
3590 HRESULT CALLBACK IRecordInfo_GetField_Proxy(
3593 LPCOLESTR szFieldName,
3594 VARIANT* pvarField);
3595 void __RPC_STUB IRecordInfo_GetField_Stub(
3596 struct IRpcStubBuffer* This,
3597 struct IRpcChannelBuffer* pRpcChannelBuffer,
3598 PRPC_MESSAGE pRpcMessage,
3599 DWORD* pdwStubPhase);
3600 HRESULT CALLBACK IRecordInfo_GetFieldNoCopy_Proxy(
3603 LPCOLESTR szFieldName,
3605 PVOID* ppvDataCArray);
3606 void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
3607 struct IRpcStubBuffer* This,
3608 struct IRpcChannelBuffer* pRpcChannelBuffer,
3609 PRPC_MESSAGE pRpcMessage,
3610 DWORD* pdwStubPhase);
3611 HRESULT CALLBACK IRecordInfo_PutField_Proxy(
3615 LPCOLESTR szFieldName,
3616 VARIANT* pvarField);
3617 void __RPC_STUB IRecordInfo_PutField_Stub(
3618 struct IRpcStubBuffer* This,
3619 struct IRpcChannelBuffer* pRpcChannelBuffer,
3620 PRPC_MESSAGE pRpcMessage,
3621 DWORD* pdwStubPhase);
3622 HRESULT CALLBACK IRecordInfo_PutFieldNoCopy_Proxy(
3626 LPCOLESTR szFieldName,
3627 VARIANT* pvarField);
3628 void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
3629 struct IRpcStubBuffer* This,
3630 struct IRpcChannelBuffer* pRpcChannelBuffer,
3631 PRPC_MESSAGE pRpcMessage,
3632 DWORD* pdwStubPhase);
3633 HRESULT CALLBACK IRecordInfo_GetFieldNames_Proxy(
3637 void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
3638 struct IRpcStubBuffer* This,
3639 struct IRpcChannelBuffer* pRpcChannelBuffer,
3640 PRPC_MESSAGE pRpcMessage,
3641 DWORD* pdwStubPhase);
3642 BOOL CALLBACK IRecordInfo_IsMatchingType_Proxy(
3644 IRecordInfo* pRecordInfo);
3645 void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
3646 struct IRpcStubBuffer* This,
3647 struct IRpcChannelBuffer* pRpcChannelBuffer,
3648 PRPC_MESSAGE pRpcMessage,
3649 DWORD* pdwStubPhase);
3650 PVOID CALLBACK IRecordInfo_RecordCreate_Proxy(
3652 void __RPC_STUB IRecordInfo_RecordCreate_Stub(
3653 struct IRpcStubBuffer* This,
3654 struct IRpcChannelBuffer* pRpcChannelBuffer,
3655 PRPC_MESSAGE pRpcMessage,
3656 DWORD* pdwStubPhase);
3657 HRESULT CALLBACK IRecordInfo_RecordCreateCopy_Proxy(
3661 void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
3662 struct IRpcStubBuffer* This,
3663 struct IRpcChannelBuffer* pRpcChannelBuffer,
3664 PRPC_MESSAGE pRpcMessage,
3665 DWORD* pdwStubPhase);
3666 HRESULT CALLBACK IRecordInfo_RecordDestroy_Proxy(
3669 void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
3670 struct IRpcStubBuffer* This,
3671 struct IRpcChannelBuffer* pRpcChannelBuffer,
3672 PRPC_MESSAGE pRpcMessage,
3673 DWORD* pdwStubPhase);
3675 typedef struct ICreateTypeInfo ICreateTypeInfo;
3676 typedef ICreateTypeInfo *LPCREATETYPEINFO;
3678 /*****************************************************************************
3679 * ICreateTypeInfo interface
3681 DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3682 #if defined(__cplusplus) && !defined(CINTERFACE)
3683 struct ICreateTypeInfo: IUnknown {
3685 virtual HRESULT CALLBACK SetGuid(
3688 virtual HRESULT CALLBACK SetTypeFlags(
3689 UINT uTypeFlags) = 0;
3691 virtual HRESULT CALLBACK SetDocString(
3692 LPOLESTR pStrDoc) = 0;
3694 virtual HRESULT CALLBACK SetHelpContext(
3695 DWORD dwHelpContext) = 0;
3697 virtual HRESULT CALLBACK SetVersion(
3699 WORD wMinorVerNum) = 0;
3701 virtual HRESULT CALLBACK AddRefTypeInfo(
3703 HREFTYPE* phRefType) = 0;
3705 virtual HRESULT CALLBACK AddFuncDesc(
3707 FUNCDESC* pFuncDesc) = 0;
3709 virtual HRESULT CALLBACK AddImplType(
3711 HREFTYPE hRefType) = 0;
3713 virtual HRESULT CALLBACK SetImplTypeFlags(
3715 INT implTypeFlags) = 0;
3717 virtual HRESULT CALLBACK SetAlignment(
3718 WORD cbAlignment) = 0;
3720 virtual HRESULT CALLBACK SetSchema(
3721 LPOLESTR pStrSchema) = 0;
3723 virtual HRESULT CALLBACK AddVarDesc(
3725 VARDESC* pVarDesc) = 0;
3727 virtual HRESULT CALLBACK SetFuncAndParamNames(
3729 LPOLESTR* rgszNames,
3732 virtual HRESULT CALLBACK SetVarName(
3734 LPOLESTR szName) = 0;
3736 virtual HRESULT CALLBACK SetTypeDescAlias(
3737 TYPEDESC* pTDescAlias) = 0;
3739 virtual HRESULT CALLBACK DefineFuncAsDllEntry(
3742 LPOLESTR szProcName) = 0;
3744 virtual HRESULT CALLBACK SetFuncDocString(
3746 LPOLESTR szDocString) = 0;
3748 virtual HRESULT CALLBACK SetVarDocString(
3750 LPOLESTR szDocString) = 0;
3752 virtual HRESULT CALLBACK SetFuncHelpContext(
3754 DWORD dwHelpContext) = 0;
3756 virtual HRESULT CALLBACK SetVarHelpContext(
3758 DWORD dwHelpContext) = 0;
3760 virtual HRESULT CALLBACK SetMops(
3764 virtual HRESULT CALLBACK SetTypeIdldesc(
3765 IDLDESC* pIdlDesc) = 0;
3767 virtual HRESULT CALLBACK LayOut(
3770 } ICOM_COM_INTERFACE_ATTRIBUTE;
3772 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl;
3773 struct ICreateTypeInfo {
3774 const ICreateTypeInfoVtbl* lpVtbl;
3776 struct ICreateTypeInfoVtbl {
3777 ICOM_MSVTABLE_COMPAT_FIELDS
3779 /*** IUnknown methods ***/
3780 HRESULT (CALLBACK *QueryInterface)(
3781 ICreateTypeInfo* This,
3785 ULONG (CALLBACK *AddRef)(
3786 ICreateTypeInfo* This);
3788 ULONG (CALLBACK *Release)(
3789 ICreateTypeInfo* This);
3791 /*** ICreateTypeInfo methods ***/
3792 HRESULT (CALLBACK *SetGuid)(
3793 ICreateTypeInfo* This,
3796 HRESULT (CALLBACK *SetTypeFlags)(
3797 ICreateTypeInfo* This,
3800 HRESULT (CALLBACK *SetDocString)(
3801 ICreateTypeInfo* This,
3804 HRESULT (CALLBACK *SetHelpContext)(
3805 ICreateTypeInfo* This,
3806 DWORD dwHelpContext);
3808 HRESULT (CALLBACK *SetVersion)(
3809 ICreateTypeInfo* This,
3813 HRESULT (CALLBACK *AddRefTypeInfo)(
3814 ICreateTypeInfo* This,
3816 HREFTYPE* phRefType);
3818 HRESULT (CALLBACK *AddFuncDesc)(
3819 ICreateTypeInfo* This,
3821 FUNCDESC* pFuncDesc);
3823 HRESULT (CALLBACK *AddImplType)(
3824 ICreateTypeInfo* This,
3828 HRESULT (CALLBACK *SetImplTypeFlags)(
3829 ICreateTypeInfo* This,
3833 HRESULT (CALLBACK *SetAlignment)(
3834 ICreateTypeInfo* This,
3837 HRESULT (CALLBACK *SetSchema)(
3838 ICreateTypeInfo* This,
3839 LPOLESTR pStrSchema);
3841 HRESULT (CALLBACK *AddVarDesc)(
3842 ICreateTypeInfo* This,
3846 HRESULT (CALLBACK *SetFuncAndParamNames)(
3847 ICreateTypeInfo* This,
3849 LPOLESTR* rgszNames,
3852 HRESULT (CALLBACK *SetVarName)(
3853 ICreateTypeInfo* This,
3857 HRESULT (CALLBACK *SetTypeDescAlias)(
3858 ICreateTypeInfo* This,
3859 TYPEDESC* pTDescAlias);
3861 HRESULT (CALLBACK *DefineFuncAsDllEntry)(
3862 ICreateTypeInfo* This,
3865 LPOLESTR szProcName);
3867 HRESULT (CALLBACK *SetFuncDocString)(
3868 ICreateTypeInfo* This,
3870 LPOLESTR szDocString);
3872 HRESULT (CALLBACK *SetVarDocString)(
3873 ICreateTypeInfo* This,
3875 LPOLESTR szDocString);
3877 HRESULT (CALLBACK *SetFuncHelpContext)(
3878 ICreateTypeInfo* This,
3880 DWORD dwHelpContext);
3882 HRESULT (CALLBACK *SetVarHelpContext)(
3883 ICreateTypeInfo* This,
3885 DWORD dwHelpContext);
3887 HRESULT (CALLBACK *SetMops)(
3888 ICreateTypeInfo* This,
3892 HRESULT (CALLBACK *SetTypeIdldesc)(
3893 ICreateTypeInfo* This,
3896 HRESULT (CALLBACK *LayOut)(
3897 ICreateTypeInfo* This);
3901 #define ICreateTypeInfo_IMETHODS \
3903 ICOM_METHOD1 (HRESULT,SetGuid,REFGUID,guid) \
3904 ICOM_METHOD1 (HRESULT,SetTypeFlags,UINT,uTypeFlags) \
3905 ICOM_METHOD1 (HRESULT,SetDocString,LPOLESTR,pStrDoc) \
3906 ICOM_METHOD1 (HRESULT,SetHelpContext,DWORD,dwHelpContext) \
3907 ICOM_METHOD2 (HRESULT,SetVersion,WORD,wMajorVerNum,WORD,wMinorVerNum) \
3908 ICOM_METHOD2 (HRESULT,AddRefTypeInfo,ITypeInfo*,pTInfo,HREFTYPE*,phRefType) \
3909 ICOM_METHOD2 (HRESULT,AddFuncDesc,UINT,index,FUNCDESC*,pFuncDesc) \
3910 ICOM_METHOD2 (HRESULT,AddImplType,UINT,index,HREFTYPE,hRefType) \
3911 ICOM_METHOD2 (HRESULT,SetImplTypeFlags,UINT,index,INT,implTypeFlags) \
3912 ICOM_METHOD1 (HRESULT,SetAlignment,WORD,cbAlignment) \
3913 ICOM_METHOD1 (HRESULT,SetSchema,LPOLESTR,pStrSchema) \
3914 ICOM_METHOD2 (HRESULT,AddVarDesc,UINT,index,VARDESC*,pVarDesc) \
3915 ICOM_METHOD3 (HRESULT,SetFuncAndParamNames,UINT,index,LPOLESTR*,rgszNames,UINT,cNames) \
3916 ICOM_METHOD2 (HRESULT,SetVarName,UINT,index,LPOLESTR,szName) \
3917 ICOM_METHOD1 (HRESULT,SetTypeDescAlias,TYPEDESC*,pTDescAlias) \
3918 ICOM_METHOD3 (HRESULT,DefineFuncAsDllEntry,UINT,index,LPOLESTR,szDllName,LPOLESTR,szProcName) \
3919 ICOM_METHOD2 (HRESULT,SetFuncDocString,UINT,index,LPOLESTR,szDocString) \
3920 ICOM_METHOD2 (HRESULT,SetVarDocString,UINT,index,LPOLESTR,szDocString) \
3921 ICOM_METHOD2 (HRESULT,SetFuncHelpContext,UINT,index,DWORD,dwHelpContext) \
3922 ICOM_METHOD2 (HRESULT,SetVarHelpContext,UINT,index,DWORD,dwHelpContext) \
3923 ICOM_METHOD2 (HRESULT,SetMops,UINT,index,BSTR,bstrMops) \
3924 ICOM_METHOD1 (HRESULT,SetTypeIdldesc,IDLDESC*,pIdlDesc) \
3925 ICOM_METHOD (HRESULT,LayOut)
3927 /*** IUnknown methods ***/
3928 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3929 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3930 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
3931 /*** ICreateTypeInfo methods ***/
3932 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
3933 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
3934 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
3935 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3936 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
3937 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
3938 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
3939 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
3940 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
3941 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
3942 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
3943 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
3944 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
3945 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
3946 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
3947 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
3948 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
3949 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
3950 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
3951 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
3952 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
3953 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
3954 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
3958 HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy(
3959 ICreateTypeInfo* This,
3961 void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
3962 struct IRpcStubBuffer* This,
3963 struct IRpcChannelBuffer* pRpcChannelBuffer,
3964 PRPC_MESSAGE pRpcMessage,
3965 DWORD* pdwStubPhase);
3966 HRESULT CALLBACK ICreateTypeInfo_SetTypeFlags_Proxy(
3967 ICreateTypeInfo* This,
3969 void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
3970 struct IRpcStubBuffer* This,
3971 struct IRpcChannelBuffer* pRpcChannelBuffer,
3972 PRPC_MESSAGE pRpcMessage,
3973 DWORD* pdwStubPhase);
3974 HRESULT CALLBACK ICreateTypeInfo_SetDocString_Proxy(
3975 ICreateTypeInfo* This,
3977 void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
3978 struct IRpcStubBuffer* This,
3979 struct IRpcChannelBuffer* pRpcChannelBuffer,
3980 PRPC_MESSAGE pRpcMessage,
3981 DWORD* pdwStubPhase);
3982 HRESULT CALLBACK ICreateTypeInfo_SetHelpContext_Proxy(
3983 ICreateTypeInfo* This,
3984 DWORD dwHelpContext);
3985 void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
3986 struct IRpcStubBuffer* This,
3987 struct IRpcChannelBuffer* pRpcChannelBuffer,
3988 PRPC_MESSAGE pRpcMessage,
3989 DWORD* pdwStubPhase);
3990 HRESULT CALLBACK ICreateTypeInfo_SetVersion_Proxy(
3991 ICreateTypeInfo* This,
3994 void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
3995 struct IRpcStubBuffer* This,
3996 struct IRpcChannelBuffer* pRpcChannelBuffer,
3997 PRPC_MESSAGE pRpcMessage,
3998 DWORD* pdwStubPhase);
3999 HRESULT CALLBACK ICreateTypeInfo_AddRefTypeInfo_Proxy(
4000 ICreateTypeInfo* This,
4002 HREFTYPE* phRefType);
4003 void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
4004 struct IRpcStubBuffer* This,
4005 struct IRpcChannelBuffer* pRpcChannelBuffer,
4006 PRPC_MESSAGE pRpcMessage,
4007 DWORD* pdwStubPhase);
4008 HRESULT CALLBACK ICreateTypeInfo_AddFuncDesc_Proxy(
4009 ICreateTypeInfo* This,
4011 FUNCDESC* pFuncDesc);
4012 void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
4013 struct IRpcStubBuffer* This,
4014 struct IRpcChannelBuffer* pRpcChannelBuffer,
4015 PRPC_MESSAGE pRpcMessage,
4016 DWORD* pdwStubPhase);
4017 HRESULT CALLBACK ICreateTypeInfo_AddImplType_Proxy(
4018 ICreateTypeInfo* This,
4021 void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
4022 struct IRpcStubBuffer* This,
4023 struct IRpcChannelBuffer* pRpcChannelBuffer,
4024 PRPC_MESSAGE pRpcMessage,
4025 DWORD* pdwStubPhase);
4026 HRESULT CALLBACK ICreateTypeInfo_SetImplTypeFlags_Proxy(
4027 ICreateTypeInfo* This,
4030 void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
4031 struct IRpcStubBuffer* This,
4032 struct IRpcChannelBuffer* pRpcChannelBuffer,
4033 PRPC_MESSAGE pRpcMessage,
4034 DWORD* pdwStubPhase);
4035 HRESULT CALLBACK ICreateTypeInfo_SetAlignment_Proxy(
4036 ICreateTypeInfo* This,
4038 void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
4039 struct IRpcStubBuffer* This,
4040 struct IRpcChannelBuffer* pRpcChannelBuffer,
4041 PRPC_MESSAGE pRpcMessage,
4042 DWORD* pdwStubPhase);
4043 HRESULT CALLBACK ICreateTypeInfo_SetSchema_Proxy(
4044 ICreateTypeInfo* This,
4045 LPOLESTR pStrSchema);
4046 void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
4047 struct IRpcStubBuffer* This,
4048 struct IRpcChannelBuffer* pRpcChannelBuffer,
4049 PRPC_MESSAGE pRpcMessage,
4050 DWORD* pdwStubPhase);
4051 HRESULT CALLBACK ICreateTypeInfo_AddVarDesc_Proxy(
4052 ICreateTypeInfo* This,
4055 void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
4056 struct IRpcStubBuffer* This,
4057 struct IRpcChannelBuffer* pRpcChannelBuffer,
4058 PRPC_MESSAGE pRpcMessage,
4059 DWORD* pdwStubPhase);
4060 HRESULT CALLBACK ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4061 ICreateTypeInfo* This,
4063 LPOLESTR* rgszNames,
4065 void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
4066 struct IRpcStubBuffer* This,
4067 struct IRpcChannelBuffer* pRpcChannelBuffer,
4068 PRPC_MESSAGE pRpcMessage,
4069 DWORD* pdwStubPhase);
4070 HRESULT CALLBACK ICreateTypeInfo_SetVarName_Proxy(
4071 ICreateTypeInfo* This,
4074 void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
4075 struct IRpcStubBuffer* This,
4076 struct IRpcChannelBuffer* pRpcChannelBuffer,
4077 PRPC_MESSAGE pRpcMessage,
4078 DWORD* pdwStubPhase);
4079 HRESULT CALLBACK ICreateTypeInfo_SetTypeDescAlias_Proxy(
4080 ICreateTypeInfo* This,
4081 TYPEDESC* pTDescAlias);
4082 void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
4083 struct IRpcStubBuffer* This,
4084 struct IRpcChannelBuffer* pRpcChannelBuffer,
4085 PRPC_MESSAGE pRpcMessage,
4086 DWORD* pdwStubPhase);
4087 HRESULT CALLBACK ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4088 ICreateTypeInfo* This,
4091 LPOLESTR szProcName);
4092 void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4093 struct IRpcStubBuffer* This,
4094 struct IRpcChannelBuffer* pRpcChannelBuffer,
4095 PRPC_MESSAGE pRpcMessage,
4096 DWORD* pdwStubPhase);
4097 HRESULT CALLBACK ICreateTypeInfo_SetFuncDocString_Proxy(
4098 ICreateTypeInfo* This,
4100 LPOLESTR szDocString);
4101 void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
4102 struct IRpcStubBuffer* This,
4103 struct IRpcChannelBuffer* pRpcChannelBuffer,
4104 PRPC_MESSAGE pRpcMessage,
4105 DWORD* pdwStubPhase);
4106 HRESULT CALLBACK ICreateTypeInfo_SetVarDocString_Proxy(
4107 ICreateTypeInfo* This,
4109 LPOLESTR szDocString);
4110 void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
4111 struct IRpcStubBuffer* This,
4112 struct IRpcChannelBuffer* pRpcChannelBuffer,
4113 PRPC_MESSAGE pRpcMessage,
4114 DWORD* pdwStubPhase);
4115 HRESULT CALLBACK ICreateTypeInfo_SetFuncHelpContext_Proxy(
4116 ICreateTypeInfo* This,
4118 DWORD dwHelpContext);
4119 void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
4120 struct IRpcStubBuffer* This,
4121 struct IRpcChannelBuffer* pRpcChannelBuffer,
4122 PRPC_MESSAGE pRpcMessage,
4123 DWORD* pdwStubPhase);
4124 HRESULT CALLBACK ICreateTypeInfo_SetVarHelpContext_Proxy(
4125 ICreateTypeInfo* This,
4127 DWORD dwHelpContext);
4128 void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
4129 struct IRpcStubBuffer* This,
4130 struct IRpcChannelBuffer* pRpcChannelBuffer,
4131 PRPC_MESSAGE pRpcMessage,
4132 DWORD* pdwStubPhase);
4133 HRESULT CALLBACK ICreateTypeInfo_SetMops_Proxy(
4134 ICreateTypeInfo* This,
4137 void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
4138 struct IRpcStubBuffer* This,
4139 struct IRpcChannelBuffer* pRpcChannelBuffer,
4140 PRPC_MESSAGE pRpcMessage,
4141 DWORD* pdwStubPhase);
4142 HRESULT CALLBACK ICreateTypeInfo_SetTypeIdldesc_Proxy(
4143 ICreateTypeInfo* This,
4145 void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
4146 struct IRpcStubBuffer* This,
4147 struct IRpcChannelBuffer* pRpcChannelBuffer,
4148 PRPC_MESSAGE pRpcMessage,
4149 DWORD* pdwStubPhase);
4150 HRESULT CALLBACK ICreateTypeInfo_LayOut_Proxy(
4151 ICreateTypeInfo* This);
4152 void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
4153 struct IRpcStubBuffer* This,
4154 struct IRpcChannelBuffer* pRpcChannelBuffer,
4155 PRPC_MESSAGE pRpcMessage,
4156 DWORD* pdwStubPhase);
4158 typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
4159 typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;
4161 /*****************************************************************************
4162 * ICreateTypeInfo2 interface
4164 DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4165 #if defined(__cplusplus) && !defined(CINTERFACE)
4166 struct ICreateTypeInfo2: ICreateTypeInfo {
4168 virtual HRESULT CALLBACK DeleteFuncDesc(
4171 virtual HRESULT CALLBACK DeleteFuncDescByMemId(
4173 INVOKEKIND invKind) = 0;
4175 virtual HRESULT CALLBACK DeleteVarDesc(
4178 virtual HRESULT CALLBACK DeleteVarDescByMemId(
4179 MEMBERID memid) = 0;
4181 virtual HRESULT CALLBACK DeleteImplType(
4184 virtual HRESULT CALLBACK SetCustData(
4186 VARIANT* pVarVal) = 0;
4188 virtual HRESULT CALLBACK SetFuncCustData(
4191 VARIANT* pVarVal) = 0;
4193 virtual HRESULT CALLBACK SetParamCustData(
4197 VARIANT* pVarVal) = 0;
4199 virtual HRESULT CALLBACK SetVarCustData(
4202 VARIANT* pVarVal) = 0;
4204 virtual HRESULT CALLBACK SetImplTypeCustData(
4207 VARIANT* pVarVal) = 0;
4209 virtual HRESULT CALLBACK SetHelpStringContext(
4210 ULONG dwHelpStringContext) = 0;
4212 virtual HRESULT CALLBACK SetFuncHelpStringContext(
4214 ULONG dwHelpStringContext) = 0;
4216 virtual HRESULT CALLBACK SetVarHelpStringContext(
4218 ULONG dwHelpStringContext) = 0;
4220 virtual HRESULT CALLBACK Invalidate(
4223 virtual HRESULT CALLBACK SetName(
4224 LPOLESTR szName) = 0;
4226 } ICOM_COM_INTERFACE_ATTRIBUTE;
4228 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl;
4229 struct ICreateTypeInfo2 {
4230 const ICreateTypeInfo2Vtbl* lpVtbl;
4232 struct ICreateTypeInfo2Vtbl {
4233 ICOM_MSVTABLE_COMPAT_FIELDS
4235 /*** IUnknown methods ***/
4236 HRESULT (CALLBACK *QueryInterface)(
4237 ICreateTypeInfo2* This,
4241 ULONG (CALLBACK *AddRef)(
4242 ICreateTypeInfo2* This);
4244 ULONG (CALLBACK *Release)(
4245 ICreateTypeInfo2* This);
4247 /*** ICreateTypeInfo methods ***/
4248 HRESULT (CALLBACK *SetGuid)(
4249 ICreateTypeInfo2* This,
4252 HRESULT (CALLBACK *SetTypeFlags)(
4253 ICreateTypeInfo2* This,
4256 HRESULT (CALLBACK *SetDocString)(
4257 ICreateTypeInfo2* This,
4260 HRESULT (CALLBACK *SetHelpContext)(
4261 ICreateTypeInfo2* This,
4262 DWORD dwHelpContext);
4264 HRESULT (CALLBACK *SetVersion)(
4265 ICreateTypeInfo2* This,
4269 HRESULT (CALLBACK *AddRefTypeInfo)(
4270 ICreateTypeInfo2* This,
4272 HREFTYPE* phRefType);
4274 HRESULT (CALLBACK *AddFuncDesc)(
4275 ICreateTypeInfo2* This,
4277 FUNCDESC* pFuncDesc);
4279 HRESULT (CALLBACK *AddImplType)(
4280 ICreateTypeInfo2* This,
4284 HRESULT (CALLBACK *SetImplTypeFlags)(
4285 ICreateTypeInfo2* This,
4289 HRESULT (CALLBACK *SetAlignment)(
4290 ICreateTypeInfo2* This,
4293 HRESULT (CALLBACK *SetSchema)(
4294 ICreateTypeInfo2* This,
4295 LPOLESTR pStrSchema);
4297 HRESULT (CALLBACK *AddVarDesc)(
4298 ICreateTypeInfo2* This,
4302 HRESULT (CALLBACK *SetFuncAndParamNames)(
4303 ICreateTypeInfo2* This,
4305 LPOLESTR* rgszNames,
4308 HRESULT (CALLBACK *SetVarName)(
4309 ICreateTypeInfo2* This,
4313 HRESULT (CALLBACK *SetTypeDescAlias)(
4314 ICreateTypeInfo2* This,
4315 TYPEDESC* pTDescAlias);
4317 HRESULT (CALLBACK *DefineFuncAsDllEntry)(
4318 ICreateTypeInfo2* This,
4321 LPOLESTR szProcName);
4323 HRESULT (CALLBACK *SetFuncDocString)(
4324 ICreateTypeInfo2* This,
4326 LPOLESTR szDocString);
4328 HRESULT (CALLBACK *SetVarDocString)(
4329 ICreateTypeInfo2* This,
4331 LPOLESTR szDocString);
4333 HRESULT (CALLBACK *SetFuncHelpContext)(
4334 ICreateTypeInfo2* This,
4336 DWORD dwHelpContext);
4338 HRESULT (CALLBACK *SetVarHelpContext)(
4339 ICreateTypeInfo2* This,
4341 DWORD dwHelpContext);
4343 HRESULT (CALLBACK *SetMops)(
4344 ICreateTypeInfo2* This,
4348 HRESULT (CALLBACK *SetTypeIdldesc)(
4349 ICreateTypeInfo2* This,
4352 HRESULT (CALLBACK *LayOut)(
4353 ICreateTypeInfo2* This);
4355 /*** ICreateTypeInfo2 methods ***/
4356 HRESULT (CALLBACK *DeleteFuncDesc)(
4357 ICreateTypeInfo2* This,
4360 HRESULT (CALLBACK *DeleteFuncDescByMemId)(
4361 ICreateTypeInfo2* This,
4363 INVOKEKIND invKind);
4365 HRESULT (CALLBACK *DeleteVarDesc)(
4366 ICreateTypeInfo2* This,
4369 HRESULT (CALLBACK *DeleteVarDescByMemId)(
4370 ICreateTypeInfo2* This,
4373 HRESULT (CALLBACK *DeleteImplType)(
4374 ICreateTypeInfo2* This,
4377 HRESULT (CALLBACK *SetCustData)(
4378 ICreateTypeInfo2* This,
4382 HRESULT (CALLBACK *SetFuncCustData)(
4383 ICreateTypeInfo2* This,
4388 HRESULT (CALLBACK *SetParamCustData)(
4389 ICreateTypeInfo2* This,
4395 HRESULT (CALLBACK *SetVarCustData)(
4396 ICreateTypeInfo2* This,
4401 HRESULT (CALLBACK *SetImplTypeCustData)(
4402 ICreateTypeInfo2* This,
4407 HRESULT (CALLBACK *SetHelpStringContext)(
4408 ICreateTypeInfo2* This,
4409 ULONG dwHelpStringContext);
4411 HRESULT (CALLBACK *SetFuncHelpStringContext)(
4412 ICreateTypeInfo2* This,
4414 ULONG dwHelpStringContext);
4416 HRESULT (CALLBACK *SetVarHelpStringContext)(
4417 ICreateTypeInfo2* This,
4419 ULONG dwHelpStringContext);
4421 HRESULT (CALLBACK *Invalidate)(
4422 ICreateTypeInfo2* This);
4424 HRESULT (CALLBACK *SetName)(
4425 ICreateTypeInfo2* This,
4430 #define ICreateTypeInfo2_IMETHODS \
4431 ICreateTypeInfo_IMETHODS \
4432 ICOM_METHOD1 (HRESULT,DeleteFuncDesc,UINT,index) \
4433 ICOM_METHOD2 (HRESULT,DeleteFuncDescByMemId,MEMBERID,memid,INVOKEKIND,invKind) \
4434 ICOM_METHOD1 (HRESULT,DeleteVarDesc,UINT,index) \
4435 ICOM_METHOD1 (HRESULT,DeleteVarDescByMemId,MEMBERID,memid) \
4436 ICOM_METHOD1 (HRESULT,DeleteImplType,UINT,index) \
4437 ICOM_METHOD2 (HRESULT,SetCustData,REFGUID,guid,VARIANT*,pVarVal) \
4438 ICOM_METHOD3 (HRESULT,SetFuncCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
4439 ICOM_METHOD4 (HRESULT,SetParamCustData,UINT,indexFunc,UINT,indexParam,REFGUID,guid,VARIANT*,pVarVal) \
4440 ICOM_METHOD3 (HRESULT,SetVarCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
4441 ICOM_METHOD3 (HRESULT,SetImplTypeCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \
4442 ICOM_METHOD1 (HRESULT,SetHelpStringContext,ULONG,dwHelpStringContext) \
4443 ICOM_METHOD2 (HRESULT,SetFuncHelpStringContext,UINT,index,ULONG,dwHelpStringContext) \
4444 ICOM_METHOD2 (HRESULT,SetVarHelpStringContext,UINT,index,ULONG,dwHelpStringContext) \
4445 ICOM_METHOD (HRESULT,Invalidate) \
4446 ICOM_METHOD1 (HRESULT,SetName,LPOLESTR,szName)
4448 /*** IUnknown methods ***/
4449 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4450 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4451 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4452 /*** ICreateTypeInfo methods ***/
4453 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4454 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4455 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4456 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4457 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4458 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4459 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4460 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4461 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4462 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4463 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4464 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4465 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4466 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4467 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4468 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4469 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4470 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4471 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4472 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4473 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4474 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4475 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4476 /*** ICreateTypeInfo2 methods ***/
4477 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4478 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4479 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4480 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4481 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4482 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4483 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4484 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4485 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4486 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4487 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4488 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4489 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4490 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4491 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4495 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4496 ICreateTypeInfo2* This,
4498 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
4499 struct IRpcStubBuffer* This,
4500 struct IRpcChannelBuffer* pRpcChannelBuffer,
4501 PRPC_MESSAGE pRpcMessage,
4502 DWORD* pdwStubPhase);
4503 HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4504 ICreateTypeInfo2* This,
4506 INVOKEKIND invKind);
4507 void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4508 struct IRpcStubBuffer* This,
4509 struct IRpcChannelBuffer* pRpcChannelBuffer,
4510 PRPC_MESSAGE pRpcMessage,
4511 DWORD* pdwStubPhase);
4512 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDesc_Proxy(
4513 ICreateTypeInfo2* This,
4515 void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
4516 struct IRpcStubBuffer* This,
4517 struct IRpcChannelBuffer* pRpcChannelBuffer,
4518 PRPC_MESSAGE pRpcMessage,
4519 DWORD* pdwStubPhase);
4520 HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4521 ICreateTypeInfo2* This,
4523 void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4524 struct IRpcStubBuffer* This,
4525 struct IRpcChannelBuffer* pRpcChannelBuffer,
4526 PRPC_MESSAGE pRpcMessage,
4527 DWORD* pdwStubPhase);
4528 HRESULT CALLBACK ICreateTypeInfo2_DeleteImplType_Proxy(
4529 ICreateTypeInfo2* This,
4531 void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
4532 struct IRpcStubBuffer* This,
4533 struct IRpcChannelBuffer* pRpcChannelBuffer,
4534 PRPC_MESSAGE pRpcMessage,
4535 DWORD* pdwStubPhase);
4536 HRESULT CALLBACK ICreateTypeInfo2_SetCustData_Proxy(
4537 ICreateTypeInfo2* This,
4540 void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
4541 struct IRpcStubBuffer* This,
4542 struct IRpcChannelBuffer* pRpcChannelBuffer,
4543 PRPC_MESSAGE pRpcMessage,
4544 DWORD* pdwStubPhase);
4545 HRESULT CALLBACK ICreateTypeInfo2_SetFuncCustData_Proxy(
4546 ICreateTypeInfo2* This,
4550 void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
4551 struct IRpcStubBuffer* This,
4552 struct IRpcChannelBuffer* pRpcChannelBuffer,
4553 PRPC_MESSAGE pRpcMessage,
4554 DWORD* pdwStubPhase);
4555 HRESULT CALLBACK ICreateTypeInfo2_SetParamCustData_Proxy(
4556 ICreateTypeInfo2* This,
4561 void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
4562 struct IRpcStubBuffer* This,
4563 struct IRpcChannelBuffer* pRpcChannelBuffer,
4564 PRPC_MESSAGE pRpcMessage,
4565 DWORD* pdwStubPhase);
4566 HRESULT CALLBACK ICreateTypeInfo2_SetVarCustData_Proxy(
4567 ICreateTypeInfo2* This,
4571 void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
4572 struct IRpcStubBuffer* This,
4573 struct IRpcChannelBuffer* pRpcChannelBuffer,
4574 PRPC_MESSAGE pRpcMessage,
4575 DWORD* pdwStubPhase);
4576 HRESULT CALLBACK ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4577 ICreateTypeInfo2* This,
4581 void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
4582 struct IRpcStubBuffer* This,
4583 struct IRpcChannelBuffer* pRpcChannelBuffer,
4584 PRPC_MESSAGE pRpcMessage,
4585 DWORD* pdwStubPhase);
4586 HRESULT CALLBACK ICreateTypeInfo2_SetHelpStringContext_Proxy(
4587 ICreateTypeInfo2* This,
4588 ULONG dwHelpStringContext);
4589 void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
4590 struct IRpcStubBuffer* This,
4591 struct IRpcChannelBuffer* pRpcChannelBuffer,
4592 PRPC_MESSAGE pRpcMessage,
4593 DWORD* pdwStubPhase);
4594 HRESULT CALLBACK ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4595 ICreateTypeInfo2* This,
4597 ULONG dwHelpStringContext);
4598 void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4599 struct IRpcStubBuffer* This,
4600 struct IRpcChannelBuffer* pRpcChannelBuffer,
4601 PRPC_MESSAGE pRpcMessage,
4602 DWORD* pdwStubPhase);
4603 HRESULT CALLBACK ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4604 ICreateTypeInfo2* This,
4606 ULONG dwHelpStringContext);
4607 void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4608 struct IRpcStubBuffer* This,
4609 struct IRpcChannelBuffer* pRpcChannelBuffer,
4610 PRPC_MESSAGE pRpcMessage,
4611 DWORD* pdwStubPhase);
4612 HRESULT CALLBACK ICreateTypeInfo2_Invalidate_Proxy(
4613 ICreateTypeInfo2* This);
4614 void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
4615 struct IRpcStubBuffer* This,
4616 struct IRpcChannelBuffer* pRpcChannelBuffer,
4617 PRPC_MESSAGE pRpcMessage,
4618 DWORD* pdwStubPhase);
4619 HRESULT CALLBACK ICreateTypeInfo2_SetName_Proxy(
4620 ICreateTypeInfo2* This,
4622 void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
4623 struct IRpcStubBuffer* This,
4624 struct IRpcChannelBuffer* pRpcChannelBuffer,
4625 PRPC_MESSAGE pRpcMessage,
4626 DWORD* pdwStubPhase);
4628 typedef struct ICreateTypeLib ICreateTypeLib;
4629 typedef ICreateTypeLib *LPCREATETYPELIB;
4631 /*****************************************************************************
4632 * ICreateTypeLib interface
4634 DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4635 #if defined(__cplusplus) && !defined(CINTERFACE)
4636 struct ICreateTypeLib: IUnknown {
4638 virtual HRESULT CALLBACK CreateTypeInfo(
4641 ICreateTypeInfo** ppCTInfo) = 0;
4643 virtual HRESULT CALLBACK SetName(
4644 LPOLESTR szName) = 0;
4646 virtual HRESULT CALLBACK SetVersion(
4648 WORD wMinorVerNum) = 0;
4650 virtual HRESULT CALLBACK SetGuid(
4653 virtual HRESULT CALLBACK SetDocString(
4654 LPOLESTR szDoc) = 0;
4656 virtual HRESULT CALLBACK SetHelpFileName(
4657 LPOLESTR szHelpFileName) = 0;
4659 virtual HRESULT CALLBACK SetHelpContext(
4660 DWORD dwHelpContext) = 0;
4662 virtual HRESULT CALLBACK SetLcid(
4665 virtual HRESULT CALLBACK SetLibFlags(
4666 UINT uLibFlags) = 0;
4668 virtual HRESULT CALLBACK SaveAllChanges(
4671 } ICOM_COM_INTERFACE_ATTRIBUTE;
4673 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl;
4674 struct ICreateTypeLib {
4675 const ICreateTypeLibVtbl* lpVtbl;
4677 struct ICreateTypeLibVtbl {
4678 ICOM_MSVTABLE_COMPAT_FIELDS
4680 /*** IUnknown methods ***/
4681 HRESULT (CALLBACK *QueryInterface)(
4682 ICreateTypeLib* This,
4686 ULONG (CALLBACK *AddRef)(
4687 ICreateTypeLib* This);
4689 ULONG (CALLBACK *Release)(
4690 ICreateTypeLib* This);
4692 /*** ICreateTypeLib methods ***/
4693 HRESULT (CALLBACK *CreateTypeInfo)(
4694 ICreateTypeLib* This,
4697 ICreateTypeInfo** ppCTInfo);
4699 HRESULT (CALLBACK *SetName)(
4700 ICreateTypeLib* This,
4703 HRESULT (CALLBACK *SetVersion)(
4704 ICreateTypeLib* This,
4708 HRESULT (CALLBACK *SetGuid)(
4709 ICreateTypeLib* This,
4712 HRESULT (CALLBACK *SetDocString)(
4713 ICreateTypeLib* This,
4716 HRESULT (CALLBACK *SetHelpFileName)(
4717 ICreateTypeLib* This,
4718 LPOLESTR szHelpFileName);
4720 HRESULT (CALLBACK *SetHelpContext)(
4721 ICreateTypeLib* This,
4722 DWORD dwHelpContext);
4724 HRESULT (CALLBACK *SetLcid)(
4725 ICreateTypeLib* This,
4728 HRESULT (CALLBACK *SetLibFlags)(
4729 ICreateTypeLib* This,
4732 HRESULT (CALLBACK *SaveAllChanges)(
4733 ICreateTypeLib* This);
4737 #define ICreateTypeLib_IMETHODS \
4739 ICOM_METHOD3 (HRESULT,CreateTypeInfo,LPOLESTR,szName,TYPEKIND,tkind,ICreateTypeInfo**,ppCTInfo) \
4740 ICOM_METHOD1 (HRESULT,SetName,LPOLESTR,szName) \
4741 ICOM_METHOD2 (HRESULT,SetVersion,WORD,wMajorVerNum,WORD,wMinorVerNum) \
4742 ICOM_METHOD1 (HRESULT,SetGuid,REFGUID,guid) \
4743 ICOM_METHOD1 (HRESULT,SetDocString,LPOLESTR,szDoc) \
4744 ICOM_METHOD1 (HRESULT,SetHelpFileName,LPOLESTR,szHelpFileName) \
4745 ICOM_METHOD1 (HRESULT,SetHelpContext,DWORD,dwHelpContext) \
4746 ICOM_METHOD1 (HRESULT,SetLcid,LCID,lcid) \
4747 ICOM_METHOD1 (HRESULT,SetLibFlags,UINT,uLibFlags) \
4748 ICOM_METHOD (HRESULT,SaveAllChanges)
4750 /*** IUnknown methods ***/
4751 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4752 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
4753 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
4754 /*** ICreateTypeLib methods ***/
4755 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
4756 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4757 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4758 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4759 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4760 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
4761 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4762 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
4763 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
4764 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
4768 HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy(
4769 ICreateTypeLib* This,
4772 ICreateTypeInfo** ppCTInfo);
4773 void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
4774 struct IRpcStubBuffer* This,
4775 struct IRpcChannelBuffer* pRpcChannelBuffer,
4776 PRPC_MESSAGE pRpcMessage,
4777 DWORD* pdwStubPhase);
4778 HRESULT CALLBACK ICreateTypeLib_SetName_Proxy(
4779 ICreateTypeLib* This,
4781 void __RPC_STUB ICreateTypeLib_SetName_Stub(
4782 struct IRpcStubBuffer* This,
4783 struct IRpcChannelBuffer* pRpcChannelBuffer,
4784 PRPC_MESSAGE pRpcMessage,
4785 DWORD* pdwStubPhase);
4786 HRESULT CALLBACK ICreateTypeLib_SetVersion_Proxy(
4787 ICreateTypeLib* This,
4790 void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
4791 struct IRpcStubBuffer* This,
4792 struct IRpcChannelBuffer* pRpcChannelBuffer,
4793 PRPC_MESSAGE pRpcMessage,
4794 DWORD* pdwStubPhase);
4795 HRESULT CALLBACK ICreateTypeLib_SetGuid_Proxy(
4796 ICreateTypeLib* This,
4798 void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
4799 struct IRpcStubBuffer* This,
4800 struct IRpcChannelBuffer* pRpcChannelBuffer,
4801 PRPC_MESSAGE pRpcMessage,
4802 DWORD* pdwStubPhase);
4803 HRESULT CALLBACK ICreateTypeLib_SetDocString_Proxy(
4804 ICreateTypeLib* This,
4806 void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
4807 struct IRpcStubBuffer* This,
4808 struct IRpcChannelBuffer* pRpcChannelBuffer,
4809 PRPC_MESSAGE pRpcMessage,
4810 DWORD* pdwStubPhase);
4811 HRESULT CALLBACK ICreateTypeLib_SetHelpFileName_Proxy(
4812 ICreateTypeLib* This,
4813 LPOLESTR szHelpFileName);
4814 void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
4815 struct IRpcStubBuffer* This,
4816 struct IRpcChannelBuffer* pRpcChannelBuffer,
4817 PRPC_MESSAGE pRpcMessage,
4818 DWORD* pdwStubPhase);
4819 HRESULT CALLBACK ICreateTypeLib_SetHelpContext_Proxy(
4820 ICreateTypeLib* This,
4821 DWORD dwHelpContext);
4822 void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
4823 struct IRpcStubBuffer* This,
4824 struct IRpcChannelBuffer* pRpcChannelBuffer,
4825 PRPC_MESSAGE pRpcMessage,
4826 DWORD* pdwStubPhase);
4827 HRESULT CALLBACK ICreateTypeLib_SetLcid_Proxy(
4828 ICreateTypeLib* This,
4830 void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
4831 struct IRpcStubBuffer* This,
4832 struct IRpcChannelBuffer* pRpcChannelBuffer,
4833 PRPC_MESSAGE pRpcMessage,
4834 DWORD* pdwStubPhase);
4835 HRESULT CALLBACK ICreateTypeLib_SetLibFlags_Proxy(
4836 ICreateTypeLib* This,
4838 void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
4839 struct IRpcStubBuffer* This,
4840 struct IRpcChannelBuffer* pRpcChannelBuffer,
4841 PRPC_MESSAGE pRpcMessage,
4842 DWORD* pdwStubPhase);
4843 HRESULT CALLBACK ICreateTypeLib_SaveAllChanges_Proxy(
4844 ICreateTypeLib* This);
4845 void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
4846 struct IRpcStubBuffer* This,
4847 struct IRpcChannelBuffer* pRpcChannelBuffer,
4848 PRPC_MESSAGE pRpcMessage,
4849 DWORD* pdwStubPhase);
4851 typedef struct ICreateTypeLib2 ICreateTypeLib2;
4852 typedef ICreateTypeLib2 *LPCREATETYPELIB2;
4854 /*****************************************************************************
4855 * ICreateTypeLib2 interface
4857 DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4858 #if defined(__cplusplus) && !defined(CINTERFACE)
4859 struct ICreateTypeLib2: ICreateTypeLib {
4861 virtual HRESULT CALLBACK DeleteTypeInfo(
4862 LPOLESTR szName) = 0;
4864 virtual HRESULT CALLBACK SetCustData(
4866 VARIANT* pVarVal) = 0;
4868 virtual HRESULT CALLBACK SetHelpStringContext(
4869 ULONG dwHelpStringContext) = 0;
4871 virtual HRESULT CALLBACK SetHelpStringDll(
4872 LPOLESTR szFileName) = 0;
4874 } ICOM_COM_INTERFACE_ATTRIBUTE;
4876 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl;
4877 struct ICreateTypeLib2 {
4878 const ICreateTypeLib2Vtbl* lpVtbl;
4880 struct ICreateTypeLib2Vtbl {
4881 ICOM_MSVTABLE_COMPAT_FIELDS
4883 /*** IUnknown methods ***/
4884 HRESULT (CALLBACK *QueryInterface)(
4885 ICreateTypeLib2* This,
4889 ULONG (CALLBACK *AddRef)(
4890 ICreateTypeLib2* This);
4892 ULONG (CALLBACK *Release)(
4893 ICreateTypeLib2* This);
4895 /*** ICreateTypeLib methods ***/
4896 HRESULT (CALLBACK *CreateTypeInfo)(
4897 ICreateTypeLib2* This,
4900 ICreateTypeInfo** ppCTInfo);
4902 HRESULT (CALLBACK *SetName)(
4903 ICreateTypeLib2* This,
4906 HRESULT (CALLBACK *SetVersion)(
4907 ICreateTypeLib2* This,
4911 HRESULT (CALLBACK *SetGuid)(
4912 ICreateTypeLib2* This,
4915 HRESULT (CALLBACK *SetDocString)(
4916 ICreateTypeLib2* This,
4919 HRESULT (CALLBACK *SetHelpFileName)(
4920 ICreateTypeLib2* This,
4921 LPOLESTR szHelpFileName);
4923 HRESULT (CALLBACK *SetHelpContext)(
4924 ICreateTypeLib2* This,
4925 DWORD dwHelpContext);
4927 HRESULT (CALLBACK *SetLcid)(
4928 ICreateTypeLib2* This,
4931 HRESULT (CALLBACK *SetLibFlags)(
4932 ICreateTypeLib2* This,
4935 HRESULT (CALLBACK *SaveAllChanges)(
4936 ICreateTypeLib2* This);
4938 /*** ICreateTypeLib2 methods ***/
4939 HRESULT (CALLBACK *DeleteTypeInfo)(
4940 ICreateTypeLib2* This,
4943 HRESULT (CALLBACK *SetCustData)(
4944 ICreateTypeLib2* This,
4948 HRESULT (CALLBACK *SetHelpStringContext)(
4949 ICreateTypeLib2* This,
4950 ULONG dwHelpStringContext);
4952 HRESULT (CALLBACK *SetHelpStringDll)(
4953 ICreateTypeLib2* This,
4954 LPOLESTR szFileName);
4958 #define ICreateTypeLib2_IMETHODS \
4959 ICreateTypeLib_IMETHODS \
4960 ICOM_METHOD1 (HRESULT,DeleteTypeInfo,LPOLESTR,szName) \
4961 ICOM_METHOD2 (HRESULT,SetCustData,REFGUID,guid,VARIANT*,pVarVal) \
4962 ICOM_METHOD1 (HRESULT,SetHelpStringContext,ULONG,dwHelpStringContext) \
4963 ICOM_METHOD1 (HRESULT,SetHelpStringDll,LPOLESTR,szFileName)
4965 /*** IUnknown methods ***/
4966 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4967 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
4968 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
4969 /*** ICreateTypeLib methods ***/
4970 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
4971 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4972 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4973 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4974 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4975 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
4976 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4977 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
4978 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
4979 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
4980 /*** ICreateTypeLib2 methods ***/
4981 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
4982 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4983 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4984 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
4988 HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy(
4989 ICreateTypeLib2* This,
4991 void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
4992 struct IRpcStubBuffer* This,
4993 struct IRpcChannelBuffer* pRpcChannelBuffer,
4994 PRPC_MESSAGE pRpcMessage,
4995 DWORD* pdwStubPhase);
4996 HRESULT CALLBACK ICreateTypeLib2_SetCustData_Proxy(
4997 ICreateTypeLib2* This,
5000 void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
5001 struct IRpcStubBuffer* This,
5002 struct IRpcChannelBuffer* pRpcChannelBuffer,
5003 PRPC_MESSAGE pRpcMessage,
5004 DWORD* pdwStubPhase);
5005 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringContext_Proxy(
5006 ICreateTypeLib2* This,
5007 ULONG dwHelpStringContext);
5008 void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
5009 struct IRpcStubBuffer* This,
5010 struct IRpcChannelBuffer* pRpcChannelBuffer,
5011 PRPC_MESSAGE pRpcMessage,
5012 DWORD* pdwStubPhase);
5013 HRESULT CALLBACK ICreateTypeLib2_SetHelpStringDll_Proxy(
5014 ICreateTypeLib2* This,
5015 LPOLESTR szFileName);
5016 void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
5017 struct IRpcStubBuffer* This,
5018 struct IRpcChannelBuffer* pRpcChannelBuffer,
5019 PRPC_MESSAGE pRpcMessage,
5020 DWORD* pdwStubPhase);
5025 #endif /* __WIDL_OAIDL_H */