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