1 /*** Autogenerated by WIDL 0.1 from oaidl.idl - Do not edit ***/
11 #ifndef __IDispatch_FWD_DEFINED__
12 #define __IDispatch_FWD_DEFINED__
13 typedef struct IDispatch IDispatch
;
16 #ifndef __ITypeInfo_FWD_DEFINED__
17 #define __ITypeInfo_FWD_DEFINED__
18 typedef struct ITypeInfo ITypeInfo
;
21 #ifndef __ITypeLib_FWD_DEFINED__
22 #define __ITypeLib_FWD_DEFINED__
23 typedef struct ITypeLib ITypeLib
;
26 #ifndef __IRecordInfo_FWD_DEFINED__
27 #define __IRecordInfo_FWD_DEFINED__
28 typedef struct IRecordInfo IRecordInfo
;
33 typedef struct tagSAFEARRAYBOUND
{
36 } SAFEARRAYBOUND
, *LPSAFEARRAYBOUND
;
38 typedef struct _wireVARIANT
*wireVARIANT
;
40 typedef struct _wireBRECORD
*wireBRECORD
;
42 typedef struct _wireSAFEARR_BSTR
{
47 typedef struct _wireSAFEARR_UNKNOWN
{
52 typedef struct _wireSAFEARR_DISPATCH
{
54 IDispatch
**apDispatch
;
57 typedef struct _wireSAFEARR_VARIANT
{
59 wireVARIANT
*aVariant
;
62 typedef struct _wireSAFEARR_BRECORD
{
67 typedef struct _wireSAFEARR_HAVEIID
{
73 typedef enum tagSF_TYPE
{
80 SF_UNKNOWN
= VT_UNKNOWN
,
81 SF_DISPATCH
= VT_DISPATCH
,
82 SF_VARIANT
= VT_VARIANT
,
83 SF_RECORD
= VT_RECORD
,
84 SF_HAVEIID
= VT_UNKNOWN
| VT_RESERVED
87 typedef struct _wireSAFEARRAY_UNION
{
91 SAFEARR_UNKNOWN UnknownStr
;
92 SAFEARR_DISPATCH DispatchStr
;
93 SAFEARR_VARIANT VariantStr
;
94 SAFEARR_BRECORD RecordStr
;
95 SAFEARR_HAVEIID HaveIidStr
;
96 BYTE_SIZEDARR ByteStr
;
97 WORD_SIZEDARR WordStr
;
98 DWORD_SIZEDARR LongStr
;
99 HYPER_SIZEDARR HyperStr
;
103 typedef struct _wireSAFEARRAY
{
108 SAFEARRAYUNION uArrayStructs
;
109 SAFEARRAYBOUND rgsabound
[1];
112 typedef wireSAFEARRAY
*wirePSAFEARRAY
;
114 typedef struct tagSAFEARRAY
{
120 SAFEARRAYBOUND rgsabound
[1];
123 typedef SAFEARRAY
*LPSAFEARRAY
;
124 unsigned long __RPC_USER
LPSAFEARRAY_UserSize (unsigned long *, unsigned long, LPSAFEARRAY
*);
125 unsigned char * __RPC_USER
LPSAFEARRAY_UserMarshal (unsigned long *, unsigned char *, LPSAFEARRAY
*);
126 unsigned char * __RPC_USER
LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY
*);
127 void __RPC_USER
LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRAY
*);
129 #define FADF_AUTO (0x1)
131 #define FADF_STATIC (0x2)
133 #define FADF_EMBEDDED (0x4)
135 #define FADF_FIXEDSIZE (0x10)
137 #define FADF_RECORD (0x20)
139 #define FADF_HAVEIID (0x40)
141 #define FADF_HAVEVARTYPE (0x80)
143 #define FADF_BSTR (0x100)
145 #define FADF_UNKNOWN (0x200)
147 #define FADF_DISPATCH (0x400)
149 #define FADF_VARIANT (0x800)
151 #define FADF_RESERVED (0xf008)
153 #define FADF_DATADELETED (0x1000)
155 #define FADF_CREATEVECTOR (0x2000)
157 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
158 #define __VARIANT_NAME_1 n1
159 #define __VARIANT_NAME_2 n2
160 #define __VARIANT_NAME_3 n3
161 #define __VARIANT_NAME_4 brecVal
164 #define __VARIANT_NAME_1
165 #define __VARIANT_NAME_2
166 #define __VARIANT_NAME_3
168 #define __VARIANT_NAME_4
170 typedef struct tagVARIANT VARIANT
;
171 unsigned long __RPC_USER
VARIANT_UserSize (unsigned long *, unsigned long, VARIANT
*);
172 unsigned char * __RPC_USER
VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT
*);
173 unsigned char * __RPC_USER
VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT
*);
174 void __RPC_USER
VARIANT_UserFree (unsigned long *, VARIANT
*);
178 struct __tagVARIANT
{
194 VARIANT_BOOL boolVal
;
214 VARIANT_BOOL
*pboolVal
;
223 IDispatch
**ppdispVal
;
227 struct __tagBRECORD
{
229 IRecordInfo
*pRecInfo
;
237 typedef VARIANT
*LPVARIANT
;
239 typedef VARIANT VARIANTARG
;
241 typedef VARIANTARG
*LPVARIANTARG
;
243 struct _wireBRECORD
{
246 IRecordInfo
*pRecInfo
;
250 struct _wireVARIANT
{
268 VARIANT_BOOL boolVal
;
276 wireSAFEARRAY parray
;
287 VARIANT_BOOL
*pboolVal
;
291 wireVARIANT
*pvarVal
;
295 IDispatch
**ppdispVal
;
296 wireSAFEARRAY
*pparray
;
303 typedef DWORD HREFTYPE
;
305 typedef DISPID MEMBERID
;
307 typedef enum tagTYPEKIND
{
319 typedef struct tagTYPEDESC
{
321 struct tagTYPEDESC
*lptdesc
;
322 struct tagARRAYDESC
*lpadesc
;
328 typedef struct tagARRAYDESC
{
331 SAFEARRAYBOUND rgbounds
[1];
334 typedef struct tagPARAMDESCEX
{
336 VARIANTARG varDefaultValue
;
337 } PARAMDESCEX
, *LPPARAMDESCEX
;
339 typedef struct tagPARAMDESC
{
340 LPPARAMDESCEX pparamdescex
;
342 } PARAMDESC
, *LPPARAMDESC
;
344 #define PARAMFLAG_NONE (0x0)
346 #define PARAMFLAG_FIN (0x1)
348 #define PARAMFLAG_FOUT (0x2)
350 #define PARAMFLAG_FLCID (0x4)
352 #define PARAMFLAG_FRETVAL (0x8)
354 #define PARAMFLAG_FOPT (0x10)
356 #define PARAMFLAG_FHASDEFAULT (0x20)
358 #define PARAMFLAG_FHASCUSTDATA (0x40)
360 typedef struct tagIDLDESC
{
363 } IDLDESC
, *LPIDLDESC
;
365 #define IDLFLAG_NONE (PARAMFLAG_NONE)
367 #define IDLFLAG_FIN (PARAMFLAG_FIN)
369 #define IDLFLAG_FOUT (PARAMFLAG_FOUT)
371 #define IDLFLAG_FLCID (PARAMFLAG_FLCID)
373 #define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL)
376 typedef struct tagELEMDESC
{
382 typedef struct tagELEMDESC
{
388 } ELEMDESC
, *LPELEMDESC
;
390 typedef struct tagTYPEATTR
{
394 MEMBERID memidConstructor
;
395 MEMBERID memidDestructor
;
396 LPOLESTR lpstrSchema
;
397 ULONG cbSizeInstance
;
409 } TYPEATTR
, *LPTYPEATTR
;
411 typedef struct tagDISPPARAMS
{
413 DISPID
*rgdispidNamedArgs
;
419 typedef struct tagEXCEPINFO
{
423 BSTR bstrDescription
;
427 ULONG pfnDeferredFillIn
;
432 typedef struct tagEXCEPINFO
{
436 BSTR bstrDescription
;
440 HRESULT (__stdcall
*pfnDeferredFillIn
)(struct tagEXCEPINFO
*);
442 } EXCEPINFO
, *LPEXCEPINFO
;
444 typedef enum tagCALLCONV
{
448 CC_PASCAL
= CC_MSCPASCAL
,
458 typedef enum tagFUNCKIND
{
466 typedef enum tagINVOKEKIND
{
468 INVOKE_PROPERTYGET
= 2,
469 INVOKE_PROPERTYPUT
= 4,
470 INVOKE_PROPERTYPUTREF
= 8
473 typedef struct tagFUNCDESC
{
476 ELEMDESC
*lprgelemdescParam
;
484 ELEMDESC elemdescFunc
;
486 } FUNCDESC
, *LPFUNCDESC
;
488 typedef enum tagVARKIND
{
495 #define IMPLTYPEFLAG_FDEFAULT (0x1)
497 #define IMPLTYPEFLAG_FSOURCE (0x2)
499 #define IMPLTYPEFLAG_FRESTRICTED (0x4)
501 #define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8)
503 typedef struct tagVARDESC
{
505 LPOLESTR lpstrSchema
;
510 ELEMDESC elemdescVar
;
513 } VARDESC
, *LPVARDESC
;
515 typedef enum tagTYPEFLAGS
{
516 TYPEFLAG_FAPPOBJECT
= 0x1,
517 TYPEFLAG_FCANCREATE
= 0x2,
518 TYPEFLAG_FLICENSED
= 0x4,
519 TYPEFLAG_FPREDECLID
= 0x8,
520 TYPEFLAG_FHIDDEN
= 0x10,
521 TYPEFLAG_FCONTROL
= 0x20,
522 TYPEFLAG_FDUAL
= 0x40,
523 TYPEFLAG_FNONEXTENSIBLE
= 0x80,
524 TYPEFLAG_FOLEAUTOMATION
= 0x100,
525 TYPEFLAG_FRESTRICTED
= 0x200,
526 TYPEFLAG_FAGGREGATABLE
= 0x400,
527 TYPEFLAG_FREPLACEABLE
= 0x800,
528 TYPEFLAG_FDISPATCHABLE
= 0x1000,
529 TYPEFLAG_FREVERSEBIND
= 0x2000,
530 TYPEFLAG_FPROXY
= 0x4000
533 typedef enum tagFUNCFLAGS
{
534 FUNCFLAG_FRESTRICTED
= 0x1,
535 FUNCFLAG_FSOURCE
= 0x2,
536 FUNCFLAG_FBINDABLE
= 0x4,
537 FUNCFLAG_FREQUESTEDIT
= 0x8,
538 FUNCFLAG_FDISPLAYBIND
= 0x10,
539 FUNCFLAG_FDEFAULTBIND
= 0x20,
540 FUNCFLAG_FHIDDEN
= 0x40,
541 FUNCFLAG_FUSESGETLASTERROR
= 0x80,
542 FUNCFLAG_FDEFAULTCOLLELEM
= 0x100,
543 FUNCFLAG_FUIDEFAULT
= 0x200,
544 FUNCFLAG_FNONBROWSABLE
= 0x400,
545 FUNCFLAG_FREPLACEABLE
= 0x800,
546 FUNCFLAG_FIMMEDIATEBIND
= 0x1000
549 typedef enum tagVARFLAGS
{
550 VARFLAG_FREADONLY
= 0x1,
551 VARFLAG_FSOURCE
= 0x2,
552 VARFLAG_FBINDABLE
= 0x4,
553 VARFLAG_FREQUESTEDIT
= 0x8,
554 VARFLAG_FDISPLAYBIND
= 0x10,
555 VARFLAG_FDEFAULTBIND
= 0x20,
556 VARFLAG_FHIDDEN
= 0x40,
557 VARFLAG_FRESTRICTED
= 0x80,
558 VARFLAG_FDEFAULTCOLLELEM
= 0x100,
559 VARFLAG_FUIDEFAULT
= 0x200,
560 VARFLAG_FNONBROWSABLE
= 0x400,
561 VARFLAG_FREPLACEABLE
= 0x800,
562 VARFLAG_FIMMEDIATEBIND
= 0x1000
565 typedef struct tagCLEANLOCALSTORAGE
{
566 IUnknown
*pInterface
;
570 unsigned long __RPC_USER
CLEANLOCALSTORAGE_UserSize (unsigned long *, unsigned long, CLEANLOCALSTORAGE
*);
571 unsigned char * __RPC_USER
CLEANLOCALSTORAGE_UserMarshal (unsigned long *, unsigned char *, CLEANLOCALSTORAGE
*);
572 unsigned char * __RPC_USER
CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE
*);
573 void __RPC_USER
CLEANLOCALSTORAGE_UserFree (unsigned long *, CLEANLOCALSTORAGE
*);
575 typedef struct tagCUSTDATAITEM
{
578 } CUSTDATAITEM
, *LPCUSTDATAITEM
;
580 typedef struct tagCUSTDATA
{
582 LPCUSTDATAITEM prgCustData
;
583 } CUSTDATA
, *LPCUSTDATA
;
585 typedef IDispatch
*LPDISPATCH
;
587 #define DISPID_UNKNOWN (-1)
589 #define DISPID_VALUE (0)
591 #define DISPID_PROPERTYPUT (-3)
593 #define DISPID_NEWENUM (-4)
595 #define DISPID_EVALUATE (-5)
597 #define DISPID_CONSTRUCTOR (-6)
599 #define DISPID_DESTRUCTOR (-7)
601 #define DISPID_COLLECT (-8)
603 /*****************************************************************************
604 * IDispatch interface
606 #ifndef __IDispatch_INTERFACE_DEFINED__
607 #define __IDispatch_INTERFACE_DEFINED__
609 DEFINE_GUID(IID_IDispatch
, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
610 #if defined(__cplusplus) && !defined(CINTERFACE)
611 struct IDispatch
: public IUnknown
613 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoCount(
616 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
619 ITypeInfo
** ppTInfo
) = 0;
621 virtual HRESULT STDMETHODCALLTYPE
GetIDsOfNames(
626 DISPID
* rgDispId
) = 0;
628 virtual HRESULT STDMETHODCALLTYPE
Invoke(
633 DISPPARAMS
* pDispParams
,
635 EXCEPINFO
* pExcepInfo
,
640 typedef struct IDispatchVtbl IDispatchVtbl
;
642 const IDispatchVtbl
* lpVtbl
;
644 struct IDispatchVtbl
{
647 /*** IUnknown methods ***/
648 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
653 ULONG (STDMETHODCALLTYPE
*AddRef
)(
656 ULONG (STDMETHODCALLTYPE
*Release
)(
659 /*** IDispatch methods ***/
660 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
664 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
668 ITypeInfo
** ppTInfo
);
670 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
678 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
684 DISPPARAMS
* pDispParams
,
686 EXCEPINFO
* pExcepInfo
,
693 /*** IUnknown methods ***/
694 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
695 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
696 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
697 /*** IDispatch methods ***/
698 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
699 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
700 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
701 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
706 #define IDispatch_METHODS \
707 /*** IUnknown methods ***/ \
708 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
709 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
710 STDMETHOD_(ULONG,Release)(THIS) PURE; \
711 /*** IDispatch methods ***/ \
712 STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
713 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
714 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
715 STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
717 HRESULT CALLBACK
IDispatch_GetTypeInfoCount_Proxy(
720 void __RPC_STUB
IDispatch_GetTypeInfoCount_Stub(
721 struct IRpcStubBuffer
* This
,
722 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
723 PRPC_MESSAGE pRpcMessage
,
724 DWORD
* pdwStubPhase
);
725 HRESULT CALLBACK
IDispatch_GetTypeInfo_Proxy(
729 ITypeInfo
** ppTInfo
);
730 void __RPC_STUB
IDispatch_GetTypeInfo_Stub(
731 struct IRpcStubBuffer
* This
,
732 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
733 PRPC_MESSAGE pRpcMessage
,
734 DWORD
* pdwStubPhase
);
735 HRESULT CALLBACK
IDispatch_GetIDsOfNames_Proxy(
742 void __RPC_STUB
IDispatch_GetIDsOfNames_Stub(
743 struct IRpcStubBuffer
* This
,
744 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
745 PRPC_MESSAGE pRpcMessage
,
746 DWORD
* pdwStubPhase
);
747 HRESULT CALLBACK
IDispatch_RemoteInvoke_Proxy(
753 DISPPARAMS
* pDispParams
,
755 EXCEPINFO
* pExcepInfo
,
759 VARIANTARG
* rgVarRef
);
760 void __RPC_STUB
IDispatch_RemoteInvoke_Stub(
761 struct IRpcStubBuffer
* This
,
762 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
763 PRPC_MESSAGE pRpcMessage
,
764 DWORD
* pdwStubPhase
);
765 HRESULT CALLBACK
IDispatch_Invoke_Proxy(
771 DISPPARAMS
* pDispParams
,
773 EXCEPINFO
* pExcepInfo
,
775 HRESULT __RPC_STUB
IDispatch_Invoke_Stub(
781 DISPPARAMS
* pDispParams
,
783 EXCEPINFO
* pExcepInfo
,
787 VARIANTARG
* rgVarRef
);
789 #endif /* __IDispatch_INTERFACE_DEFINED__ */
791 #ifndef __IEnumVARIANT_FWD_DEFINED__
792 #define __IEnumVARIANT_FWD_DEFINED__
793 typedef struct IEnumVARIANT IEnumVARIANT
;
796 typedef IEnumVARIANT
*LPENUMVARIANT
;
798 /*****************************************************************************
799 * IEnumVARIANT interface
801 #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
802 #define __IEnumVARIANT_INTERFACE_DEFINED__
804 DEFINE_GUID(IID_IEnumVARIANT
, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
805 #if defined(__cplusplus) && !defined(CINTERFACE)
806 struct IEnumVARIANT
: public IUnknown
808 virtual HRESULT STDMETHODCALLTYPE
Next(
811 ULONG
* pCeltFetched
) = 0;
813 virtual HRESULT STDMETHODCALLTYPE
Skip(
816 virtual HRESULT STDMETHODCALLTYPE
Reset(
819 virtual HRESULT STDMETHODCALLTYPE
Clone(
820 IEnumVARIANT
** ppEnum
) = 0;
824 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl
;
825 struct IEnumVARIANT
{
826 const IEnumVARIANTVtbl
* lpVtbl
;
828 struct IEnumVARIANTVtbl
{
831 /*** IUnknown methods ***/
832 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
837 ULONG (STDMETHODCALLTYPE
*AddRef
)(
840 ULONG (STDMETHODCALLTYPE
*Release
)(
843 /*** IEnumVARIANT methods ***/
844 HRESULT (STDMETHODCALLTYPE
*Next
)(
848 ULONG
* pCeltFetched
);
850 HRESULT (STDMETHODCALLTYPE
*Skip
)(
854 HRESULT (STDMETHODCALLTYPE
*Reset
)(
857 HRESULT (STDMETHODCALLTYPE
*Clone
)(
859 IEnumVARIANT
** ppEnum
);
865 /*** IUnknown methods ***/
866 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
867 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
868 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
869 /*** IEnumVARIANT methods ***/
870 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
871 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
872 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
873 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
878 #define IEnumVARIANT_METHODS \
879 /*** IUnknown methods ***/ \
880 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
881 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
882 STDMETHOD_(ULONG,Release)(THIS) PURE; \
883 /*** IEnumVARIANT methods ***/ \
884 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
885 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
886 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
887 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
889 HRESULT CALLBACK
IEnumVARIANT_RemoteNext_Proxy(
893 ULONG
* pCeltFetched
);
894 void __RPC_STUB
IEnumVARIANT_RemoteNext_Stub(
895 struct IRpcStubBuffer
* This
,
896 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
897 PRPC_MESSAGE pRpcMessage
,
898 DWORD
* pdwStubPhase
);
899 HRESULT CALLBACK
IEnumVARIANT_Next_Proxy(
903 ULONG
* pCeltFetched
);
904 HRESULT __RPC_STUB
IEnumVARIANT_Next_Stub(
908 ULONG
* pCeltFetched
);
909 HRESULT CALLBACK
IEnumVARIANT_Skip_Proxy(
912 void __RPC_STUB
IEnumVARIANT_Skip_Stub(
913 struct IRpcStubBuffer
* This
,
914 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
915 PRPC_MESSAGE pRpcMessage
,
916 DWORD
* pdwStubPhase
);
917 HRESULT CALLBACK
IEnumVARIANT_Reset_Proxy(
919 void __RPC_STUB
IEnumVARIANT_Reset_Stub(
920 struct IRpcStubBuffer
* This
,
921 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
922 PRPC_MESSAGE pRpcMessage
,
923 DWORD
* pdwStubPhase
);
924 HRESULT CALLBACK
IEnumVARIANT_Clone_Proxy(
926 IEnumVARIANT
** ppEnum
);
927 void __RPC_STUB
IEnumVARIANT_Clone_Stub(
928 struct IRpcStubBuffer
* This
,
929 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
930 PRPC_MESSAGE pRpcMessage
,
931 DWORD
* pdwStubPhase
);
933 #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
935 #ifndef __ITypeComp_FWD_DEFINED__
936 #define __ITypeComp_FWD_DEFINED__
937 typedef struct ITypeComp ITypeComp
;
940 typedef ITypeComp
*LPTYPECOMP
;
942 typedef enum tagDESCKIND
{
947 DESCKIND_IMPLICITAPPOBJ
,
951 typedef union tagBINDPTR
{
952 FUNCDESC
*lpfuncdesc
;
955 } BINDPTR
, *LPBINDPTR
;
957 /*****************************************************************************
958 * ITypeComp interface
960 #ifndef __ITypeComp_INTERFACE_DEFINED__
961 #define __ITypeComp_INTERFACE_DEFINED__
963 DEFINE_GUID(IID_ITypeComp
, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
964 #if defined(__cplusplus) && !defined(CINTERFACE)
965 struct ITypeComp
: public IUnknown
967 virtual HRESULT STDMETHODCALLTYPE
Bind(
973 BINDPTR
* pBindPtr
) = 0;
975 virtual HRESULT STDMETHODCALLTYPE
BindType(
979 ITypeComp
** ppTComp
) = 0;
983 typedef struct ITypeCompVtbl ITypeCompVtbl
;
985 const ITypeCompVtbl
* lpVtbl
;
987 struct ITypeCompVtbl
{
990 /*** IUnknown methods ***/
991 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
996 ULONG (STDMETHODCALLTYPE
*AddRef
)(
999 ULONG (STDMETHODCALLTYPE
*Release
)(
1002 /*** ITypeComp methods ***/
1003 HRESULT (STDMETHODCALLTYPE
*Bind
)(
1008 ITypeInfo
** ppTInfo
,
1009 DESCKIND
* pDescKind
,
1012 HRESULT (STDMETHODCALLTYPE
*BindType
)(
1016 ITypeInfo
** ppTInfo
,
1017 ITypeComp
** ppTComp
);
1023 /*** IUnknown methods ***/
1024 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1025 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
1026 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
1027 /*** ITypeComp methods ***/
1028 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
1029 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
1034 #define ITypeComp_METHODS \
1035 /*** IUnknown methods ***/ \
1036 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1037 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1038 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1039 /*** ITypeComp methods ***/ \
1040 STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
1041 STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
1043 HRESULT CALLBACK
ITypeComp_RemoteBind_Proxy(
1048 ITypeInfo
** ppTInfo
,
1049 DESCKIND
* pDescKind
,
1050 LPFUNCDESC
* ppFuncDesc
,
1051 LPVARDESC
* ppVarDesc
,
1052 ITypeComp
** ppTypeComp
,
1053 CLEANLOCALSTORAGE
* pDummy
);
1054 void __RPC_STUB
ITypeComp_RemoteBind_Stub(
1055 struct IRpcStubBuffer
* This
,
1056 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1057 PRPC_MESSAGE pRpcMessage
,
1058 DWORD
* pdwStubPhase
);
1059 HRESULT CALLBACK
ITypeComp_Bind_Proxy(
1064 ITypeInfo
** ppTInfo
,
1065 DESCKIND
* pDescKind
,
1067 HRESULT __RPC_STUB
ITypeComp_Bind_Stub(
1072 ITypeInfo
** ppTInfo
,
1073 DESCKIND
* pDescKind
,
1074 LPFUNCDESC
* ppFuncDesc
,
1075 LPVARDESC
* ppVarDesc
,
1076 ITypeComp
** ppTypeComp
,
1077 CLEANLOCALSTORAGE
* pDummy
);
1078 HRESULT CALLBACK
ITypeComp_RemoteBindType_Proxy(
1082 ITypeInfo
** ppTInfo
);
1083 void __RPC_STUB
ITypeComp_RemoteBindType_Stub(
1084 struct IRpcStubBuffer
* This
,
1085 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1086 PRPC_MESSAGE pRpcMessage
,
1087 DWORD
* pdwStubPhase
);
1088 HRESULT CALLBACK
ITypeComp_BindType_Proxy(
1092 ITypeInfo
** ppTInfo
,
1093 ITypeComp
** ppTComp
);
1094 HRESULT __RPC_STUB
ITypeComp_BindType_Stub(
1098 ITypeInfo
** ppTInfo
);
1100 #endif /* __ITypeComp_INTERFACE_DEFINED__ */
1102 typedef ITypeInfo
*LPTYPEINFO
;
1104 /*****************************************************************************
1105 * ITypeInfo interface
1107 #ifndef __ITypeInfo_INTERFACE_DEFINED__
1108 #define __ITypeInfo_INTERFACE_DEFINED__
1110 DEFINE_GUID(IID_ITypeInfo
, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1111 #if defined(__cplusplus) && !defined(CINTERFACE)
1112 struct ITypeInfo
: public IUnknown
1114 virtual HRESULT STDMETHODCALLTYPE
GetTypeAttr(
1115 TYPEATTR
** ppTypeAttr
) = 0;
1117 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
1118 ITypeComp
** ppTComp
) = 0;
1120 virtual HRESULT STDMETHODCALLTYPE
GetFuncDesc(
1122 FUNCDESC
** ppFuncDesc
) = 0;
1124 virtual HRESULT STDMETHODCALLTYPE
GetVarDesc(
1126 VARDESC
** ppVarDesc
) = 0;
1128 virtual HRESULT STDMETHODCALLTYPE
GetNames(
1134 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeOfImplType(
1136 HREFTYPE
* pRefType
) = 0;
1138 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeFlags(
1140 INT
* pImplTypeFlags
) = 0;
1142 virtual HRESULT STDMETHODCALLTYPE
GetIDsOfNames(
1143 LPOLESTR
* rgszNames
,
1145 MEMBERID
* pMemId
) = 0;
1147 virtual HRESULT STDMETHODCALLTYPE
Invoke(
1151 DISPPARAMS
* pDispParams
,
1152 VARIANT
* pVarResult
,
1153 EXCEPINFO
* pExcepInfo
,
1154 UINT
* puArgErr
) = 0;
1156 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
1159 BSTR
* pBstrDocString
,
1160 DWORD
* pdwHelpContext
,
1161 BSTR
* pBstrHelpFile
) = 0;
1163 virtual HRESULT STDMETHODCALLTYPE
GetDllEntry(
1168 WORD
* pwOrdinal
) = 0;
1170 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeInfo(
1172 ITypeInfo
** ppTInfo
) = 0;
1174 virtual HRESULT STDMETHODCALLTYPE
AddressOfMember(
1179 virtual HRESULT STDMETHODCALLTYPE
CreateInstance(
1180 IUnknown
* pUnkOuter
,
1184 virtual HRESULT STDMETHODCALLTYPE
GetMops(
1186 BSTR
* pBstrMops
) = 0;
1188 virtual HRESULT STDMETHODCALLTYPE
GetContainingTypeLib(
1192 virtual void STDMETHODCALLTYPE
ReleaseTypeAttr(
1193 TYPEATTR
* pTypeAttr
) = 0;
1195 virtual void STDMETHODCALLTYPE
ReleaseFuncDesc(
1196 FUNCDESC
* pFuncDesc
) = 0;
1198 virtual void STDMETHODCALLTYPE
ReleaseVarDesc(
1199 VARDESC
* pVarDesc
) = 0;
1203 typedef struct ITypeInfoVtbl ITypeInfoVtbl
;
1205 const ITypeInfoVtbl
* lpVtbl
;
1207 struct ITypeInfoVtbl
{
1210 /*** IUnknown methods ***/
1211 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1216 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1219 ULONG (STDMETHODCALLTYPE
*Release
)(
1222 /*** ITypeInfo methods ***/
1223 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1225 TYPEATTR
** ppTypeAttr
);
1227 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1229 ITypeComp
** ppTComp
);
1231 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1234 FUNCDESC
** ppFuncDesc
);
1236 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1239 VARDESC
** ppVarDesc
);
1241 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1248 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1251 HREFTYPE
* pRefType
);
1253 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1256 INT
* pImplTypeFlags
);
1258 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1260 LPOLESTR
* rgszNames
,
1264 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1269 DISPPARAMS
* pDispParams
,
1270 VARIANT
* pVarResult
,
1271 EXCEPINFO
* pExcepInfo
,
1274 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1278 BSTR
* pBstrDocString
,
1279 DWORD
* pdwHelpContext
,
1280 BSTR
* pBstrHelpFile
);
1282 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1290 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1293 ITypeInfo
** ppTInfo
);
1295 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1301 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1303 IUnknown
* pUnkOuter
,
1307 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1312 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1317 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1319 TYPEATTR
* pTypeAttr
);
1321 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1323 FUNCDESC
* pFuncDesc
);
1325 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1333 /*** IUnknown methods ***/
1334 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1335 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1336 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1337 /*** ITypeInfo methods ***/
1338 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1339 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1340 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1341 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1342 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1343 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1344 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1345 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1346 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1347 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1348 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1349 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1350 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1351 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1352 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1353 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1354 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1355 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1356 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1361 #define ITypeInfo_METHODS \
1362 /*** IUnknown methods ***/ \
1363 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1364 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1365 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1366 /*** ITypeInfo methods ***/ \
1367 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1368 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1369 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1370 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1371 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1372 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1373 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1374 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1375 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1376 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1377 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1378 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1379 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1380 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1381 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1382 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1383 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1384 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1385 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
1387 HRESULT CALLBACK
ITypeInfo_RemoteGetTypeAttr_Proxy(
1389 LPTYPEATTR
* ppTypeAttr
,
1390 CLEANLOCALSTORAGE
* pDummy
);
1391 void __RPC_STUB
ITypeInfo_RemoteGetTypeAttr_Stub(
1392 struct IRpcStubBuffer
* This
,
1393 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1394 PRPC_MESSAGE pRpcMessage
,
1395 DWORD
* pdwStubPhase
);
1396 HRESULT CALLBACK
ITypeInfo_GetTypeAttr_Proxy(
1398 TYPEATTR
** ppTypeAttr
);
1399 HRESULT __RPC_STUB
ITypeInfo_GetTypeAttr_Stub(
1401 LPTYPEATTR
* ppTypeAttr
,
1402 CLEANLOCALSTORAGE
* pDummy
);
1403 HRESULT CALLBACK
ITypeInfo_GetTypeComp_Proxy(
1405 ITypeComp
** ppTComp
);
1406 void __RPC_STUB
ITypeInfo_GetTypeComp_Stub(
1407 struct IRpcStubBuffer
* This
,
1408 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1409 PRPC_MESSAGE pRpcMessage
,
1410 DWORD
* pdwStubPhase
);
1411 HRESULT CALLBACK
ITypeInfo_RemoteGetFuncDesc_Proxy(
1414 LPFUNCDESC
* ppFuncDesc
,
1415 CLEANLOCALSTORAGE
* pDummy
);
1416 void __RPC_STUB
ITypeInfo_RemoteGetFuncDesc_Stub(
1417 struct IRpcStubBuffer
* This
,
1418 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1419 PRPC_MESSAGE pRpcMessage
,
1420 DWORD
* pdwStubPhase
);
1421 HRESULT CALLBACK
ITypeInfo_GetFuncDesc_Proxy(
1424 FUNCDESC
** ppFuncDesc
);
1425 HRESULT __RPC_STUB
ITypeInfo_GetFuncDesc_Stub(
1428 LPFUNCDESC
* ppFuncDesc
,
1429 CLEANLOCALSTORAGE
* pDummy
);
1430 HRESULT CALLBACK
ITypeInfo_RemoteGetVarDesc_Proxy(
1433 LPVARDESC
* ppVarDesc
,
1434 CLEANLOCALSTORAGE
* pDummy
);
1435 void __RPC_STUB
ITypeInfo_RemoteGetVarDesc_Stub(
1436 struct IRpcStubBuffer
* This
,
1437 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1438 PRPC_MESSAGE pRpcMessage
,
1439 DWORD
* pdwStubPhase
);
1440 HRESULT CALLBACK
ITypeInfo_GetVarDesc_Proxy(
1443 VARDESC
** ppVarDesc
);
1444 HRESULT __RPC_STUB
ITypeInfo_GetVarDesc_Stub(
1447 LPVARDESC
* ppVarDesc
,
1448 CLEANLOCALSTORAGE
* pDummy
);
1449 HRESULT CALLBACK
ITypeInfo_RemoteGetNames_Proxy(
1455 void __RPC_STUB
ITypeInfo_RemoteGetNames_Stub(
1456 struct IRpcStubBuffer
* This
,
1457 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1458 PRPC_MESSAGE pRpcMessage
,
1459 DWORD
* pdwStubPhase
);
1460 HRESULT CALLBACK
ITypeInfo_GetNames_Proxy(
1466 HRESULT __RPC_STUB
ITypeInfo_GetNames_Stub(
1472 HRESULT CALLBACK
ITypeInfo_GetRefTypeOfImplType_Proxy(
1475 HREFTYPE
* pRefType
);
1476 void __RPC_STUB
ITypeInfo_GetRefTypeOfImplType_Stub(
1477 struct IRpcStubBuffer
* This
,
1478 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1479 PRPC_MESSAGE pRpcMessage
,
1480 DWORD
* pdwStubPhase
);
1481 HRESULT CALLBACK
ITypeInfo_GetImplTypeFlags_Proxy(
1484 INT
* pImplTypeFlags
);
1485 void __RPC_STUB
ITypeInfo_GetImplTypeFlags_Stub(
1486 struct IRpcStubBuffer
* This
,
1487 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1488 PRPC_MESSAGE pRpcMessage
,
1489 DWORD
* pdwStubPhase
);
1490 HRESULT CALLBACK
ITypeInfo_LocalGetIDsOfNames_Proxy(
1492 void __RPC_STUB
ITypeInfo_LocalGetIDsOfNames_Stub(
1493 struct IRpcStubBuffer
* This
,
1494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1495 PRPC_MESSAGE pRpcMessage
,
1496 DWORD
* pdwStubPhase
);
1497 HRESULT CALLBACK
ITypeInfo_GetIDsOfNames_Proxy(
1499 LPOLESTR
* rgszNames
,
1502 HRESULT __RPC_STUB
ITypeInfo_GetIDsOfNames_Stub(
1504 HRESULT CALLBACK
ITypeInfo_LocalInvoke_Proxy(
1506 void __RPC_STUB
ITypeInfo_LocalInvoke_Stub(
1507 struct IRpcStubBuffer
* This
,
1508 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1509 PRPC_MESSAGE pRpcMessage
,
1510 DWORD
* pdwStubPhase
);
1511 HRESULT CALLBACK
ITypeInfo_Invoke_Proxy(
1516 DISPPARAMS
* pDispParams
,
1517 VARIANT
* pVarResult
,
1518 EXCEPINFO
* pExcepInfo
,
1520 HRESULT __RPC_STUB
ITypeInfo_Invoke_Stub(
1522 HRESULT CALLBACK
ITypeInfo_RemoteGetDocumentation_Proxy(
1527 BSTR
* pBstrDocString
,
1528 DWORD
* pdwHelpContext
,
1529 BSTR
* pBstrHelpFile
);
1530 void __RPC_STUB
ITypeInfo_RemoteGetDocumentation_Stub(
1531 struct IRpcStubBuffer
* This
,
1532 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1533 PRPC_MESSAGE pRpcMessage
,
1534 DWORD
* pdwStubPhase
);
1535 HRESULT CALLBACK
ITypeInfo_GetDocumentation_Proxy(
1539 BSTR
* pBstrDocString
,
1540 DWORD
* pdwHelpContext
,
1541 BSTR
* pBstrHelpFile
);
1542 HRESULT __RPC_STUB
ITypeInfo_GetDocumentation_Stub(
1547 BSTR
* pBstrDocString
,
1548 DWORD
* pdwHelpContext
,
1549 BSTR
* pBstrHelpFile
);
1550 HRESULT CALLBACK
ITypeInfo_RemoteGetDllEntry_Proxy(
1558 void __RPC_STUB
ITypeInfo_RemoteGetDllEntry_Stub(
1559 struct IRpcStubBuffer
* This
,
1560 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1561 PRPC_MESSAGE pRpcMessage
,
1562 DWORD
* pdwStubPhase
);
1563 HRESULT CALLBACK
ITypeInfo_GetDllEntry_Proxy(
1570 HRESULT __RPC_STUB
ITypeInfo_GetDllEntry_Stub(
1578 HRESULT CALLBACK
ITypeInfo_GetRefTypeInfo_Proxy(
1581 ITypeInfo
** ppTInfo
);
1582 void __RPC_STUB
ITypeInfo_GetRefTypeInfo_Stub(
1583 struct IRpcStubBuffer
* This
,
1584 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1585 PRPC_MESSAGE pRpcMessage
,
1586 DWORD
* pdwStubPhase
);
1587 HRESULT CALLBACK
ITypeInfo_LocalAddressOfMember_Proxy(
1589 void __RPC_STUB
ITypeInfo_LocalAddressOfMember_Stub(
1590 struct IRpcStubBuffer
* This
,
1591 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1592 PRPC_MESSAGE pRpcMessage
,
1593 DWORD
* pdwStubPhase
);
1594 HRESULT CALLBACK
ITypeInfo_AddressOfMember_Proxy(
1599 HRESULT __RPC_STUB
ITypeInfo_AddressOfMember_Stub(
1601 HRESULT CALLBACK
ITypeInfo_RemoteCreateInstance_Proxy(
1605 void __RPC_STUB
ITypeInfo_RemoteCreateInstance_Stub(
1606 struct IRpcStubBuffer
* This
,
1607 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1608 PRPC_MESSAGE pRpcMessage
,
1609 DWORD
* pdwStubPhase
);
1610 HRESULT CALLBACK
ITypeInfo_CreateInstance_Proxy(
1612 IUnknown
* pUnkOuter
,
1615 HRESULT __RPC_STUB
ITypeInfo_CreateInstance_Stub(
1619 HRESULT CALLBACK
ITypeInfo_GetMops_Proxy(
1623 void __RPC_STUB
ITypeInfo_GetMops_Stub(
1624 struct IRpcStubBuffer
* This
,
1625 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1626 PRPC_MESSAGE pRpcMessage
,
1627 DWORD
* pdwStubPhase
);
1628 HRESULT CALLBACK
ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1632 void __RPC_STUB
ITypeInfo_RemoteGetContainingTypeLib_Stub(
1633 struct IRpcStubBuffer
* This
,
1634 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1635 PRPC_MESSAGE pRpcMessage
,
1636 DWORD
* pdwStubPhase
);
1637 HRESULT CALLBACK
ITypeInfo_GetContainingTypeLib_Proxy(
1641 HRESULT __RPC_STUB
ITypeInfo_GetContainingTypeLib_Stub(
1645 HRESULT CALLBACK
ITypeInfo_LocalReleaseTypeAttr_Proxy(
1647 void __RPC_STUB
ITypeInfo_LocalReleaseTypeAttr_Stub(
1648 struct IRpcStubBuffer
* This
,
1649 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1650 PRPC_MESSAGE pRpcMessage
,
1651 DWORD
* pdwStubPhase
);
1652 void CALLBACK
ITypeInfo_ReleaseTypeAttr_Proxy(
1654 TYPEATTR
* pTypeAttr
);
1655 HRESULT __RPC_STUB
ITypeInfo_ReleaseTypeAttr_Stub(
1657 HRESULT CALLBACK
ITypeInfo_LocalReleaseFuncDesc_Proxy(
1659 void __RPC_STUB
ITypeInfo_LocalReleaseFuncDesc_Stub(
1660 struct IRpcStubBuffer
* This
,
1661 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1662 PRPC_MESSAGE pRpcMessage
,
1663 DWORD
* pdwStubPhase
);
1664 void CALLBACK
ITypeInfo_ReleaseFuncDesc_Proxy(
1666 FUNCDESC
* pFuncDesc
);
1667 HRESULT __RPC_STUB
ITypeInfo_ReleaseFuncDesc_Stub(
1669 HRESULT CALLBACK
ITypeInfo_LocalReleaseVarDesc_Proxy(
1671 void __RPC_STUB
ITypeInfo_LocalReleaseVarDesc_Stub(
1672 struct IRpcStubBuffer
* This
,
1673 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1674 PRPC_MESSAGE pRpcMessage
,
1675 DWORD
* pdwStubPhase
);
1676 void CALLBACK
ITypeInfo_ReleaseVarDesc_Proxy(
1679 HRESULT __RPC_STUB
ITypeInfo_ReleaseVarDesc_Stub(
1682 #endif /* __ITypeInfo_INTERFACE_DEFINED__ */
1684 #ifndef __ITypeInfo2_FWD_DEFINED__
1685 #define __ITypeInfo2_FWD_DEFINED__
1686 typedef struct ITypeInfo2 ITypeInfo2
;
1689 typedef ITypeInfo2
*LPTYPEINFO2
;
1691 /*****************************************************************************
1692 * ITypeInfo2 interface
1694 #ifndef __ITypeInfo2_INTERFACE_DEFINED__
1695 #define __ITypeInfo2_INTERFACE_DEFINED__
1697 DEFINE_GUID(IID_ITypeInfo2
, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1698 #if defined(__cplusplus) && !defined(CINTERFACE)
1699 struct ITypeInfo2
: public ITypeInfo
1701 virtual HRESULT STDMETHODCALLTYPE
GetTypeKind(
1702 TYPEKIND
* pTypeKind
) = 0;
1704 virtual HRESULT STDMETHODCALLTYPE
GetTypeFlags(
1705 ULONG
* pTypeFlags
) = 0;
1707 virtual HRESULT STDMETHODCALLTYPE
GetFuncIndexOfMemId(
1710 UINT
* pFuncIndex
) = 0;
1712 virtual HRESULT STDMETHODCALLTYPE
GetVarIndexOfMemId(
1714 UINT
* pVarIndex
) = 0;
1716 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
1718 VARIANT
* pVarVal
) = 0;
1720 virtual HRESULT STDMETHODCALLTYPE
GetFuncCustData(
1723 VARIANT
* pVarVal
) = 0;
1725 virtual HRESULT STDMETHODCALLTYPE
GetParamCustData(
1729 VARIANT
* pVarVal
) = 0;
1731 virtual HRESULT STDMETHODCALLTYPE
GetVarCustData(
1734 VARIANT
* pVarVal
) = 0;
1736 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeCustData(
1739 VARIANT
* pVarVal
) = 0;
1741 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
1744 BSTR
* pbstrHelpString
,
1745 DWORD
* pdwHelpStringContext
,
1746 BSTR
* pbstrHelpStringDll
) = 0;
1748 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
1749 CUSTDATA
* pCustData
) = 0;
1751 virtual HRESULT STDMETHODCALLTYPE
GetAllFuncCustData(
1753 CUSTDATA
* pCustData
) = 0;
1755 virtual HRESULT STDMETHODCALLTYPE
GetAllParamCustData(
1758 CUSTDATA
* pCustData
) = 0;
1760 virtual HRESULT STDMETHODCALLTYPE
GetAllVarCustData(
1762 CUSTDATA
* pCustData
) = 0;
1764 virtual HRESULT STDMETHODCALLTYPE
GetAllImplTypeCustData(
1766 CUSTDATA
* pCustData
) = 0;
1770 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl
;
1772 const ITypeInfo2Vtbl
* lpVtbl
;
1774 struct ITypeInfo2Vtbl
{
1777 /*** IUnknown methods ***/
1778 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1783 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1786 ULONG (STDMETHODCALLTYPE
*Release
)(
1789 /*** ITypeInfo methods ***/
1790 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1792 TYPEATTR
** ppTypeAttr
);
1794 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1796 ITypeComp
** ppTComp
);
1798 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1801 FUNCDESC
** ppFuncDesc
);
1803 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1806 VARDESC
** ppVarDesc
);
1808 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1815 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1818 HREFTYPE
* pRefType
);
1820 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1823 INT
* pImplTypeFlags
);
1825 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1827 LPOLESTR
* rgszNames
,
1831 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1836 DISPPARAMS
* pDispParams
,
1837 VARIANT
* pVarResult
,
1838 EXCEPINFO
* pExcepInfo
,
1841 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1845 BSTR
* pBstrDocString
,
1846 DWORD
* pdwHelpContext
,
1847 BSTR
* pBstrHelpFile
);
1849 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1857 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1860 ITypeInfo
** ppTInfo
);
1862 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1868 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1870 IUnknown
* pUnkOuter
,
1874 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1879 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1884 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1886 TYPEATTR
* pTypeAttr
);
1888 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1890 FUNCDESC
* pFuncDesc
);
1892 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1896 /*** ITypeInfo2 methods ***/
1897 HRESULT (STDMETHODCALLTYPE
*GetTypeKind
)(
1899 TYPEKIND
* pTypeKind
);
1901 HRESULT (STDMETHODCALLTYPE
*GetTypeFlags
)(
1905 HRESULT (STDMETHODCALLTYPE
*GetFuncIndexOfMemId
)(
1911 HRESULT (STDMETHODCALLTYPE
*GetVarIndexOfMemId
)(
1916 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
1921 HRESULT (STDMETHODCALLTYPE
*GetFuncCustData
)(
1927 HRESULT (STDMETHODCALLTYPE
*GetParamCustData
)(
1934 HRESULT (STDMETHODCALLTYPE
*GetVarCustData
)(
1940 HRESULT (STDMETHODCALLTYPE
*GetImplTypeCustData
)(
1946 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
1950 BSTR
* pbstrHelpString
,
1951 DWORD
* pdwHelpStringContext
,
1952 BSTR
* pbstrHelpStringDll
);
1954 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
1956 CUSTDATA
* pCustData
);
1958 HRESULT (STDMETHODCALLTYPE
*GetAllFuncCustData
)(
1961 CUSTDATA
* pCustData
);
1963 HRESULT (STDMETHODCALLTYPE
*GetAllParamCustData
)(
1967 CUSTDATA
* pCustData
);
1969 HRESULT (STDMETHODCALLTYPE
*GetAllVarCustData
)(
1972 CUSTDATA
* pCustData
);
1974 HRESULT (STDMETHODCALLTYPE
*GetAllImplTypeCustData
)(
1977 CUSTDATA
* pCustData
);
1983 /*** IUnknown methods ***/
1984 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1985 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1986 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1987 /*** ITypeInfo methods ***/
1988 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1989 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1990 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1991 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1992 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1993 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1994 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1995 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1996 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1997 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1998 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1999 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
2000 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
2001 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
2002 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
2003 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
2004 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
2005 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
2006 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
2007 /*** ITypeInfo2 methods ***/
2008 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
2009 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
2010 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
2011 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
2012 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2013 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
2014 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
2015 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
2016 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
2017 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2018 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2019 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
2020 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
2021 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
2022 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
2027 #define ITypeInfo2_METHODS \
2028 /*** IUnknown methods ***/ \
2029 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2030 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2031 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2032 /*** ITypeInfo methods ***/ \
2033 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
2034 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2035 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
2036 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
2037 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
2038 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
2039 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
2040 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
2041 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
2042 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2043 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
2044 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
2045 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
2046 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
2047 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
2048 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
2049 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
2050 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
2051 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
2052 /*** ITypeInfo2 methods ***/ \
2053 STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
2054 STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
2055 STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
2056 STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
2057 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2058 STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2059 STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
2060 STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2061 STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2062 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2063 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
2064 STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2065 STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
2066 STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2067 STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
2069 HRESULT CALLBACK
ITypeInfo2_GetTypeKind_Proxy(
2071 TYPEKIND
* pTypeKind
);
2072 void __RPC_STUB
ITypeInfo2_GetTypeKind_Stub(
2073 struct IRpcStubBuffer
* This
,
2074 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2075 PRPC_MESSAGE pRpcMessage
,
2076 DWORD
* pdwStubPhase
);
2077 HRESULT CALLBACK
ITypeInfo2_GetTypeFlags_Proxy(
2080 void __RPC_STUB
ITypeInfo2_GetTypeFlags_Stub(
2081 struct IRpcStubBuffer
* This
,
2082 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2083 PRPC_MESSAGE pRpcMessage
,
2084 DWORD
* pdwStubPhase
);
2085 HRESULT CALLBACK
ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2090 void __RPC_STUB
ITypeInfo2_GetFuncIndexOfMemId_Stub(
2091 struct IRpcStubBuffer
* This
,
2092 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2093 PRPC_MESSAGE pRpcMessage
,
2094 DWORD
* pdwStubPhase
);
2095 HRESULT CALLBACK
ITypeInfo2_GetVarIndexOfMemId_Proxy(
2099 void __RPC_STUB
ITypeInfo2_GetVarIndexOfMemId_Stub(
2100 struct IRpcStubBuffer
* This
,
2101 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2102 PRPC_MESSAGE pRpcMessage
,
2103 DWORD
* pdwStubPhase
);
2104 HRESULT CALLBACK
ITypeInfo2_GetCustData_Proxy(
2108 void __RPC_STUB
ITypeInfo2_GetCustData_Stub(
2109 struct IRpcStubBuffer
* This
,
2110 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2111 PRPC_MESSAGE pRpcMessage
,
2112 DWORD
* pdwStubPhase
);
2113 HRESULT CALLBACK
ITypeInfo2_GetFuncCustData_Proxy(
2118 void __RPC_STUB
ITypeInfo2_GetFuncCustData_Stub(
2119 struct IRpcStubBuffer
* This
,
2120 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2121 PRPC_MESSAGE pRpcMessage
,
2122 DWORD
* pdwStubPhase
);
2123 HRESULT CALLBACK
ITypeInfo2_GetParamCustData_Proxy(
2129 void __RPC_STUB
ITypeInfo2_GetParamCustData_Stub(
2130 struct IRpcStubBuffer
* This
,
2131 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2132 PRPC_MESSAGE pRpcMessage
,
2133 DWORD
* pdwStubPhase
);
2134 HRESULT CALLBACK
ITypeInfo2_GetVarCustData_Proxy(
2139 void __RPC_STUB
ITypeInfo2_GetVarCustData_Stub(
2140 struct IRpcStubBuffer
* This
,
2141 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2142 PRPC_MESSAGE pRpcMessage
,
2143 DWORD
* pdwStubPhase
);
2144 HRESULT CALLBACK
ITypeInfo2_GetImplTypeCustData_Proxy(
2149 void __RPC_STUB
ITypeInfo2_GetImplTypeCustData_Stub(
2150 struct IRpcStubBuffer
* This
,
2151 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2152 PRPC_MESSAGE pRpcMessage
,
2153 DWORD
* pdwStubPhase
);
2154 HRESULT CALLBACK
ITypeInfo2_RemoteGetDocumentation2_Proxy(
2159 BSTR
* pbstrHelpString
,
2160 DWORD
* pdwHelpStringContext
,
2161 BSTR
* pbstrHelpStringDll
);
2162 void __RPC_STUB
ITypeInfo2_RemoteGetDocumentation2_Stub(
2163 struct IRpcStubBuffer
* This
,
2164 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2165 PRPC_MESSAGE pRpcMessage
,
2166 DWORD
* pdwStubPhase
);
2167 HRESULT CALLBACK
ITypeInfo2_GetDocumentation2_Proxy(
2171 BSTR
* pbstrHelpString
,
2172 DWORD
* pdwHelpStringContext
,
2173 BSTR
* pbstrHelpStringDll
);
2174 HRESULT __RPC_STUB
ITypeInfo2_GetDocumentation2_Stub(
2179 BSTR
* pbstrHelpString
,
2180 DWORD
* pdwHelpStringContext
,
2181 BSTR
* pbstrHelpStringDll
);
2182 HRESULT CALLBACK
ITypeInfo2_GetAllCustData_Proxy(
2184 CUSTDATA
* pCustData
);
2185 void __RPC_STUB
ITypeInfo2_GetAllCustData_Stub(
2186 struct IRpcStubBuffer
* This
,
2187 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2188 PRPC_MESSAGE pRpcMessage
,
2189 DWORD
* pdwStubPhase
);
2190 HRESULT CALLBACK
ITypeInfo2_GetAllFuncCustData_Proxy(
2193 CUSTDATA
* pCustData
);
2194 void __RPC_STUB
ITypeInfo2_GetAllFuncCustData_Stub(
2195 struct IRpcStubBuffer
* This
,
2196 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2197 PRPC_MESSAGE pRpcMessage
,
2198 DWORD
* pdwStubPhase
);
2199 HRESULT CALLBACK
ITypeInfo2_GetAllParamCustData_Proxy(
2203 CUSTDATA
* pCustData
);
2204 void __RPC_STUB
ITypeInfo2_GetAllParamCustData_Stub(
2205 struct IRpcStubBuffer
* This
,
2206 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2207 PRPC_MESSAGE pRpcMessage
,
2208 DWORD
* pdwStubPhase
);
2209 HRESULT CALLBACK
ITypeInfo2_GetAllVarCustData_Proxy(
2212 CUSTDATA
* pCustData
);
2213 void __RPC_STUB
ITypeInfo2_GetAllVarCustData_Stub(
2214 struct IRpcStubBuffer
* This
,
2215 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2216 PRPC_MESSAGE pRpcMessage
,
2217 DWORD
* pdwStubPhase
);
2218 HRESULT CALLBACK
ITypeInfo2_GetAllImplTypeCustData_Proxy(
2221 CUSTDATA
* pCustData
);
2222 void __RPC_STUB
ITypeInfo2_GetAllImplTypeCustData_Stub(
2223 struct IRpcStubBuffer
* This
,
2224 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2225 PRPC_MESSAGE pRpcMessage
,
2226 DWORD
* pdwStubPhase
);
2228 #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
2230 typedef ITypeLib
*LPTYPELIB
;
2232 typedef enum tagSYSKIND
{
2238 typedef enum tagLIBFLAGS
{
2239 LIBFLAG_FRESTRICTED
= 0x1,
2240 LIBFLAG_FCONTROL
= 0x2,
2241 LIBFLAG_FHIDDEN
= 0x4,
2242 LIBFLAG_FHASDISKIMAGE
= 0x8
2245 typedef struct tagTLIBATTR
{
2252 } TLIBATTR
, *LPTLIBATTR
;
2254 /*****************************************************************************
2255 * ITypeLib interface
2257 #ifndef __ITypeLib_INTERFACE_DEFINED__
2258 #define __ITypeLib_INTERFACE_DEFINED__
2260 DEFINE_GUID(IID_ITypeLib
, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2261 #if defined(__cplusplus) && !defined(CINTERFACE)
2262 struct ITypeLib
: public IUnknown
2264 virtual UINT STDMETHODCALLTYPE
GetTypeInfoCount(
2267 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
2269 ITypeInfo
** ppTInfo
) = 0;
2271 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoType(
2273 TYPEKIND
* pTKind
) = 0;
2275 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoOfGuid(
2277 ITypeInfo
** ppTinfo
) = 0;
2279 virtual HRESULT STDMETHODCALLTYPE
GetLibAttr(
2280 TLIBATTR
** ppTLibAttr
) = 0;
2282 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
2283 ITypeComp
** ppTComp
) = 0;
2285 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
2288 BSTR
* pBstrDocString
,
2289 DWORD
* pdwHelpContext
,
2290 BSTR
* pBstrHelpFile
) = 0;
2292 virtual HRESULT STDMETHODCALLTYPE
IsName(
2297 virtual HRESULT STDMETHODCALLTYPE
FindName(
2300 ITypeInfo
** ppTInfo
,
2302 USHORT
* pcFound
) = 0;
2304 virtual void STDMETHODCALLTYPE
ReleaseTLibAttr(
2305 TLIBATTR
* pTLibAttr
) = 0;
2309 typedef struct ITypeLibVtbl ITypeLibVtbl
;
2311 const ITypeLibVtbl
* lpVtbl
;
2313 struct ITypeLibVtbl
{
2316 /*** IUnknown methods ***/
2317 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2322 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2325 ULONG (STDMETHODCALLTYPE
*Release
)(
2328 /*** ITypeLib methods ***/
2329 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2332 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2335 ITypeInfo
** ppTInfo
);
2337 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2342 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2345 ITypeInfo
** ppTinfo
);
2347 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2349 TLIBATTR
** ppTLibAttr
);
2351 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2353 ITypeComp
** ppTComp
);
2355 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2359 BSTR
* pBstrDocString
,
2360 DWORD
* pdwHelpContext
,
2361 BSTR
* pBstrHelpFile
);
2363 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2369 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2373 ITypeInfo
** ppTInfo
,
2377 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2379 TLIBATTR
* pTLibAttr
);
2385 /*** IUnknown methods ***/
2386 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2387 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2388 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2389 /*** ITypeLib methods ***/
2390 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2391 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2392 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2393 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2394 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2395 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2396 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2397 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2398 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2399 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2404 #define ITypeLib_METHODS \
2405 /*** IUnknown methods ***/ \
2406 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2407 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2408 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2409 /*** ITypeLib methods ***/ \
2410 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2411 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2412 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2413 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2414 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2415 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2416 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2417 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2418 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2419 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
2421 HRESULT CALLBACK
ITypeLib_RemoteGetTypeInfoCount_Proxy(
2424 void __RPC_STUB
ITypeLib_RemoteGetTypeInfoCount_Stub(
2425 struct IRpcStubBuffer
* This
,
2426 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2427 PRPC_MESSAGE pRpcMessage
,
2428 DWORD
* pdwStubPhase
);
2429 UINT CALLBACK
ITypeLib_GetTypeInfoCount_Proxy(
2431 HRESULT __RPC_STUB
ITypeLib_GetTypeInfoCount_Stub(
2434 HRESULT CALLBACK
ITypeLib_GetTypeInfo_Proxy(
2437 ITypeInfo
** ppTInfo
);
2438 void __RPC_STUB
ITypeLib_GetTypeInfo_Stub(
2439 struct IRpcStubBuffer
* This
,
2440 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2441 PRPC_MESSAGE pRpcMessage
,
2442 DWORD
* pdwStubPhase
);
2443 HRESULT CALLBACK
ITypeLib_GetTypeInfoType_Proxy(
2447 void __RPC_STUB
ITypeLib_GetTypeInfoType_Stub(
2448 struct IRpcStubBuffer
* This
,
2449 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2450 PRPC_MESSAGE pRpcMessage
,
2451 DWORD
* pdwStubPhase
);
2452 HRESULT CALLBACK
ITypeLib_GetTypeInfoOfGuid_Proxy(
2455 ITypeInfo
** ppTinfo
);
2456 void __RPC_STUB
ITypeLib_GetTypeInfoOfGuid_Stub(
2457 struct IRpcStubBuffer
* This
,
2458 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2459 PRPC_MESSAGE pRpcMessage
,
2460 DWORD
* pdwStubPhase
);
2461 HRESULT CALLBACK
ITypeLib_RemoteGetLibAttr_Proxy(
2463 LPTLIBATTR
* ppTLibAttr
,
2464 CLEANLOCALSTORAGE
* pDummy
);
2465 void __RPC_STUB
ITypeLib_RemoteGetLibAttr_Stub(
2466 struct IRpcStubBuffer
* This
,
2467 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2468 PRPC_MESSAGE pRpcMessage
,
2469 DWORD
* pdwStubPhase
);
2470 HRESULT CALLBACK
ITypeLib_GetLibAttr_Proxy(
2472 TLIBATTR
** ppTLibAttr
);
2473 HRESULT __RPC_STUB
ITypeLib_GetLibAttr_Stub(
2475 LPTLIBATTR
* ppTLibAttr
,
2476 CLEANLOCALSTORAGE
* pDummy
);
2477 HRESULT CALLBACK
ITypeLib_GetTypeComp_Proxy(
2479 ITypeComp
** ppTComp
);
2480 void __RPC_STUB
ITypeLib_GetTypeComp_Stub(
2481 struct IRpcStubBuffer
* This
,
2482 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2483 PRPC_MESSAGE pRpcMessage
,
2484 DWORD
* pdwStubPhase
);
2485 HRESULT CALLBACK
ITypeLib_RemoteGetDocumentation_Proxy(
2490 BSTR
* pBstrDocString
,
2491 DWORD
* pdwHelpContext
,
2492 BSTR
* pBstrHelpFile
);
2493 void __RPC_STUB
ITypeLib_RemoteGetDocumentation_Stub(
2494 struct IRpcStubBuffer
* This
,
2495 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2496 PRPC_MESSAGE pRpcMessage
,
2497 DWORD
* pdwStubPhase
);
2498 HRESULT CALLBACK
ITypeLib_GetDocumentation_Proxy(
2502 BSTR
* pBstrDocString
,
2503 DWORD
* pdwHelpContext
,
2504 BSTR
* pBstrHelpFile
);
2505 HRESULT __RPC_STUB
ITypeLib_GetDocumentation_Stub(
2510 BSTR
* pBstrDocString
,
2511 DWORD
* pdwHelpContext
,
2512 BSTR
* pBstrHelpFile
);
2513 HRESULT CALLBACK
ITypeLib_RemoteIsName_Proxy(
2518 BSTR
* pBstrLibName
);
2519 void __RPC_STUB
ITypeLib_RemoteIsName_Stub(
2520 struct IRpcStubBuffer
* This
,
2521 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2522 PRPC_MESSAGE pRpcMessage
,
2523 DWORD
* pdwStubPhase
);
2524 HRESULT CALLBACK
ITypeLib_IsName_Proxy(
2529 HRESULT __RPC_STUB
ITypeLib_IsName_Stub(
2534 BSTR
* pBstrLibName
);
2535 HRESULT CALLBACK
ITypeLib_RemoteFindName_Proxy(
2539 ITypeInfo
** ppTInfo
,
2542 BSTR
* pBstrLibName
);
2543 void __RPC_STUB
ITypeLib_RemoteFindName_Stub(
2544 struct IRpcStubBuffer
* This
,
2545 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2546 PRPC_MESSAGE pRpcMessage
,
2547 DWORD
* pdwStubPhase
);
2548 HRESULT CALLBACK
ITypeLib_FindName_Proxy(
2552 ITypeInfo
** ppTInfo
,
2555 HRESULT __RPC_STUB
ITypeLib_FindName_Stub(
2559 ITypeInfo
** ppTInfo
,
2562 BSTR
* pBstrLibName
);
2563 HRESULT CALLBACK
ITypeLib_LocalReleaseTLibAttr_Proxy(
2565 void __RPC_STUB
ITypeLib_LocalReleaseTLibAttr_Stub(
2566 struct IRpcStubBuffer
* This
,
2567 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2568 PRPC_MESSAGE pRpcMessage
,
2569 DWORD
* pdwStubPhase
);
2570 void CALLBACK
ITypeLib_ReleaseTLibAttr_Proxy(
2572 TLIBATTR
* pTLibAttr
);
2573 HRESULT __RPC_STUB
ITypeLib_ReleaseTLibAttr_Stub(
2576 #endif /* __ITypeLib_INTERFACE_DEFINED__ */
2578 #ifndef __ITypeLib2_FWD_DEFINED__
2579 #define __ITypeLib2_FWD_DEFINED__
2580 typedef struct ITypeLib2 ITypeLib2
;
2583 typedef ITypeLib2
*LPTYPELIB2
;
2585 /*****************************************************************************
2586 * ITypeLib2 interface
2588 #ifndef __ITypeLib2_INTERFACE_DEFINED__
2589 #define __ITypeLib2_INTERFACE_DEFINED__
2591 DEFINE_GUID(IID_ITypeLib2
, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2592 #if defined(__cplusplus) && !defined(CINTERFACE)
2593 struct ITypeLib2
: public ITypeLib
2595 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
2597 VARIANT
* pVarVal
) = 0;
2599 virtual HRESULT STDMETHODCALLTYPE
GetLibStatistics(
2600 ULONG
* pcUniqueNames
,
2601 ULONG
* pcchUniqueNames
) = 0;
2603 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
2606 BSTR
* pbstrHelpString
,
2607 DWORD
* pdwHelpStringContext
,
2608 BSTR
* pbstrHelpStringDll
) = 0;
2610 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
2611 CUSTDATA
* pCustData
) = 0;
2615 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl
;
2617 const ITypeLib2Vtbl
* lpVtbl
;
2619 struct ITypeLib2Vtbl
{
2622 /*** IUnknown methods ***/
2623 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2628 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2631 ULONG (STDMETHODCALLTYPE
*Release
)(
2634 /*** ITypeLib methods ***/
2635 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2638 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2641 ITypeInfo
** ppTInfo
);
2643 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2648 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2651 ITypeInfo
** ppTinfo
);
2653 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2655 TLIBATTR
** ppTLibAttr
);
2657 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2659 ITypeComp
** ppTComp
);
2661 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2665 BSTR
* pBstrDocString
,
2666 DWORD
* pdwHelpContext
,
2667 BSTR
* pBstrHelpFile
);
2669 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2675 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2679 ITypeInfo
** ppTInfo
,
2683 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2685 TLIBATTR
* pTLibAttr
);
2687 /*** ITypeLib2 methods ***/
2688 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
2693 HRESULT (STDMETHODCALLTYPE
*GetLibStatistics
)(
2695 ULONG
* pcUniqueNames
,
2696 ULONG
* pcchUniqueNames
);
2698 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
2702 BSTR
* pbstrHelpString
,
2703 DWORD
* pdwHelpStringContext
,
2704 BSTR
* pbstrHelpStringDll
);
2706 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
2708 CUSTDATA
* pCustData
);
2714 /*** IUnknown methods ***/
2715 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2716 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2717 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2718 /*** ITypeLib methods ***/
2719 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2720 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2721 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2722 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2723 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2724 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2725 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2726 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2727 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2728 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2729 /*** ITypeLib2 methods ***/
2730 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2731 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2732 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2733 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2738 #define ITypeLib2_METHODS \
2739 /*** IUnknown methods ***/ \
2740 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2741 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2742 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2743 /*** ITypeLib methods ***/ \
2744 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2745 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2746 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2747 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2748 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2749 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2750 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2751 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2752 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2753 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
2754 /*** ITypeLib2 methods ***/ \
2755 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2756 STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
2757 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2758 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
2760 HRESULT CALLBACK
ITypeLib2_GetCustData_Proxy(
2764 void __RPC_STUB
ITypeLib2_GetCustData_Stub(
2765 struct IRpcStubBuffer
* This
,
2766 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2767 PRPC_MESSAGE pRpcMessage
,
2768 DWORD
* pdwStubPhase
);
2769 HRESULT CALLBACK
ITypeLib2_RemoteGetLibStatistics_Proxy(
2771 ULONG
* pcUniqueNames
,
2772 ULONG
* pcchUniqueNames
);
2773 void __RPC_STUB
ITypeLib2_RemoteGetLibStatistics_Stub(
2774 struct IRpcStubBuffer
* This
,
2775 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2776 PRPC_MESSAGE pRpcMessage
,
2777 DWORD
* pdwStubPhase
);
2778 HRESULT CALLBACK
ITypeLib2_GetLibStatistics_Proxy(
2780 ULONG
* pcUniqueNames
,
2781 ULONG
* pcchUniqueNames
);
2782 HRESULT __RPC_STUB
ITypeLib2_GetLibStatistics_Stub(
2784 ULONG
* pcUniqueNames
,
2785 ULONG
* pcchUniqueNames
);
2786 HRESULT CALLBACK
ITypeLib2_RemoteGetDocumentation2_Proxy(
2791 BSTR
* pbstrHelpString
,
2792 DWORD
* pdwHelpStringContext
,
2793 BSTR
* pbstrHelpStringDll
);
2794 void __RPC_STUB
ITypeLib2_RemoteGetDocumentation2_Stub(
2795 struct IRpcStubBuffer
* This
,
2796 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2797 PRPC_MESSAGE pRpcMessage
,
2798 DWORD
* pdwStubPhase
);
2799 HRESULT CALLBACK
ITypeLib2_GetDocumentation2_Proxy(
2803 BSTR
* pbstrHelpString
,
2804 DWORD
* pdwHelpStringContext
,
2805 BSTR
* pbstrHelpStringDll
);
2806 HRESULT __RPC_STUB
ITypeLib2_GetDocumentation2_Stub(
2811 BSTR
* pbstrHelpString
,
2812 DWORD
* pdwHelpStringContext
,
2813 BSTR
* pbstrHelpStringDll
);
2814 HRESULT CALLBACK
ITypeLib2_GetAllCustData_Proxy(
2816 CUSTDATA
* pCustData
);
2817 void __RPC_STUB
ITypeLib2_GetAllCustData_Stub(
2818 struct IRpcStubBuffer
* This
,
2819 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2820 PRPC_MESSAGE pRpcMessage
,
2821 DWORD
* pdwStubPhase
);
2823 #endif /* __ITypeLib2_INTERFACE_DEFINED__ */
2825 #ifndef __ITypeChangeEvents_FWD_DEFINED__
2826 #define __ITypeChangeEvents_FWD_DEFINED__
2827 typedef struct ITypeChangeEvents ITypeChangeEvents
;
2830 typedef ITypeChangeEvents
*LPTYPECHANGEEVENTS
;
2832 typedef enum tagCHANGEKIND
{
2833 CHANGEKIND_ADDMEMBER
,
2834 CHANGEKIND_DELETEMEMBER
,
2835 CHANGEKIND_SETNAMES
,
2836 CHANGEKIND_SETDOCUMENTATION
,
2838 CHANGEKIND_INVALIDATE
,
2839 CHANGEKIND_CHANGEFAILED
,
2843 /*****************************************************************************
2844 * ITypeChangeEvents interface
2846 #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
2847 #define __ITypeChangeEvents_INTERFACE_DEFINED__
2849 DEFINE_GUID(IID_ITypeChangeEvents
, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2850 #if defined(__cplusplus) && !defined(CINTERFACE)
2851 struct ITypeChangeEvents
: public IUnknown
2853 virtual HRESULT STDMETHODCALLTYPE
RequestTypeChange(
2854 CHANGEKIND changeKind
,
2855 ITypeInfo
* pTInfoBefore
,
2859 virtual HRESULT STDMETHODCALLTYPE
AfterTypeChange(
2860 CHANGEKIND changeKind
,
2861 ITypeInfo
* pTInfoAfter
,
2862 LPOLESTR pStrName
) = 0;
2866 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl
;
2867 struct ITypeChangeEvents
{
2868 const ITypeChangeEventsVtbl
* lpVtbl
;
2870 struct ITypeChangeEventsVtbl
{
2873 /*** IUnknown methods ***/
2874 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2875 ITypeChangeEvents
* This
,
2879 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2880 ITypeChangeEvents
* This
);
2882 ULONG (STDMETHODCALLTYPE
*Release
)(
2883 ITypeChangeEvents
* This
);
2885 /*** ITypeChangeEvents methods ***/
2886 HRESULT (STDMETHODCALLTYPE
*RequestTypeChange
)(
2887 ITypeChangeEvents
* This
,
2888 CHANGEKIND changeKind
,
2889 ITypeInfo
* pTInfoBefore
,
2893 HRESULT (STDMETHODCALLTYPE
*AfterTypeChange
)(
2894 ITypeChangeEvents
* This
,
2895 CHANGEKIND changeKind
,
2896 ITypeInfo
* pTInfoAfter
,
2903 /*** IUnknown methods ***/
2904 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2905 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2906 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2907 /*** ITypeChangeEvents methods ***/
2908 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2909 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2914 #define ITypeChangeEvents_METHODS \
2915 /*** IUnknown methods ***/ \
2916 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2917 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2918 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2919 /*** ITypeChangeEvents methods ***/ \
2920 STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
2921 STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
2923 HRESULT CALLBACK
ITypeChangeEvents_RequestTypeChange_Proxy(
2924 ITypeChangeEvents
* This
,
2925 CHANGEKIND changeKind
,
2926 ITypeInfo
* pTInfoBefore
,
2929 void __RPC_STUB
ITypeChangeEvents_RequestTypeChange_Stub(
2930 struct IRpcStubBuffer
* This
,
2931 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2932 PRPC_MESSAGE pRpcMessage
,
2933 DWORD
* pdwStubPhase
);
2934 HRESULT CALLBACK
ITypeChangeEvents_AfterTypeChange_Proxy(
2935 ITypeChangeEvents
* This
,
2936 CHANGEKIND changeKind
,
2937 ITypeInfo
* pTInfoAfter
,
2939 void __RPC_STUB
ITypeChangeEvents_AfterTypeChange_Stub(
2940 struct IRpcStubBuffer
* This
,
2941 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2942 PRPC_MESSAGE pRpcMessage
,
2943 DWORD
* pdwStubPhase
);
2945 #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
2947 #ifndef __IErrorInfo_FWD_DEFINED__
2948 #define __IErrorInfo_FWD_DEFINED__
2949 typedef struct IErrorInfo IErrorInfo
;
2952 typedef IErrorInfo
*LPERRORINFO
;
2954 /*****************************************************************************
2955 * IErrorInfo interface
2957 #ifndef __IErrorInfo_INTERFACE_DEFINED__
2958 #define __IErrorInfo_INTERFACE_DEFINED__
2960 DEFINE_GUID(IID_IErrorInfo
, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2961 #if defined(__cplusplus) && !defined(CINTERFACE)
2962 struct IErrorInfo
: public IUnknown
2964 virtual HRESULT STDMETHODCALLTYPE
GetGUID(
2967 virtual HRESULT STDMETHODCALLTYPE
GetSource(
2968 BSTR
* pBstrSource
) = 0;
2970 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2971 BSTR
* pBstrDescription
) = 0;
2973 virtual HRESULT STDMETHODCALLTYPE
GetHelpFile(
2974 BSTR
* pBstrHelpFile
) = 0;
2976 virtual HRESULT STDMETHODCALLTYPE
GetHelpContext(
2977 DWORD
* pdwHelpContext
) = 0;
2981 typedef struct IErrorInfoVtbl IErrorInfoVtbl
;
2983 const IErrorInfoVtbl
* lpVtbl
;
2985 struct IErrorInfoVtbl
{
2988 /*** IUnknown methods ***/
2989 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2994 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2997 ULONG (STDMETHODCALLTYPE
*Release
)(
3000 /*** IErrorInfo methods ***/
3001 HRESULT (STDMETHODCALLTYPE
*GetGUID
)(
3005 HRESULT (STDMETHODCALLTYPE
*GetSource
)(
3009 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
3011 BSTR
* pBstrDescription
);
3013 HRESULT (STDMETHODCALLTYPE
*GetHelpFile
)(
3015 BSTR
* pBstrHelpFile
);
3017 HRESULT (STDMETHODCALLTYPE
*GetHelpContext
)(
3019 DWORD
* pdwHelpContext
);
3025 /*** IUnknown methods ***/
3026 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3027 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3028 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3029 /*** IErrorInfo methods ***/
3030 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
3031 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
3032 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
3033 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
3034 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
3039 #define IErrorInfo_METHODS \
3040 /*** IUnknown methods ***/ \
3041 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3042 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3043 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3044 /*** IErrorInfo methods ***/ \
3045 STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
3046 STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
3047 STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
3048 STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
3049 STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
3051 HRESULT CALLBACK
IErrorInfo_GetGUID_Proxy(
3054 void __RPC_STUB
IErrorInfo_GetGUID_Stub(
3055 struct IRpcStubBuffer
* This
,
3056 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3057 PRPC_MESSAGE pRpcMessage
,
3058 DWORD
* pdwStubPhase
);
3059 HRESULT CALLBACK
IErrorInfo_GetSource_Proxy(
3062 void __RPC_STUB
IErrorInfo_GetSource_Stub(
3063 struct IRpcStubBuffer
* This
,
3064 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3065 PRPC_MESSAGE pRpcMessage
,
3066 DWORD
* pdwStubPhase
);
3067 HRESULT CALLBACK
IErrorInfo_GetDescription_Proxy(
3069 BSTR
* pBstrDescription
);
3070 void __RPC_STUB
IErrorInfo_GetDescription_Stub(
3071 struct IRpcStubBuffer
* This
,
3072 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3073 PRPC_MESSAGE pRpcMessage
,
3074 DWORD
* pdwStubPhase
);
3075 HRESULT CALLBACK
IErrorInfo_GetHelpFile_Proxy(
3077 BSTR
* pBstrHelpFile
);
3078 void __RPC_STUB
IErrorInfo_GetHelpFile_Stub(
3079 struct IRpcStubBuffer
* This
,
3080 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3081 PRPC_MESSAGE pRpcMessage
,
3082 DWORD
* pdwStubPhase
);
3083 HRESULT CALLBACK
IErrorInfo_GetHelpContext_Proxy(
3085 DWORD
* pdwHelpContext
);
3086 void __RPC_STUB
IErrorInfo_GetHelpContext_Stub(
3087 struct IRpcStubBuffer
* This
,
3088 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3089 PRPC_MESSAGE pRpcMessage
,
3090 DWORD
* pdwStubPhase
);
3092 #endif /* __IErrorInfo_INTERFACE_DEFINED__ */
3094 #ifndef __ICreateErrorInfo_FWD_DEFINED__
3095 #define __ICreateErrorInfo_FWD_DEFINED__
3096 typedef struct ICreateErrorInfo ICreateErrorInfo
;
3099 typedef ICreateErrorInfo
*LPCREATEERRORINFO
;
3101 /*****************************************************************************
3102 * ICreateErrorInfo interface
3104 #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
3105 #define __ICreateErrorInfo_INTERFACE_DEFINED__
3107 DEFINE_GUID(IID_ICreateErrorInfo
, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3108 #if defined(__cplusplus) && !defined(CINTERFACE)
3109 struct ICreateErrorInfo
: public IUnknown
3111 virtual HRESULT STDMETHODCALLTYPE
SetGUID(
3114 virtual HRESULT STDMETHODCALLTYPE
SetSource(
3115 LPOLESTR szSource
) = 0;
3117 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
3118 LPOLESTR szDescription
) = 0;
3120 virtual HRESULT STDMETHODCALLTYPE
SetHelpFile(
3121 LPOLESTR szHelpFile
) = 0;
3123 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3124 DWORD dwHelpContext
) = 0;
3128 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl
;
3129 struct ICreateErrorInfo
{
3130 const ICreateErrorInfoVtbl
* lpVtbl
;
3132 struct ICreateErrorInfoVtbl
{
3135 /*** IUnknown methods ***/
3136 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3137 ICreateErrorInfo
* This
,
3141 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3142 ICreateErrorInfo
* This
);
3144 ULONG (STDMETHODCALLTYPE
*Release
)(
3145 ICreateErrorInfo
* This
);
3147 /*** ICreateErrorInfo methods ***/
3148 HRESULT (STDMETHODCALLTYPE
*SetGUID
)(
3149 ICreateErrorInfo
* This
,
3152 HRESULT (STDMETHODCALLTYPE
*SetSource
)(
3153 ICreateErrorInfo
* This
,
3156 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
3157 ICreateErrorInfo
* This
,
3158 LPOLESTR szDescription
);
3160 HRESULT (STDMETHODCALLTYPE
*SetHelpFile
)(
3161 ICreateErrorInfo
* This
,
3162 LPOLESTR szHelpFile
);
3164 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
3165 ICreateErrorInfo
* This
,
3166 DWORD dwHelpContext
);
3172 /*** IUnknown methods ***/
3173 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3174 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3175 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3176 /*** ICreateErrorInfo methods ***/
3177 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3178 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3179 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3180 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3181 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3186 #define ICreateErrorInfo_METHODS \
3187 /*** IUnknown methods ***/ \
3188 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3189 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3190 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3191 /*** ICreateErrorInfo methods ***/ \
3192 STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
3193 STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
3194 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
3195 STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
3196 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
3198 HRESULT CALLBACK
ICreateErrorInfo_SetGUID_Proxy(
3199 ICreateErrorInfo
* This
,
3201 void __RPC_STUB
ICreateErrorInfo_SetGUID_Stub(
3202 struct IRpcStubBuffer
* This
,
3203 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3204 PRPC_MESSAGE pRpcMessage
,
3205 DWORD
* pdwStubPhase
);
3206 HRESULT CALLBACK
ICreateErrorInfo_SetSource_Proxy(
3207 ICreateErrorInfo
* This
,
3209 void __RPC_STUB
ICreateErrorInfo_SetSource_Stub(
3210 struct IRpcStubBuffer
* This
,
3211 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3212 PRPC_MESSAGE pRpcMessage
,
3213 DWORD
* pdwStubPhase
);
3214 HRESULT CALLBACK
ICreateErrorInfo_SetDescription_Proxy(
3215 ICreateErrorInfo
* This
,
3216 LPOLESTR szDescription
);
3217 void __RPC_STUB
ICreateErrorInfo_SetDescription_Stub(
3218 struct IRpcStubBuffer
* This
,
3219 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3220 PRPC_MESSAGE pRpcMessage
,
3221 DWORD
* pdwStubPhase
);
3222 HRESULT CALLBACK
ICreateErrorInfo_SetHelpFile_Proxy(
3223 ICreateErrorInfo
* This
,
3224 LPOLESTR szHelpFile
);
3225 void __RPC_STUB
ICreateErrorInfo_SetHelpFile_Stub(
3226 struct IRpcStubBuffer
* This
,
3227 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3228 PRPC_MESSAGE pRpcMessage
,
3229 DWORD
* pdwStubPhase
);
3230 HRESULT CALLBACK
ICreateErrorInfo_SetHelpContext_Proxy(
3231 ICreateErrorInfo
* This
,
3232 DWORD dwHelpContext
);
3233 void __RPC_STUB
ICreateErrorInfo_SetHelpContext_Stub(
3234 struct IRpcStubBuffer
* This
,
3235 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3236 PRPC_MESSAGE pRpcMessage
,
3237 DWORD
* pdwStubPhase
);
3239 #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
3241 #ifndef __ISupportErrorInfo_FWD_DEFINED__
3242 #define __ISupportErrorInfo_FWD_DEFINED__
3243 typedef struct ISupportErrorInfo ISupportErrorInfo
;
3246 typedef ISupportErrorInfo
*LPSUPPORTERRORINFO
;
3248 /*****************************************************************************
3249 * ISupportErrorInfo interface
3251 #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
3252 #define __ISupportErrorInfo_INTERFACE_DEFINED__
3254 DEFINE_GUID(IID_ISupportErrorInfo
, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3255 #if defined(__cplusplus) && !defined(CINTERFACE)
3256 struct ISupportErrorInfo
: public IUnknown
3258 virtual HRESULT STDMETHODCALLTYPE
InterfaceSupportsErrorInfo(
3263 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl
;
3264 struct ISupportErrorInfo
{
3265 const ISupportErrorInfoVtbl
* lpVtbl
;
3267 struct ISupportErrorInfoVtbl
{
3270 /*** IUnknown methods ***/
3271 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3272 ISupportErrorInfo
* This
,
3276 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3277 ISupportErrorInfo
* This
);
3279 ULONG (STDMETHODCALLTYPE
*Release
)(
3280 ISupportErrorInfo
* This
);
3282 /*** ISupportErrorInfo methods ***/
3283 HRESULT (STDMETHODCALLTYPE
*InterfaceSupportsErrorInfo
)(
3284 ISupportErrorInfo
* This
,
3291 /*** IUnknown methods ***/
3292 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3293 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3294 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3295 /*** ISupportErrorInfo methods ***/
3296 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3301 #define ISupportErrorInfo_METHODS \
3302 /*** IUnknown methods ***/ \
3303 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3304 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3305 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3306 /*** ISupportErrorInfo methods ***/ \
3307 STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
3309 HRESULT CALLBACK
ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3310 ISupportErrorInfo
* This
,
3312 void __RPC_STUB
ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3313 struct IRpcStubBuffer
* This
,
3314 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3315 PRPC_MESSAGE pRpcMessage
,
3316 DWORD
* pdwStubPhase
);
3318 #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
3320 #ifndef __ITypeFactory_FWD_DEFINED__
3321 #define __ITypeFactory_FWD_DEFINED__
3322 typedef struct ITypeFactory ITypeFactory
;
3325 /*****************************************************************************
3326 * ITypeFactory interface
3328 #ifndef __ITypeFactory_INTERFACE_DEFINED__
3329 #define __ITypeFactory_INTERFACE_DEFINED__
3331 DEFINE_GUID(IID_ITypeFactory
, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3332 #if defined(__cplusplus) && !defined(CINTERFACE)
3333 struct ITypeFactory
: public IUnknown
3335 virtual HRESULT STDMETHODCALLTYPE
CreateFromTypeInfo(
3336 ITypeInfo
* pTypeInfo
,
3338 IUnknown
** ppv
) = 0;
3342 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl
;
3343 struct ITypeFactory
{
3344 const ITypeFactoryVtbl
* lpVtbl
;
3346 struct ITypeFactoryVtbl
{
3349 /*** IUnknown methods ***/
3350 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3355 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3356 ITypeFactory
* This
);
3358 ULONG (STDMETHODCALLTYPE
*Release
)(
3359 ITypeFactory
* This
);
3361 /*** ITypeFactory methods ***/
3362 HRESULT (STDMETHODCALLTYPE
*CreateFromTypeInfo
)(
3364 ITypeInfo
* pTypeInfo
,
3372 /*** IUnknown methods ***/
3373 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3374 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3375 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3376 /*** ITypeFactory methods ***/
3377 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3382 #define ITypeFactory_METHODS \
3383 /*** IUnknown methods ***/ \
3384 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3385 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3386 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3387 /*** ITypeFactory methods ***/ \
3388 STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
3390 HRESULT CALLBACK
ITypeFactory_CreateFromTypeInfo_Proxy(
3392 ITypeInfo
* pTypeInfo
,
3395 void __RPC_STUB
ITypeFactory_CreateFromTypeInfo_Stub(
3396 struct IRpcStubBuffer
* This
,
3397 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3398 PRPC_MESSAGE pRpcMessage
,
3399 DWORD
* pdwStubPhase
);
3401 #endif /* __ITypeFactory_INTERFACE_DEFINED__ */
3403 #ifndef __ITypeMarshal_FWD_DEFINED__
3404 #define __ITypeMarshal_FWD_DEFINED__
3405 typedef struct ITypeMarshal ITypeMarshal
;
3408 /*****************************************************************************
3409 * ITypeMarshal interface
3411 #ifndef __ITypeMarshal_INTERFACE_DEFINED__
3412 #define __ITypeMarshal_INTERFACE_DEFINED__
3414 DEFINE_GUID(IID_ITypeMarshal
, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3415 #if defined(__cplusplus) && !defined(CINTERFACE)
3416 struct ITypeMarshal
: public IUnknown
3418 virtual HRESULT STDMETHODCALLTYPE
Size(
3420 DWORD dwDestContext
,
3421 PVOID pvDestContext
,
3424 virtual HRESULT STDMETHODCALLTYPE
Marshal(
3426 DWORD dwDestContext
,
3427 PVOID pvDestContext
,
3428 ULONG cbBufferLength
,
3430 ULONG
* pcbWritten
) = 0;
3432 virtual HRESULT STDMETHODCALLTYPE
Unmarshal(
3435 ULONG cbBufferLength
,
3437 ULONG
* pcbRead
) = 0;
3439 virtual HRESULT STDMETHODCALLTYPE
Free(
3444 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl
;
3445 struct ITypeMarshal
{
3446 const ITypeMarshalVtbl
* lpVtbl
;
3448 struct ITypeMarshalVtbl
{
3451 /*** IUnknown methods ***/
3452 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3457 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3458 ITypeMarshal
* This
);
3460 ULONG (STDMETHODCALLTYPE
*Release
)(
3461 ITypeMarshal
* This
);
3463 /*** ITypeMarshal methods ***/
3464 HRESULT (STDMETHODCALLTYPE
*Size
)(
3467 DWORD dwDestContext
,
3468 PVOID pvDestContext
,
3471 HRESULT (STDMETHODCALLTYPE
*Marshal
)(
3474 DWORD dwDestContext
,
3475 PVOID pvDestContext
,
3476 ULONG cbBufferLength
,
3480 HRESULT (STDMETHODCALLTYPE
*Unmarshal
)(
3484 ULONG cbBufferLength
,
3488 HRESULT (STDMETHODCALLTYPE
*Free
)(
3496 /*** IUnknown methods ***/
3497 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3498 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3499 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3500 /*** ITypeMarshal methods ***/
3501 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3502 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3503 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3504 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3509 #define ITypeMarshal_METHODS \
3510 /*** IUnknown methods ***/ \
3511 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3512 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3513 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3514 /*** ITypeMarshal methods ***/ \
3515 STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
3516 STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
3517 STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
3518 STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
3520 HRESULT CALLBACK
ITypeMarshal_Size_Proxy(
3523 DWORD dwDestContext
,
3524 PVOID pvDestContext
,
3526 void __RPC_STUB
ITypeMarshal_Size_Stub(
3527 struct IRpcStubBuffer
* This
,
3528 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3529 PRPC_MESSAGE pRpcMessage
,
3530 DWORD
* pdwStubPhase
);
3531 HRESULT CALLBACK
ITypeMarshal_Marshal_Proxy(
3534 DWORD dwDestContext
,
3535 PVOID pvDestContext
,
3536 ULONG cbBufferLength
,
3539 void __RPC_STUB
ITypeMarshal_Marshal_Stub(
3540 struct IRpcStubBuffer
* This
,
3541 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3542 PRPC_MESSAGE pRpcMessage
,
3543 DWORD
* pdwStubPhase
);
3544 HRESULT CALLBACK
ITypeMarshal_Unmarshal_Proxy(
3548 ULONG cbBufferLength
,
3551 void __RPC_STUB
ITypeMarshal_Unmarshal_Stub(
3552 struct IRpcStubBuffer
* This
,
3553 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3554 PRPC_MESSAGE pRpcMessage
,
3555 DWORD
* pdwStubPhase
);
3556 HRESULT CALLBACK
ITypeMarshal_Free_Proxy(
3559 void __RPC_STUB
ITypeMarshal_Free_Stub(
3560 struct IRpcStubBuffer
* This
,
3561 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3562 PRPC_MESSAGE pRpcMessage
,
3563 DWORD
* pdwStubPhase
);
3565 #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
3567 typedef IRecordInfo
*LPRECORDINFO
;
3569 /*****************************************************************************
3570 * IRecordInfo interface
3572 #ifndef __IRecordInfo_INTERFACE_DEFINED__
3573 #define __IRecordInfo_INTERFACE_DEFINED__
3575 DEFINE_GUID(IID_IRecordInfo
, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3576 #if defined(__cplusplus) && !defined(CINTERFACE)
3577 struct IRecordInfo
: public IUnknown
3579 virtual HRESULT STDMETHODCALLTYPE
RecordInit(
3582 virtual HRESULT STDMETHODCALLTYPE
RecordClear(
3583 PVOID pvExisting
) = 0;
3585 virtual HRESULT STDMETHODCALLTYPE
RecordCopy(
3589 virtual HRESULT STDMETHODCALLTYPE
GetGuid(
3592 virtual HRESULT STDMETHODCALLTYPE
GetName(
3593 BSTR
* pbstrName
) = 0;
3595 virtual HRESULT STDMETHODCALLTYPE
GetSize(
3596 ULONG
* pcbSize
) = 0;
3598 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
3599 ITypeInfo
** ppTypeInfo
) = 0;
3601 virtual HRESULT STDMETHODCALLTYPE
GetField(
3603 LPCOLESTR szFieldName
,
3604 VARIANT
* pvarField
) = 0;
3606 virtual HRESULT STDMETHODCALLTYPE
GetFieldNoCopy(
3608 LPCOLESTR szFieldName
,
3610 PVOID
* ppvDataCArray
) = 0;
3612 virtual HRESULT STDMETHODCALLTYPE
PutField(
3615 LPCOLESTR szFieldName
,
3616 VARIANT
* pvarField
) = 0;
3618 virtual HRESULT STDMETHODCALLTYPE
PutFieldNoCopy(
3621 LPCOLESTR szFieldName
,
3622 VARIANT
* pvarField
) = 0;
3624 virtual HRESULT STDMETHODCALLTYPE
GetFieldNames(
3626 BSTR
* rgBstrNames
) = 0;
3628 virtual BOOL STDMETHODCALLTYPE
IsMatchingType(
3629 IRecordInfo
* pRecordInfo
) = 0;
3631 virtual PVOID STDMETHODCALLTYPE
RecordCreate(
3634 virtual HRESULT STDMETHODCALLTYPE
RecordCreateCopy(
3636 PVOID
* ppvDest
) = 0;
3638 virtual HRESULT STDMETHODCALLTYPE
RecordDestroy(
3639 PVOID pvRecord
) = 0;
3643 typedef struct IRecordInfoVtbl IRecordInfoVtbl
;
3644 struct IRecordInfo
{
3645 const IRecordInfoVtbl
* lpVtbl
;
3647 struct IRecordInfoVtbl
{
3650 /*** IUnknown methods ***/
3651 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3656 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3659 ULONG (STDMETHODCALLTYPE
*Release
)(
3662 /*** IRecordInfo methods ***/
3663 HRESULT (STDMETHODCALLTYPE
*RecordInit
)(
3667 HRESULT (STDMETHODCALLTYPE
*RecordClear
)(
3671 HRESULT (STDMETHODCALLTYPE
*RecordCopy
)(
3676 HRESULT (STDMETHODCALLTYPE
*GetGuid
)(
3680 HRESULT (STDMETHODCALLTYPE
*GetName
)(
3684 HRESULT (STDMETHODCALLTYPE
*GetSize
)(
3688 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
3690 ITypeInfo
** ppTypeInfo
);
3692 HRESULT (STDMETHODCALLTYPE
*GetField
)(
3695 LPCOLESTR szFieldName
,
3696 VARIANT
* pvarField
);
3698 HRESULT (STDMETHODCALLTYPE
*GetFieldNoCopy
)(
3701 LPCOLESTR szFieldName
,
3703 PVOID
* ppvDataCArray
);
3705 HRESULT (STDMETHODCALLTYPE
*PutField
)(
3709 LPCOLESTR szFieldName
,
3710 VARIANT
* pvarField
);
3712 HRESULT (STDMETHODCALLTYPE
*PutFieldNoCopy
)(
3716 LPCOLESTR szFieldName
,
3717 VARIANT
* pvarField
);
3719 HRESULT (STDMETHODCALLTYPE
*GetFieldNames
)(
3724 BOOL (STDMETHODCALLTYPE
*IsMatchingType
)(
3726 IRecordInfo
* pRecordInfo
);
3728 PVOID (STDMETHODCALLTYPE
*RecordCreate
)(
3731 HRESULT (STDMETHODCALLTYPE
*RecordCreateCopy
)(
3736 HRESULT (STDMETHODCALLTYPE
*RecordDestroy
)(
3744 /*** IUnknown methods ***/
3745 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3746 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3747 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3748 /*** IRecordInfo methods ***/
3749 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3750 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3751 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3752 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3753 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3754 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3755 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3756 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3757 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3758 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3759 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3760 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3761 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3762 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3763 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3764 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3769 #define IRecordInfo_METHODS \
3770 /*** IUnknown methods ***/ \
3771 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3772 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3773 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3774 /*** IRecordInfo methods ***/ \
3775 STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
3776 STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
3777 STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
3778 STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
3779 STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
3780 STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
3781 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
3782 STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3783 STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
3784 STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3785 STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3786 STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
3787 STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
3788 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
3789 STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
3790 STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
3792 HRESULT CALLBACK
IRecordInfo_RecordInit_Proxy(
3795 void __RPC_STUB
IRecordInfo_RecordInit_Stub(
3796 struct IRpcStubBuffer
* This
,
3797 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3798 PRPC_MESSAGE pRpcMessage
,
3799 DWORD
* pdwStubPhase
);
3800 HRESULT CALLBACK
IRecordInfo_RecordClear_Proxy(
3803 void __RPC_STUB
IRecordInfo_RecordClear_Stub(
3804 struct IRpcStubBuffer
* This
,
3805 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3806 PRPC_MESSAGE pRpcMessage
,
3807 DWORD
* pdwStubPhase
);
3808 HRESULT CALLBACK
IRecordInfo_RecordCopy_Proxy(
3812 void __RPC_STUB
IRecordInfo_RecordCopy_Stub(
3813 struct IRpcStubBuffer
* This
,
3814 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3815 PRPC_MESSAGE pRpcMessage
,
3816 DWORD
* pdwStubPhase
);
3817 HRESULT CALLBACK
IRecordInfo_GetGuid_Proxy(
3820 void __RPC_STUB
IRecordInfo_GetGuid_Stub(
3821 struct IRpcStubBuffer
* This
,
3822 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3823 PRPC_MESSAGE pRpcMessage
,
3824 DWORD
* pdwStubPhase
);
3825 HRESULT CALLBACK
IRecordInfo_GetName_Proxy(
3828 void __RPC_STUB
IRecordInfo_GetName_Stub(
3829 struct IRpcStubBuffer
* This
,
3830 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3831 PRPC_MESSAGE pRpcMessage
,
3832 DWORD
* pdwStubPhase
);
3833 HRESULT CALLBACK
IRecordInfo_GetSize_Proxy(
3836 void __RPC_STUB
IRecordInfo_GetSize_Stub(
3837 struct IRpcStubBuffer
* This
,
3838 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3839 PRPC_MESSAGE pRpcMessage
,
3840 DWORD
* pdwStubPhase
);
3841 HRESULT CALLBACK
IRecordInfo_GetTypeInfo_Proxy(
3843 ITypeInfo
** ppTypeInfo
);
3844 void __RPC_STUB
IRecordInfo_GetTypeInfo_Stub(
3845 struct IRpcStubBuffer
* This
,
3846 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3847 PRPC_MESSAGE pRpcMessage
,
3848 DWORD
* pdwStubPhase
);
3849 HRESULT CALLBACK
IRecordInfo_GetField_Proxy(
3852 LPCOLESTR szFieldName
,
3853 VARIANT
* pvarField
);
3854 void __RPC_STUB
IRecordInfo_GetField_Stub(
3855 struct IRpcStubBuffer
* This
,
3856 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3857 PRPC_MESSAGE pRpcMessage
,
3858 DWORD
* pdwStubPhase
);
3859 HRESULT CALLBACK
IRecordInfo_GetFieldNoCopy_Proxy(
3862 LPCOLESTR szFieldName
,
3864 PVOID
* ppvDataCArray
);
3865 void __RPC_STUB
IRecordInfo_GetFieldNoCopy_Stub(
3866 struct IRpcStubBuffer
* This
,
3867 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3868 PRPC_MESSAGE pRpcMessage
,
3869 DWORD
* pdwStubPhase
);
3870 HRESULT CALLBACK
IRecordInfo_PutField_Proxy(
3874 LPCOLESTR szFieldName
,
3875 VARIANT
* pvarField
);
3876 void __RPC_STUB
IRecordInfo_PutField_Stub(
3877 struct IRpcStubBuffer
* This
,
3878 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3879 PRPC_MESSAGE pRpcMessage
,
3880 DWORD
* pdwStubPhase
);
3881 HRESULT CALLBACK
IRecordInfo_PutFieldNoCopy_Proxy(
3885 LPCOLESTR szFieldName
,
3886 VARIANT
* pvarField
);
3887 void __RPC_STUB
IRecordInfo_PutFieldNoCopy_Stub(
3888 struct IRpcStubBuffer
* This
,
3889 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3890 PRPC_MESSAGE pRpcMessage
,
3891 DWORD
* pdwStubPhase
);
3892 HRESULT CALLBACK
IRecordInfo_GetFieldNames_Proxy(
3896 void __RPC_STUB
IRecordInfo_GetFieldNames_Stub(
3897 struct IRpcStubBuffer
* This
,
3898 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3899 PRPC_MESSAGE pRpcMessage
,
3900 DWORD
* pdwStubPhase
);
3901 BOOL CALLBACK
IRecordInfo_IsMatchingType_Proxy(
3903 IRecordInfo
* pRecordInfo
);
3904 void __RPC_STUB
IRecordInfo_IsMatchingType_Stub(
3905 struct IRpcStubBuffer
* This
,
3906 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3907 PRPC_MESSAGE pRpcMessage
,
3908 DWORD
* pdwStubPhase
);
3909 PVOID CALLBACK
IRecordInfo_RecordCreate_Proxy(
3911 void __RPC_STUB
IRecordInfo_RecordCreate_Stub(
3912 struct IRpcStubBuffer
* This
,
3913 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3914 PRPC_MESSAGE pRpcMessage
,
3915 DWORD
* pdwStubPhase
);
3916 HRESULT CALLBACK
IRecordInfo_RecordCreateCopy_Proxy(
3920 void __RPC_STUB
IRecordInfo_RecordCreateCopy_Stub(
3921 struct IRpcStubBuffer
* This
,
3922 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3923 PRPC_MESSAGE pRpcMessage
,
3924 DWORD
* pdwStubPhase
);
3925 HRESULT CALLBACK
IRecordInfo_RecordDestroy_Proxy(
3928 void __RPC_STUB
IRecordInfo_RecordDestroy_Stub(
3929 struct IRpcStubBuffer
* This
,
3930 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3931 PRPC_MESSAGE pRpcMessage
,
3932 DWORD
* pdwStubPhase
);
3934 #endif /* __IRecordInfo_INTERFACE_DEFINED__ */
3936 #ifndef __ICreateTypeInfo_FWD_DEFINED__
3937 #define __ICreateTypeInfo_FWD_DEFINED__
3938 typedef struct ICreateTypeInfo ICreateTypeInfo
;
3941 typedef ICreateTypeInfo
*LPCREATETYPEINFO
;
3943 /*****************************************************************************
3944 * ICreateTypeInfo interface
3946 #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
3947 #define __ICreateTypeInfo_INTERFACE_DEFINED__
3949 DEFINE_GUID(IID_ICreateTypeInfo
, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3950 #if defined(__cplusplus) && !defined(CINTERFACE)
3951 struct ICreateTypeInfo
: public IUnknown
3953 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
3956 virtual HRESULT STDMETHODCALLTYPE
SetTypeFlags(
3957 UINT uTypeFlags
) = 0;
3959 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
3960 LPOLESTR pStrDoc
) = 0;
3962 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3963 DWORD dwHelpContext
) = 0;
3965 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
3967 WORD wMinorVerNum
) = 0;
3969 virtual HRESULT STDMETHODCALLTYPE
AddRefTypeInfo(
3971 HREFTYPE
* phRefType
) = 0;
3973 virtual HRESULT STDMETHODCALLTYPE
AddFuncDesc(
3975 FUNCDESC
* pFuncDesc
) = 0;
3977 virtual HRESULT STDMETHODCALLTYPE
AddImplType(
3979 HREFTYPE hRefType
) = 0;
3981 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeFlags(
3983 INT implTypeFlags
) = 0;
3985 virtual HRESULT STDMETHODCALLTYPE
SetAlignment(
3986 WORD cbAlignment
) = 0;
3988 virtual HRESULT STDMETHODCALLTYPE
SetSchema(
3989 LPOLESTR pStrSchema
) = 0;
3991 virtual HRESULT STDMETHODCALLTYPE
AddVarDesc(
3993 VARDESC
* pVarDesc
) = 0;
3995 virtual HRESULT STDMETHODCALLTYPE
SetFuncAndParamNames(
3997 LPOLESTR
* rgszNames
,
4000 virtual HRESULT STDMETHODCALLTYPE
SetVarName(
4002 LPOLESTR szName
) = 0;
4004 virtual HRESULT STDMETHODCALLTYPE
SetTypeDescAlias(
4005 TYPEDESC
* pTDescAlias
) = 0;
4007 virtual HRESULT STDMETHODCALLTYPE
DefineFuncAsDllEntry(
4010 LPOLESTR szProcName
) = 0;
4012 virtual HRESULT STDMETHODCALLTYPE
SetFuncDocString(
4014 LPOLESTR szDocString
) = 0;
4016 virtual HRESULT STDMETHODCALLTYPE
SetVarDocString(
4018 LPOLESTR szDocString
) = 0;
4020 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpContext(
4022 DWORD dwHelpContext
) = 0;
4024 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpContext(
4026 DWORD dwHelpContext
) = 0;
4028 virtual HRESULT STDMETHODCALLTYPE
SetMops(
4032 virtual HRESULT STDMETHODCALLTYPE
SetTypeIdldesc(
4033 IDLDESC
* pIdlDesc
) = 0;
4035 virtual HRESULT STDMETHODCALLTYPE
LayOut(
4040 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl
;
4041 struct ICreateTypeInfo
{
4042 const ICreateTypeInfoVtbl
* lpVtbl
;
4044 struct ICreateTypeInfoVtbl
{
4047 /*** IUnknown methods ***/
4048 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4049 ICreateTypeInfo
* This
,
4053 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4054 ICreateTypeInfo
* This
);
4056 ULONG (STDMETHODCALLTYPE
*Release
)(
4057 ICreateTypeInfo
* This
);
4059 /*** ICreateTypeInfo methods ***/
4060 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4061 ICreateTypeInfo
* This
,
4064 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4065 ICreateTypeInfo
* This
,
4068 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4069 ICreateTypeInfo
* This
,
4072 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4073 ICreateTypeInfo
* This
,
4074 DWORD dwHelpContext
);
4076 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4077 ICreateTypeInfo
* This
,
4081 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4082 ICreateTypeInfo
* This
,
4084 HREFTYPE
* phRefType
);
4086 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4087 ICreateTypeInfo
* This
,
4089 FUNCDESC
* pFuncDesc
);
4091 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4092 ICreateTypeInfo
* This
,
4096 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4097 ICreateTypeInfo
* This
,
4101 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4102 ICreateTypeInfo
* This
,
4105 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4106 ICreateTypeInfo
* This
,
4107 LPOLESTR pStrSchema
);
4109 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4110 ICreateTypeInfo
* This
,
4114 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4115 ICreateTypeInfo
* This
,
4117 LPOLESTR
* rgszNames
,
4120 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4121 ICreateTypeInfo
* This
,
4125 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4126 ICreateTypeInfo
* This
,
4127 TYPEDESC
* pTDescAlias
);
4129 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4130 ICreateTypeInfo
* This
,
4133 LPOLESTR szProcName
);
4135 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4136 ICreateTypeInfo
* This
,
4138 LPOLESTR szDocString
);
4140 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4141 ICreateTypeInfo
* This
,
4143 LPOLESTR szDocString
);
4145 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4146 ICreateTypeInfo
* This
,
4148 DWORD dwHelpContext
);
4150 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4151 ICreateTypeInfo
* This
,
4153 DWORD dwHelpContext
);
4155 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4156 ICreateTypeInfo
* This
,
4160 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4161 ICreateTypeInfo
* This
,
4164 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4165 ICreateTypeInfo
* This
);
4171 /*** IUnknown methods ***/
4172 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4173 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4174 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4175 /*** ICreateTypeInfo methods ***/
4176 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4177 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4178 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4179 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4180 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4181 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4182 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4183 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4184 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4185 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4186 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4187 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4188 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4189 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4190 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4191 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4192 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4193 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4194 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4195 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4196 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4197 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4198 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4203 #define ICreateTypeInfo_METHODS \
4204 /*** IUnknown methods ***/ \
4205 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4206 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4207 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4208 /*** ICreateTypeInfo methods ***/ \
4209 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4210 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4211 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4212 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4213 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4214 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4215 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4216 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4217 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4218 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4219 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4220 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4221 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4222 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4223 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4224 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4225 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4226 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4227 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4228 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4229 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4230 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4231 STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
4233 HRESULT CALLBACK
ICreateTypeInfo_SetGuid_Proxy(
4234 ICreateTypeInfo
* This
,
4236 void __RPC_STUB
ICreateTypeInfo_SetGuid_Stub(
4237 struct IRpcStubBuffer
* This
,
4238 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4239 PRPC_MESSAGE pRpcMessage
,
4240 DWORD
* pdwStubPhase
);
4241 HRESULT CALLBACK
ICreateTypeInfo_SetTypeFlags_Proxy(
4242 ICreateTypeInfo
* This
,
4244 void __RPC_STUB
ICreateTypeInfo_SetTypeFlags_Stub(
4245 struct IRpcStubBuffer
* This
,
4246 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4247 PRPC_MESSAGE pRpcMessage
,
4248 DWORD
* pdwStubPhase
);
4249 HRESULT CALLBACK
ICreateTypeInfo_SetDocString_Proxy(
4250 ICreateTypeInfo
* This
,
4252 void __RPC_STUB
ICreateTypeInfo_SetDocString_Stub(
4253 struct IRpcStubBuffer
* This
,
4254 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4255 PRPC_MESSAGE pRpcMessage
,
4256 DWORD
* pdwStubPhase
);
4257 HRESULT CALLBACK
ICreateTypeInfo_SetHelpContext_Proxy(
4258 ICreateTypeInfo
* This
,
4259 DWORD dwHelpContext
);
4260 void __RPC_STUB
ICreateTypeInfo_SetHelpContext_Stub(
4261 struct IRpcStubBuffer
* This
,
4262 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4263 PRPC_MESSAGE pRpcMessage
,
4264 DWORD
* pdwStubPhase
);
4265 HRESULT CALLBACK
ICreateTypeInfo_SetVersion_Proxy(
4266 ICreateTypeInfo
* This
,
4269 void __RPC_STUB
ICreateTypeInfo_SetVersion_Stub(
4270 struct IRpcStubBuffer
* This
,
4271 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4272 PRPC_MESSAGE pRpcMessage
,
4273 DWORD
* pdwStubPhase
);
4274 HRESULT CALLBACK
ICreateTypeInfo_AddRefTypeInfo_Proxy(
4275 ICreateTypeInfo
* This
,
4277 HREFTYPE
* phRefType
);
4278 void __RPC_STUB
ICreateTypeInfo_AddRefTypeInfo_Stub(
4279 struct IRpcStubBuffer
* This
,
4280 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4281 PRPC_MESSAGE pRpcMessage
,
4282 DWORD
* pdwStubPhase
);
4283 HRESULT CALLBACK
ICreateTypeInfo_AddFuncDesc_Proxy(
4284 ICreateTypeInfo
* This
,
4286 FUNCDESC
* pFuncDesc
);
4287 void __RPC_STUB
ICreateTypeInfo_AddFuncDesc_Stub(
4288 struct IRpcStubBuffer
* This
,
4289 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4290 PRPC_MESSAGE pRpcMessage
,
4291 DWORD
* pdwStubPhase
);
4292 HRESULT CALLBACK
ICreateTypeInfo_AddImplType_Proxy(
4293 ICreateTypeInfo
* This
,
4296 void __RPC_STUB
ICreateTypeInfo_AddImplType_Stub(
4297 struct IRpcStubBuffer
* This
,
4298 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4299 PRPC_MESSAGE pRpcMessage
,
4300 DWORD
* pdwStubPhase
);
4301 HRESULT CALLBACK
ICreateTypeInfo_SetImplTypeFlags_Proxy(
4302 ICreateTypeInfo
* This
,
4305 void __RPC_STUB
ICreateTypeInfo_SetImplTypeFlags_Stub(
4306 struct IRpcStubBuffer
* This
,
4307 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4308 PRPC_MESSAGE pRpcMessage
,
4309 DWORD
* pdwStubPhase
);
4310 HRESULT CALLBACK
ICreateTypeInfo_SetAlignment_Proxy(
4311 ICreateTypeInfo
* This
,
4313 void __RPC_STUB
ICreateTypeInfo_SetAlignment_Stub(
4314 struct IRpcStubBuffer
* This
,
4315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4316 PRPC_MESSAGE pRpcMessage
,
4317 DWORD
* pdwStubPhase
);
4318 HRESULT CALLBACK
ICreateTypeInfo_SetSchema_Proxy(
4319 ICreateTypeInfo
* This
,
4320 LPOLESTR pStrSchema
);
4321 void __RPC_STUB
ICreateTypeInfo_SetSchema_Stub(
4322 struct IRpcStubBuffer
* This
,
4323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4324 PRPC_MESSAGE pRpcMessage
,
4325 DWORD
* pdwStubPhase
);
4326 HRESULT CALLBACK
ICreateTypeInfo_AddVarDesc_Proxy(
4327 ICreateTypeInfo
* This
,
4330 void __RPC_STUB
ICreateTypeInfo_AddVarDesc_Stub(
4331 struct IRpcStubBuffer
* This
,
4332 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4333 PRPC_MESSAGE pRpcMessage
,
4334 DWORD
* pdwStubPhase
);
4335 HRESULT CALLBACK
ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4336 ICreateTypeInfo
* This
,
4338 LPOLESTR
* rgszNames
,
4340 void __RPC_STUB
ICreateTypeInfo_SetFuncAndParamNames_Stub(
4341 struct IRpcStubBuffer
* This
,
4342 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4343 PRPC_MESSAGE pRpcMessage
,
4344 DWORD
* pdwStubPhase
);
4345 HRESULT CALLBACK
ICreateTypeInfo_SetVarName_Proxy(
4346 ICreateTypeInfo
* This
,
4349 void __RPC_STUB
ICreateTypeInfo_SetVarName_Stub(
4350 struct IRpcStubBuffer
* This
,
4351 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4352 PRPC_MESSAGE pRpcMessage
,
4353 DWORD
* pdwStubPhase
);
4354 HRESULT CALLBACK
ICreateTypeInfo_SetTypeDescAlias_Proxy(
4355 ICreateTypeInfo
* This
,
4356 TYPEDESC
* pTDescAlias
);
4357 void __RPC_STUB
ICreateTypeInfo_SetTypeDescAlias_Stub(
4358 struct IRpcStubBuffer
* This
,
4359 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4360 PRPC_MESSAGE pRpcMessage
,
4361 DWORD
* pdwStubPhase
);
4362 HRESULT CALLBACK
ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4363 ICreateTypeInfo
* This
,
4366 LPOLESTR szProcName
);
4367 void __RPC_STUB
ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4368 struct IRpcStubBuffer
* This
,
4369 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4370 PRPC_MESSAGE pRpcMessage
,
4371 DWORD
* pdwStubPhase
);
4372 HRESULT CALLBACK
ICreateTypeInfo_SetFuncDocString_Proxy(
4373 ICreateTypeInfo
* This
,
4375 LPOLESTR szDocString
);
4376 void __RPC_STUB
ICreateTypeInfo_SetFuncDocString_Stub(
4377 struct IRpcStubBuffer
* This
,
4378 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4379 PRPC_MESSAGE pRpcMessage
,
4380 DWORD
* pdwStubPhase
);
4381 HRESULT CALLBACK
ICreateTypeInfo_SetVarDocString_Proxy(
4382 ICreateTypeInfo
* This
,
4384 LPOLESTR szDocString
);
4385 void __RPC_STUB
ICreateTypeInfo_SetVarDocString_Stub(
4386 struct IRpcStubBuffer
* This
,
4387 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4388 PRPC_MESSAGE pRpcMessage
,
4389 DWORD
* pdwStubPhase
);
4390 HRESULT CALLBACK
ICreateTypeInfo_SetFuncHelpContext_Proxy(
4391 ICreateTypeInfo
* This
,
4393 DWORD dwHelpContext
);
4394 void __RPC_STUB
ICreateTypeInfo_SetFuncHelpContext_Stub(
4395 struct IRpcStubBuffer
* This
,
4396 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4397 PRPC_MESSAGE pRpcMessage
,
4398 DWORD
* pdwStubPhase
);
4399 HRESULT CALLBACK
ICreateTypeInfo_SetVarHelpContext_Proxy(
4400 ICreateTypeInfo
* This
,
4402 DWORD dwHelpContext
);
4403 void __RPC_STUB
ICreateTypeInfo_SetVarHelpContext_Stub(
4404 struct IRpcStubBuffer
* This
,
4405 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4406 PRPC_MESSAGE pRpcMessage
,
4407 DWORD
* pdwStubPhase
);
4408 HRESULT CALLBACK
ICreateTypeInfo_SetMops_Proxy(
4409 ICreateTypeInfo
* This
,
4412 void __RPC_STUB
ICreateTypeInfo_SetMops_Stub(
4413 struct IRpcStubBuffer
* This
,
4414 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4415 PRPC_MESSAGE pRpcMessage
,
4416 DWORD
* pdwStubPhase
);
4417 HRESULT CALLBACK
ICreateTypeInfo_SetTypeIdldesc_Proxy(
4418 ICreateTypeInfo
* This
,
4420 void __RPC_STUB
ICreateTypeInfo_SetTypeIdldesc_Stub(
4421 struct IRpcStubBuffer
* This
,
4422 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4423 PRPC_MESSAGE pRpcMessage
,
4424 DWORD
* pdwStubPhase
);
4425 HRESULT CALLBACK
ICreateTypeInfo_LayOut_Proxy(
4426 ICreateTypeInfo
* This
);
4427 void __RPC_STUB
ICreateTypeInfo_LayOut_Stub(
4428 struct IRpcStubBuffer
* This
,
4429 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4430 PRPC_MESSAGE pRpcMessage
,
4431 DWORD
* pdwStubPhase
);
4433 #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
4435 #ifndef __ICreateTypeInfo2_FWD_DEFINED__
4436 #define __ICreateTypeInfo2_FWD_DEFINED__
4437 typedef struct ICreateTypeInfo2 ICreateTypeInfo2
;
4440 typedef ICreateTypeInfo2
*LPCREATETYPEINFO2
;
4442 /*****************************************************************************
4443 * ICreateTypeInfo2 interface
4445 #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
4446 #define __ICreateTypeInfo2_INTERFACE_DEFINED__
4448 DEFINE_GUID(IID_ICreateTypeInfo2
, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4449 #if defined(__cplusplus) && !defined(CINTERFACE)
4450 struct ICreateTypeInfo2
: public ICreateTypeInfo
4452 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDesc(
4455 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDescByMemId(
4457 INVOKEKIND invKind
) = 0;
4459 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDesc(
4462 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDescByMemId(
4463 MEMBERID memid
) = 0;
4465 virtual HRESULT STDMETHODCALLTYPE
DeleteImplType(
4468 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
4470 VARIANT
* pVarVal
) = 0;
4472 virtual HRESULT STDMETHODCALLTYPE
SetFuncCustData(
4475 VARIANT
* pVarVal
) = 0;
4477 virtual HRESULT STDMETHODCALLTYPE
SetParamCustData(
4481 VARIANT
* pVarVal
) = 0;
4483 virtual HRESULT STDMETHODCALLTYPE
SetVarCustData(
4486 VARIANT
* pVarVal
) = 0;
4488 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeCustData(
4491 VARIANT
* pVarVal
) = 0;
4493 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
4494 ULONG dwHelpStringContext
) = 0;
4496 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpStringContext(
4498 ULONG dwHelpStringContext
) = 0;
4500 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpStringContext(
4502 ULONG dwHelpStringContext
) = 0;
4504 virtual HRESULT STDMETHODCALLTYPE
Invalidate(
4507 virtual HRESULT STDMETHODCALLTYPE
SetName(
4508 LPOLESTR szName
) = 0;
4512 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl
;
4513 struct ICreateTypeInfo2
{
4514 const ICreateTypeInfo2Vtbl
* lpVtbl
;
4516 struct ICreateTypeInfo2Vtbl
{
4519 /*** IUnknown methods ***/
4520 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4521 ICreateTypeInfo2
* This
,
4525 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4526 ICreateTypeInfo2
* This
);
4528 ULONG (STDMETHODCALLTYPE
*Release
)(
4529 ICreateTypeInfo2
* This
);
4531 /*** ICreateTypeInfo methods ***/
4532 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4533 ICreateTypeInfo2
* This
,
4536 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4537 ICreateTypeInfo2
* This
,
4540 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4541 ICreateTypeInfo2
* This
,
4544 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4545 ICreateTypeInfo2
* This
,
4546 DWORD dwHelpContext
);
4548 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4549 ICreateTypeInfo2
* This
,
4553 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4554 ICreateTypeInfo2
* This
,
4556 HREFTYPE
* phRefType
);
4558 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4559 ICreateTypeInfo2
* This
,
4561 FUNCDESC
* pFuncDesc
);
4563 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4564 ICreateTypeInfo2
* This
,
4568 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4569 ICreateTypeInfo2
* This
,
4573 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4574 ICreateTypeInfo2
* This
,
4577 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4578 ICreateTypeInfo2
* This
,
4579 LPOLESTR pStrSchema
);
4581 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4582 ICreateTypeInfo2
* This
,
4586 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4587 ICreateTypeInfo2
* This
,
4589 LPOLESTR
* rgszNames
,
4592 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4593 ICreateTypeInfo2
* This
,
4597 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4598 ICreateTypeInfo2
* This
,
4599 TYPEDESC
* pTDescAlias
);
4601 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4602 ICreateTypeInfo2
* This
,
4605 LPOLESTR szProcName
);
4607 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4608 ICreateTypeInfo2
* This
,
4610 LPOLESTR szDocString
);
4612 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4613 ICreateTypeInfo2
* This
,
4615 LPOLESTR szDocString
);
4617 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4618 ICreateTypeInfo2
* This
,
4620 DWORD dwHelpContext
);
4622 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4623 ICreateTypeInfo2
* This
,
4625 DWORD dwHelpContext
);
4627 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4628 ICreateTypeInfo2
* This
,
4632 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4633 ICreateTypeInfo2
* This
,
4636 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4637 ICreateTypeInfo2
* This
);
4639 /*** ICreateTypeInfo2 methods ***/
4640 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDesc
)(
4641 ICreateTypeInfo2
* This
,
4644 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDescByMemId
)(
4645 ICreateTypeInfo2
* This
,
4647 INVOKEKIND invKind
);
4649 HRESULT (STDMETHODCALLTYPE
*DeleteVarDesc
)(
4650 ICreateTypeInfo2
* This
,
4653 HRESULT (STDMETHODCALLTYPE
*DeleteVarDescByMemId
)(
4654 ICreateTypeInfo2
* This
,
4657 HRESULT (STDMETHODCALLTYPE
*DeleteImplType
)(
4658 ICreateTypeInfo2
* This
,
4661 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
4662 ICreateTypeInfo2
* This
,
4666 HRESULT (STDMETHODCALLTYPE
*SetFuncCustData
)(
4667 ICreateTypeInfo2
* This
,
4672 HRESULT (STDMETHODCALLTYPE
*SetParamCustData
)(
4673 ICreateTypeInfo2
* This
,
4679 HRESULT (STDMETHODCALLTYPE
*SetVarCustData
)(
4680 ICreateTypeInfo2
* This
,
4685 HRESULT (STDMETHODCALLTYPE
*SetImplTypeCustData
)(
4686 ICreateTypeInfo2
* This
,
4691 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
4692 ICreateTypeInfo2
* This
,
4693 ULONG dwHelpStringContext
);
4695 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpStringContext
)(
4696 ICreateTypeInfo2
* This
,
4698 ULONG dwHelpStringContext
);
4700 HRESULT (STDMETHODCALLTYPE
*SetVarHelpStringContext
)(
4701 ICreateTypeInfo2
* This
,
4703 ULONG dwHelpStringContext
);
4705 HRESULT (STDMETHODCALLTYPE
*Invalidate
)(
4706 ICreateTypeInfo2
* This
);
4708 HRESULT (STDMETHODCALLTYPE
*SetName
)(
4709 ICreateTypeInfo2
* This
,
4716 /*** IUnknown methods ***/
4717 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4718 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4719 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4720 /*** ICreateTypeInfo methods ***/
4721 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4722 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4723 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4724 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4725 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4726 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4727 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4728 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4729 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4730 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4731 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4732 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4733 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4734 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4735 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4736 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4737 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4738 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4739 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4740 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4741 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4742 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4743 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4744 /*** ICreateTypeInfo2 methods ***/
4745 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4746 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4747 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4748 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4749 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4750 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4751 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4752 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4753 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4754 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4755 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4756 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4757 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4758 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4759 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4764 #define ICreateTypeInfo2_METHODS \
4765 /*** IUnknown methods ***/ \
4766 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4767 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4768 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4769 /*** ICreateTypeInfo methods ***/ \
4770 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4771 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4772 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4773 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4774 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4775 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4776 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4777 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4778 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4779 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4780 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4781 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4782 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4783 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4784 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4785 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4786 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4787 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4788 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4789 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4790 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4791 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4792 STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
4793 /*** ICreateTypeInfo2 methods ***/ \
4794 STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
4795 STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
4796 STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
4797 STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
4798 STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
4799 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
4800 STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4801 STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
4802 STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4803 STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4804 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
4805 STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4806 STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4807 STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
4808 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
4810 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4811 ICreateTypeInfo2
* This
,
4813 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDesc_Stub(
4814 struct IRpcStubBuffer
* This
,
4815 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4816 PRPC_MESSAGE pRpcMessage
,
4817 DWORD
* pdwStubPhase
);
4818 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4819 ICreateTypeInfo2
* This
,
4821 INVOKEKIND invKind
);
4822 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4823 struct IRpcStubBuffer
* This
,
4824 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4825 PRPC_MESSAGE pRpcMessage
,
4826 DWORD
* pdwStubPhase
);
4827 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDesc_Proxy(
4828 ICreateTypeInfo2
* This
,
4830 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDesc_Stub(
4831 struct IRpcStubBuffer
* This
,
4832 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4833 PRPC_MESSAGE pRpcMessage
,
4834 DWORD
* pdwStubPhase
);
4835 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4836 ICreateTypeInfo2
* This
,
4838 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4839 struct IRpcStubBuffer
* This
,
4840 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4841 PRPC_MESSAGE pRpcMessage
,
4842 DWORD
* pdwStubPhase
);
4843 HRESULT CALLBACK
ICreateTypeInfo2_DeleteImplType_Proxy(
4844 ICreateTypeInfo2
* This
,
4846 void __RPC_STUB
ICreateTypeInfo2_DeleteImplType_Stub(
4847 struct IRpcStubBuffer
* This
,
4848 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4849 PRPC_MESSAGE pRpcMessage
,
4850 DWORD
* pdwStubPhase
);
4851 HRESULT CALLBACK
ICreateTypeInfo2_SetCustData_Proxy(
4852 ICreateTypeInfo2
* This
,
4855 void __RPC_STUB
ICreateTypeInfo2_SetCustData_Stub(
4856 struct IRpcStubBuffer
* This
,
4857 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4858 PRPC_MESSAGE pRpcMessage
,
4859 DWORD
* pdwStubPhase
);
4860 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncCustData_Proxy(
4861 ICreateTypeInfo2
* This
,
4865 void __RPC_STUB
ICreateTypeInfo2_SetFuncCustData_Stub(
4866 struct IRpcStubBuffer
* This
,
4867 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4868 PRPC_MESSAGE pRpcMessage
,
4869 DWORD
* pdwStubPhase
);
4870 HRESULT CALLBACK
ICreateTypeInfo2_SetParamCustData_Proxy(
4871 ICreateTypeInfo2
* This
,
4876 void __RPC_STUB
ICreateTypeInfo2_SetParamCustData_Stub(
4877 struct IRpcStubBuffer
* This
,
4878 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4879 PRPC_MESSAGE pRpcMessage
,
4880 DWORD
* pdwStubPhase
);
4881 HRESULT CALLBACK
ICreateTypeInfo2_SetVarCustData_Proxy(
4882 ICreateTypeInfo2
* This
,
4886 void __RPC_STUB
ICreateTypeInfo2_SetVarCustData_Stub(
4887 struct IRpcStubBuffer
* This
,
4888 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4889 PRPC_MESSAGE pRpcMessage
,
4890 DWORD
* pdwStubPhase
);
4891 HRESULT CALLBACK
ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4892 ICreateTypeInfo2
* This
,
4896 void __RPC_STUB
ICreateTypeInfo2_SetImplTypeCustData_Stub(
4897 struct IRpcStubBuffer
* This
,
4898 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4899 PRPC_MESSAGE pRpcMessage
,
4900 DWORD
* pdwStubPhase
);
4901 HRESULT CALLBACK
ICreateTypeInfo2_SetHelpStringContext_Proxy(
4902 ICreateTypeInfo2
* This
,
4903 ULONG dwHelpStringContext
);
4904 void __RPC_STUB
ICreateTypeInfo2_SetHelpStringContext_Stub(
4905 struct IRpcStubBuffer
* This
,
4906 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4907 PRPC_MESSAGE pRpcMessage
,
4908 DWORD
* pdwStubPhase
);
4909 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4910 ICreateTypeInfo2
* This
,
4912 ULONG dwHelpStringContext
);
4913 void __RPC_STUB
ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4914 struct IRpcStubBuffer
* This
,
4915 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4916 PRPC_MESSAGE pRpcMessage
,
4917 DWORD
* pdwStubPhase
);
4918 HRESULT CALLBACK
ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4919 ICreateTypeInfo2
* This
,
4921 ULONG dwHelpStringContext
);
4922 void __RPC_STUB
ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4923 struct IRpcStubBuffer
* This
,
4924 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4925 PRPC_MESSAGE pRpcMessage
,
4926 DWORD
* pdwStubPhase
);
4927 HRESULT CALLBACK
ICreateTypeInfo2_Invalidate_Proxy(
4928 ICreateTypeInfo2
* This
);
4929 void __RPC_STUB
ICreateTypeInfo2_Invalidate_Stub(
4930 struct IRpcStubBuffer
* This
,
4931 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4932 PRPC_MESSAGE pRpcMessage
,
4933 DWORD
* pdwStubPhase
);
4934 HRESULT CALLBACK
ICreateTypeInfo2_SetName_Proxy(
4935 ICreateTypeInfo2
* This
,
4937 void __RPC_STUB
ICreateTypeInfo2_SetName_Stub(
4938 struct IRpcStubBuffer
* This
,
4939 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4940 PRPC_MESSAGE pRpcMessage
,
4941 DWORD
* pdwStubPhase
);
4943 #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
4945 #ifndef __ICreateTypeLib_FWD_DEFINED__
4946 #define __ICreateTypeLib_FWD_DEFINED__
4947 typedef struct ICreateTypeLib ICreateTypeLib
;
4950 typedef ICreateTypeLib
*LPCREATETYPELIB
;
4952 /*****************************************************************************
4953 * ICreateTypeLib interface
4955 #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
4956 #define __ICreateTypeLib_INTERFACE_DEFINED__
4958 DEFINE_GUID(IID_ICreateTypeLib
, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4959 #if defined(__cplusplus) && !defined(CINTERFACE)
4960 struct ICreateTypeLib
: public IUnknown
4962 virtual HRESULT STDMETHODCALLTYPE
CreateTypeInfo(
4965 ICreateTypeInfo
** ppCTInfo
) = 0;
4967 virtual HRESULT STDMETHODCALLTYPE
SetName(
4968 LPOLESTR szName
) = 0;
4970 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
4972 WORD wMinorVerNum
) = 0;
4974 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
4977 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
4978 LPOLESTR szDoc
) = 0;
4980 virtual HRESULT STDMETHODCALLTYPE
SetHelpFileName(
4981 LPOLESTR szHelpFileName
) = 0;
4983 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
4984 DWORD dwHelpContext
) = 0;
4986 virtual HRESULT STDMETHODCALLTYPE
SetLcid(
4989 virtual HRESULT STDMETHODCALLTYPE
SetLibFlags(
4990 UINT uLibFlags
) = 0;
4992 virtual HRESULT STDMETHODCALLTYPE
SaveAllChanges(
4997 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl
;
4998 struct ICreateTypeLib
{
4999 const ICreateTypeLibVtbl
* lpVtbl
;
5001 struct ICreateTypeLibVtbl
{
5004 /*** IUnknown methods ***/
5005 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5006 ICreateTypeLib
* This
,
5010 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5011 ICreateTypeLib
* This
);
5013 ULONG (STDMETHODCALLTYPE
*Release
)(
5014 ICreateTypeLib
* This
);
5016 /*** ICreateTypeLib methods ***/
5017 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
5018 ICreateTypeLib
* This
,
5021 ICreateTypeInfo
** ppCTInfo
);
5023 HRESULT (STDMETHODCALLTYPE
*SetName
)(
5024 ICreateTypeLib
* This
,
5027 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
5028 ICreateTypeLib
* This
,
5032 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
5033 ICreateTypeLib
* This
,
5036 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
5037 ICreateTypeLib
* This
,
5040 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5041 ICreateTypeLib
* This
,
5042 LPOLESTR szHelpFileName
);
5044 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5045 ICreateTypeLib
* This
,
5046 DWORD dwHelpContext
);
5048 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5049 ICreateTypeLib
* This
,
5052 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5053 ICreateTypeLib
* This
,
5056 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5057 ICreateTypeLib
* This
);
5063 /*** IUnknown methods ***/
5064 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5065 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
5066 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
5067 /*** ICreateTypeLib methods ***/
5068 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5069 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5070 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5071 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5072 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5073 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5074 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5075 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5076 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5077 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5082 #define ICreateTypeLib_METHODS \
5083 /*** IUnknown methods ***/ \
5084 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5085 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5086 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5087 /*** ICreateTypeLib methods ***/ \
5088 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5089 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5090 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5091 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5092 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5093 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5094 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5095 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5096 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5097 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
5099 HRESULT CALLBACK
ICreateTypeLib_CreateTypeInfo_Proxy(
5100 ICreateTypeLib
* This
,
5103 ICreateTypeInfo
** ppCTInfo
);
5104 void __RPC_STUB
ICreateTypeLib_CreateTypeInfo_Stub(
5105 struct IRpcStubBuffer
* This
,
5106 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5107 PRPC_MESSAGE pRpcMessage
,
5108 DWORD
* pdwStubPhase
);
5109 HRESULT CALLBACK
ICreateTypeLib_SetName_Proxy(
5110 ICreateTypeLib
* This
,
5112 void __RPC_STUB
ICreateTypeLib_SetName_Stub(
5113 struct IRpcStubBuffer
* This
,
5114 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5115 PRPC_MESSAGE pRpcMessage
,
5116 DWORD
* pdwStubPhase
);
5117 HRESULT CALLBACK
ICreateTypeLib_SetVersion_Proxy(
5118 ICreateTypeLib
* This
,
5121 void __RPC_STUB
ICreateTypeLib_SetVersion_Stub(
5122 struct IRpcStubBuffer
* This
,
5123 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5124 PRPC_MESSAGE pRpcMessage
,
5125 DWORD
* pdwStubPhase
);
5126 HRESULT CALLBACK
ICreateTypeLib_SetGuid_Proxy(
5127 ICreateTypeLib
* This
,
5129 void __RPC_STUB
ICreateTypeLib_SetGuid_Stub(
5130 struct IRpcStubBuffer
* This
,
5131 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5132 PRPC_MESSAGE pRpcMessage
,
5133 DWORD
* pdwStubPhase
);
5134 HRESULT CALLBACK
ICreateTypeLib_SetDocString_Proxy(
5135 ICreateTypeLib
* This
,
5137 void __RPC_STUB
ICreateTypeLib_SetDocString_Stub(
5138 struct IRpcStubBuffer
* This
,
5139 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5140 PRPC_MESSAGE pRpcMessage
,
5141 DWORD
* pdwStubPhase
);
5142 HRESULT CALLBACK
ICreateTypeLib_SetHelpFileName_Proxy(
5143 ICreateTypeLib
* This
,
5144 LPOLESTR szHelpFileName
);
5145 void __RPC_STUB
ICreateTypeLib_SetHelpFileName_Stub(
5146 struct IRpcStubBuffer
* This
,
5147 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5148 PRPC_MESSAGE pRpcMessage
,
5149 DWORD
* pdwStubPhase
);
5150 HRESULT CALLBACK
ICreateTypeLib_SetHelpContext_Proxy(
5151 ICreateTypeLib
* This
,
5152 DWORD dwHelpContext
);
5153 void __RPC_STUB
ICreateTypeLib_SetHelpContext_Stub(
5154 struct IRpcStubBuffer
* This
,
5155 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5156 PRPC_MESSAGE pRpcMessage
,
5157 DWORD
* pdwStubPhase
);
5158 HRESULT CALLBACK
ICreateTypeLib_SetLcid_Proxy(
5159 ICreateTypeLib
* This
,
5161 void __RPC_STUB
ICreateTypeLib_SetLcid_Stub(
5162 struct IRpcStubBuffer
* This
,
5163 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5164 PRPC_MESSAGE pRpcMessage
,
5165 DWORD
* pdwStubPhase
);
5166 HRESULT CALLBACK
ICreateTypeLib_SetLibFlags_Proxy(
5167 ICreateTypeLib
* This
,
5169 void __RPC_STUB
ICreateTypeLib_SetLibFlags_Stub(
5170 struct IRpcStubBuffer
* This
,
5171 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5172 PRPC_MESSAGE pRpcMessage
,
5173 DWORD
* pdwStubPhase
);
5174 HRESULT CALLBACK
ICreateTypeLib_SaveAllChanges_Proxy(
5175 ICreateTypeLib
* This
);
5176 void __RPC_STUB
ICreateTypeLib_SaveAllChanges_Stub(
5177 struct IRpcStubBuffer
* This
,
5178 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5179 PRPC_MESSAGE pRpcMessage
,
5180 DWORD
* pdwStubPhase
);
5182 #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
5184 #ifndef __ICreateTypeLib2_FWD_DEFINED__
5185 #define __ICreateTypeLib2_FWD_DEFINED__
5186 typedef struct ICreateTypeLib2 ICreateTypeLib2
;
5189 typedef ICreateTypeLib2
*LPCREATETYPELIB2
;
5191 /*****************************************************************************
5192 * ICreateTypeLib2 interface
5194 #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
5195 #define __ICreateTypeLib2_INTERFACE_DEFINED__
5197 DEFINE_GUID(IID_ICreateTypeLib2
, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5198 #if defined(__cplusplus) && !defined(CINTERFACE)
5199 struct ICreateTypeLib2
: public ICreateTypeLib
5201 virtual HRESULT STDMETHODCALLTYPE
DeleteTypeInfo(
5202 LPOLESTR szName
) = 0;
5204 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
5206 VARIANT
* pVarVal
) = 0;
5208 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
5209 ULONG dwHelpStringContext
) = 0;
5211 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringDll(
5212 LPOLESTR szFileName
) = 0;
5216 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl
;
5217 struct ICreateTypeLib2
{
5218 const ICreateTypeLib2Vtbl
* lpVtbl
;
5220 struct ICreateTypeLib2Vtbl
{
5223 /*** IUnknown methods ***/
5224 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5225 ICreateTypeLib2
* This
,
5229 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5230 ICreateTypeLib2
* This
);
5232 ULONG (STDMETHODCALLTYPE
*Release
)(
5233 ICreateTypeLib2
* This
);
5235 /*** ICreateTypeLib methods ***/
5236 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
5237 ICreateTypeLib2
* This
,
5240 ICreateTypeInfo
** ppCTInfo
);
5242 HRESULT (STDMETHODCALLTYPE
*SetName
)(
5243 ICreateTypeLib2
* This
,
5246 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
5247 ICreateTypeLib2
* This
,
5251 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
5252 ICreateTypeLib2
* This
,
5255 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
5256 ICreateTypeLib2
* This
,
5259 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5260 ICreateTypeLib2
* This
,
5261 LPOLESTR szHelpFileName
);
5263 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5264 ICreateTypeLib2
* This
,
5265 DWORD dwHelpContext
);
5267 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5268 ICreateTypeLib2
* This
,
5271 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5272 ICreateTypeLib2
* This
,
5275 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5276 ICreateTypeLib2
* This
);
5278 /*** ICreateTypeLib2 methods ***/
5279 HRESULT (STDMETHODCALLTYPE
*DeleteTypeInfo
)(
5280 ICreateTypeLib2
* This
,
5283 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
5284 ICreateTypeLib2
* This
,
5288 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
5289 ICreateTypeLib2
* This
,
5290 ULONG dwHelpStringContext
);
5292 HRESULT (STDMETHODCALLTYPE
*SetHelpStringDll
)(
5293 ICreateTypeLib2
* This
,
5294 LPOLESTR szFileName
);
5300 /*** IUnknown methods ***/
5301 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5302 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5303 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5304 /*** ICreateTypeLib methods ***/
5305 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5306 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5307 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5308 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5309 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5310 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5311 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5312 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5313 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5314 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5315 /*** ICreateTypeLib2 methods ***/
5316 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5317 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5318 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5319 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5324 #define ICreateTypeLib2_METHODS \
5325 /*** IUnknown methods ***/ \
5326 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5327 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5328 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5329 /*** ICreateTypeLib methods ***/ \
5330 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5331 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5332 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5333 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5334 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5335 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5336 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5337 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5338 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5339 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
5340 /*** ICreateTypeLib2 methods ***/ \
5341 STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
5342 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
5343 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
5344 STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
5346 HRESULT CALLBACK
ICreateTypeLib2_DeleteTypeInfo_Proxy(
5347 ICreateTypeLib2
* This
,
5349 void __RPC_STUB
ICreateTypeLib2_DeleteTypeInfo_Stub(
5350 struct IRpcStubBuffer
* This
,
5351 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5352 PRPC_MESSAGE pRpcMessage
,
5353 DWORD
* pdwStubPhase
);
5354 HRESULT CALLBACK
ICreateTypeLib2_SetCustData_Proxy(
5355 ICreateTypeLib2
* This
,
5358 void __RPC_STUB
ICreateTypeLib2_SetCustData_Stub(
5359 struct IRpcStubBuffer
* This
,
5360 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5361 PRPC_MESSAGE pRpcMessage
,
5362 DWORD
* pdwStubPhase
);
5363 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringContext_Proxy(
5364 ICreateTypeLib2
* This
,
5365 ULONG dwHelpStringContext
);
5366 void __RPC_STUB
ICreateTypeLib2_SetHelpStringContext_Stub(
5367 struct IRpcStubBuffer
* This
,
5368 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5369 PRPC_MESSAGE pRpcMessage
,
5370 DWORD
* pdwStubPhase
);
5371 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringDll_Proxy(
5372 ICreateTypeLib2
* This
,
5373 LPOLESTR szFileName
);
5374 void __RPC_STUB
ICreateTypeLib2_SetHelpStringDll_Stub(
5375 struct IRpcStubBuffer
* This
,
5376 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5377 PRPC_MESSAGE pRpcMessage
,
5378 DWORD
* pdwStubPhase
);
5380 #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
5382 #ifndef __IErrorLog_FWD_DEFINED__
5383 #define __IErrorLog_FWD_DEFINED__
5384 typedef struct IErrorLog IErrorLog
;
5387 typedef IErrorLog
*LPERRORLOG
;
5389 /*****************************************************************************
5390 * IErrorLog interface
5392 #ifndef __IErrorLog_INTERFACE_DEFINED__
5393 #define __IErrorLog_INTERFACE_DEFINED__
5395 DEFINE_GUID(IID_IErrorLog
, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
5396 #if defined(__cplusplus) && !defined(CINTERFACE)
5397 struct IErrorLog
: public IUnknown
5399 virtual HRESULT STDMETHODCALLTYPE
AddError(
5400 LPCOLESTR pszPropName
,
5401 EXCEPINFO
* pExcepInfo
) = 0;
5405 typedef struct IErrorLogVtbl IErrorLogVtbl
;
5407 const IErrorLogVtbl
* lpVtbl
;
5409 struct IErrorLogVtbl
{
5412 /*** IUnknown methods ***/
5413 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5418 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5421 ULONG (STDMETHODCALLTYPE
*Release
)(
5424 /*** IErrorLog methods ***/
5425 HRESULT (STDMETHODCALLTYPE
*AddError
)(
5427 LPCOLESTR pszPropName
,
5428 EXCEPINFO
* pExcepInfo
);
5434 /*** IUnknown methods ***/
5435 #define IErrorLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5436 #define IErrorLog_AddRef(p) (p)->lpVtbl->AddRef(p)
5437 #define IErrorLog_Release(p) (p)->lpVtbl->Release(p)
5438 /*** IErrorLog methods ***/
5439 #define IErrorLog_AddError(p,a,b) (p)->lpVtbl->AddError(p,a,b)
5444 #define IErrorLog_METHODS \
5445 /*** IUnknown methods ***/ \
5446 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5447 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5448 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5449 /*** IErrorLog methods ***/ \
5450 STDMETHOD_(HRESULT,AddError)(THIS_ LPCOLESTR pszPropName, EXCEPINFO* pExcepInfo) PURE;
5452 HRESULT CALLBACK
IErrorLog_AddError_Proxy(
5454 LPCOLESTR pszPropName
,
5455 EXCEPINFO
* pExcepInfo
);
5456 void __RPC_STUB
IErrorLog_AddError_Stub(
5457 struct IRpcStubBuffer
* This
,
5458 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5459 PRPC_MESSAGE pRpcMessage
,
5460 DWORD
* pdwStubPhase
);
5462 #endif /* __IErrorLog_INTERFACE_DEFINED__ */
5464 #ifndef __IPropertyBag_FWD_DEFINED__
5465 #define __IPropertyBag_FWD_DEFINED__
5466 typedef struct IPropertyBag IPropertyBag
;
5469 typedef IPropertyBag
*LPPROPERTYBAG
;
5471 /*****************************************************************************
5472 * IPropertyBag interface
5474 #ifndef __IPropertyBag_INTERFACE_DEFINED__
5475 #define __IPropertyBag_INTERFACE_DEFINED__
5477 DEFINE_GUID(IID_IPropertyBag
, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
5478 #if defined(__cplusplus) && !defined(CINTERFACE)
5479 struct IPropertyBag
: public IUnknown
5481 virtual HRESULT STDMETHODCALLTYPE
Read(
5482 LPCOLESTR pszPropName
,
5484 IErrorLog
* pErrorLog
) = 0;
5486 virtual HRESULT STDMETHODCALLTYPE
Write(
5487 LPCOLESTR pszPropName
,
5492 typedef struct IPropertyBagVtbl IPropertyBagVtbl
;
5493 struct IPropertyBag
{
5494 const IPropertyBagVtbl
* lpVtbl
;
5496 struct IPropertyBagVtbl
{
5499 /*** IUnknown methods ***/
5500 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5505 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5506 IPropertyBag
* This
);
5508 ULONG (STDMETHODCALLTYPE
*Release
)(
5509 IPropertyBag
* This
);
5511 /*** IPropertyBag methods ***/
5512 HRESULT (STDMETHODCALLTYPE
*Read
)(
5514 LPCOLESTR pszPropName
,
5516 IErrorLog
* pErrorLog
);
5518 HRESULT (STDMETHODCALLTYPE
*Write
)(
5520 LPCOLESTR pszPropName
,
5527 /*** IUnknown methods ***/
5528 #define IPropertyBag_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5529 #define IPropertyBag_AddRef(p) (p)->lpVtbl->AddRef(p)
5530 #define IPropertyBag_Release(p) (p)->lpVtbl->Release(p)
5531 /*** IPropertyBag methods ***/
5532 #define IPropertyBag_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
5533 #define IPropertyBag_Write(p,a,b) (p)->lpVtbl->Write(p,a,b)
5538 #define IPropertyBag_METHODS \
5539 /*** IUnknown methods ***/ \
5540 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5541 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5542 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5543 /*** IPropertyBag methods ***/ \
5544 STDMETHOD_(HRESULT,Read)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog) PURE; \
5545 STDMETHOD_(HRESULT,Write)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar) PURE;
5547 HRESULT CALLBACK
IPropertyBag_RemoteRead_Proxy(
5549 LPCOLESTR pszPropName
,
5551 IErrorLog
* pErrorLog
,
5554 void __RPC_STUB
IPropertyBag_RemoteRead_Stub(
5555 struct IRpcStubBuffer
* This
,
5556 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5557 PRPC_MESSAGE pRpcMessage
,
5558 DWORD
* pdwStubPhase
);
5559 HRESULT CALLBACK
IPropertyBag_Read_Proxy(
5561 LPCOLESTR pszPropName
,
5563 IErrorLog
* pErrorLog
);
5564 HRESULT __RPC_STUB
IPropertyBag_Read_Stub(
5566 LPCOLESTR pszPropName
,
5568 IErrorLog
* pErrorLog
,
5571 HRESULT CALLBACK
IPropertyBag_Write_Proxy(
5573 LPCOLESTR pszPropName
,
5575 void __RPC_STUB
IPropertyBag_Write_Stub(
5576 struct IRpcStubBuffer
* This
,
5577 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5578 PRPC_MESSAGE pRpcMessage
,
5579 DWORD
* pdwStubPhase
);
5581 #endif /* __IPropertyBag_INTERFACE_DEFINED__ */
5586 #endif /* __WIDL_OAIDL_H */