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
{
645 ICOM_MSVTABLE_COMPAT_FIELDS
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
,
691 /*** IUnknown methods ***/
692 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
693 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
694 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
695 /*** IDispatch methods ***/
696 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
697 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
698 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
699 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
703 #define IDispatch_METHODS \
704 ICOM_MSVTABLE_COMPAT_FIELDS \
705 /*** IUnknown methods ***/ \
706 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
707 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
708 STDMETHOD_(ULONG,Release)(THIS) PURE; \
709 /*** IDispatch methods ***/ \
710 STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
711 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
712 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
713 STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
715 HRESULT CALLBACK
IDispatch_GetTypeInfoCount_Proxy(
718 void __RPC_STUB
IDispatch_GetTypeInfoCount_Stub(
719 struct IRpcStubBuffer
* This
,
720 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
721 PRPC_MESSAGE pRpcMessage
,
722 DWORD
* pdwStubPhase
);
723 HRESULT CALLBACK
IDispatch_GetTypeInfo_Proxy(
727 ITypeInfo
** ppTInfo
);
728 void __RPC_STUB
IDispatch_GetTypeInfo_Stub(
729 struct IRpcStubBuffer
* This
,
730 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
731 PRPC_MESSAGE pRpcMessage
,
732 DWORD
* pdwStubPhase
);
733 HRESULT CALLBACK
IDispatch_GetIDsOfNames_Proxy(
740 void __RPC_STUB
IDispatch_GetIDsOfNames_Stub(
741 struct IRpcStubBuffer
* This
,
742 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
743 PRPC_MESSAGE pRpcMessage
,
744 DWORD
* pdwStubPhase
);
745 HRESULT CALLBACK
IDispatch_RemoteInvoke_Proxy(
751 DISPPARAMS
* pDispParams
,
753 EXCEPINFO
* pExcepInfo
,
757 VARIANTARG
* rgVarRef
);
758 void __RPC_STUB
IDispatch_RemoteInvoke_Stub(
759 struct IRpcStubBuffer
* This
,
760 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
761 PRPC_MESSAGE pRpcMessage
,
762 DWORD
* pdwStubPhase
);
763 HRESULT CALLBACK
IDispatch_Invoke_Proxy(
769 DISPPARAMS
* pDispParams
,
771 EXCEPINFO
* pExcepInfo
,
773 HRESULT __RPC_STUB
IDispatch_Invoke_Stub(
779 DISPPARAMS
* pDispParams
,
781 EXCEPINFO
* pExcepInfo
,
785 VARIANTARG
* rgVarRef
);
787 #endif /* __IDispatch_INTERFACE_DEFINED__ */
789 #ifndef __IEnumVARIANT_FWD_DEFINED__
790 #define __IEnumVARIANT_FWD_DEFINED__
791 typedef struct IEnumVARIANT IEnumVARIANT
;
794 typedef IEnumVARIANT
*LPENUMVARIANT
;
796 /*****************************************************************************
797 * IEnumVARIANT interface
799 #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
800 #define __IEnumVARIANT_INTERFACE_DEFINED__
802 DEFINE_GUID(IID_IEnumVARIANT
, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
803 #if defined(__cplusplus) && !defined(CINTERFACE)
804 struct IEnumVARIANT
: public IUnknown
806 virtual HRESULT STDMETHODCALLTYPE
Next(
809 ULONG
* pCeltFetched
) = 0;
811 virtual HRESULT STDMETHODCALLTYPE
Skip(
814 virtual HRESULT STDMETHODCALLTYPE
Reset(
817 virtual HRESULT STDMETHODCALLTYPE
Clone(
818 IEnumVARIANT
** ppEnum
) = 0;
822 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl
;
823 struct IEnumVARIANT
{
824 const IEnumVARIANTVtbl
* lpVtbl
;
826 struct IEnumVARIANTVtbl
{
827 ICOM_MSVTABLE_COMPAT_FIELDS
829 /*** IUnknown methods ***/
830 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
835 ULONG (STDMETHODCALLTYPE
*AddRef
)(
838 ULONG (STDMETHODCALLTYPE
*Release
)(
841 /*** IEnumVARIANT methods ***/
842 HRESULT (STDMETHODCALLTYPE
*Next
)(
846 ULONG
* pCeltFetched
);
848 HRESULT (STDMETHODCALLTYPE
*Skip
)(
852 HRESULT (STDMETHODCALLTYPE
*Reset
)(
855 HRESULT (STDMETHODCALLTYPE
*Clone
)(
857 IEnumVARIANT
** ppEnum
);
861 /*** IUnknown methods ***/
862 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
863 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
864 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
865 /*** IEnumVARIANT methods ***/
866 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
867 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
868 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
869 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
873 #define IEnumVARIANT_METHODS \
874 ICOM_MSVTABLE_COMPAT_FIELDS \
875 /*** IUnknown methods ***/ \
876 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
877 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
878 STDMETHOD_(ULONG,Release)(THIS) PURE; \
879 /*** IEnumVARIANT methods ***/ \
880 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
881 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
882 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
883 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
885 HRESULT CALLBACK
IEnumVARIANT_RemoteNext_Proxy(
889 ULONG
* pCeltFetched
);
890 void __RPC_STUB
IEnumVARIANT_RemoteNext_Stub(
891 struct IRpcStubBuffer
* This
,
892 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
893 PRPC_MESSAGE pRpcMessage
,
894 DWORD
* pdwStubPhase
);
895 HRESULT CALLBACK
IEnumVARIANT_Next_Proxy(
899 ULONG
* pCeltFetched
);
900 HRESULT __RPC_STUB
IEnumVARIANT_Next_Stub(
904 ULONG
* pCeltFetched
);
905 HRESULT CALLBACK
IEnumVARIANT_Skip_Proxy(
908 void __RPC_STUB
IEnumVARIANT_Skip_Stub(
909 struct IRpcStubBuffer
* This
,
910 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
911 PRPC_MESSAGE pRpcMessage
,
912 DWORD
* pdwStubPhase
);
913 HRESULT CALLBACK
IEnumVARIANT_Reset_Proxy(
915 void __RPC_STUB
IEnumVARIANT_Reset_Stub(
916 struct IRpcStubBuffer
* This
,
917 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
918 PRPC_MESSAGE pRpcMessage
,
919 DWORD
* pdwStubPhase
);
920 HRESULT CALLBACK
IEnumVARIANT_Clone_Proxy(
922 IEnumVARIANT
** ppEnum
);
923 void __RPC_STUB
IEnumVARIANT_Clone_Stub(
924 struct IRpcStubBuffer
* This
,
925 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
926 PRPC_MESSAGE pRpcMessage
,
927 DWORD
* pdwStubPhase
);
929 #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
931 #ifndef __ITypeComp_FWD_DEFINED__
932 #define __ITypeComp_FWD_DEFINED__
933 typedef struct ITypeComp ITypeComp
;
936 typedef ITypeComp
*LPTYPECOMP
;
938 typedef enum tagDESCKIND
{
943 DESCKIND_IMPLICITAPPOBJ
,
947 typedef union tagBINDPTR
{
948 FUNCDESC
*lpfuncdesc
;
951 } BINDPTR
, *LPBINDPTR
;
953 /*****************************************************************************
954 * ITypeComp interface
956 #ifndef __ITypeComp_INTERFACE_DEFINED__
957 #define __ITypeComp_INTERFACE_DEFINED__
959 DEFINE_GUID(IID_ITypeComp
, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
960 #if defined(__cplusplus) && !defined(CINTERFACE)
961 struct ITypeComp
: public IUnknown
963 virtual HRESULT STDMETHODCALLTYPE
Bind(
969 BINDPTR
* pBindPtr
) = 0;
971 virtual HRESULT STDMETHODCALLTYPE
BindType(
975 ITypeComp
** ppTComp
) = 0;
979 typedef struct ITypeCompVtbl ITypeCompVtbl
;
981 const ITypeCompVtbl
* lpVtbl
;
983 struct ITypeCompVtbl
{
984 ICOM_MSVTABLE_COMPAT_FIELDS
986 /*** IUnknown methods ***/
987 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
992 ULONG (STDMETHODCALLTYPE
*AddRef
)(
995 ULONG (STDMETHODCALLTYPE
*Release
)(
998 /*** ITypeComp methods ***/
999 HRESULT (STDMETHODCALLTYPE
*Bind
)(
1004 ITypeInfo
** ppTInfo
,
1005 DESCKIND
* pDescKind
,
1008 HRESULT (STDMETHODCALLTYPE
*BindType
)(
1012 ITypeInfo
** ppTInfo
,
1013 ITypeComp
** ppTComp
);
1017 /*** IUnknown methods ***/
1018 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1019 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
1020 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
1021 /*** ITypeComp methods ***/
1022 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
1023 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
1027 #define ITypeComp_METHODS \
1028 ICOM_MSVTABLE_COMPAT_FIELDS \
1029 /*** IUnknown methods ***/ \
1030 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1031 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1032 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1033 /*** ITypeComp methods ***/ \
1034 STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
1035 STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
1037 HRESULT CALLBACK
ITypeComp_RemoteBind_Proxy(
1042 ITypeInfo
** ppTInfo
,
1043 DESCKIND
* pDescKind
,
1044 LPFUNCDESC
* ppFuncDesc
,
1045 LPVARDESC
* ppVarDesc
,
1046 ITypeComp
** ppTypeComp
,
1047 CLEANLOCALSTORAGE
* pDummy
);
1048 void __RPC_STUB
ITypeComp_RemoteBind_Stub(
1049 struct IRpcStubBuffer
* This
,
1050 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1051 PRPC_MESSAGE pRpcMessage
,
1052 DWORD
* pdwStubPhase
);
1053 HRESULT CALLBACK
ITypeComp_Bind_Proxy(
1058 ITypeInfo
** ppTInfo
,
1059 DESCKIND
* pDescKind
,
1061 HRESULT __RPC_STUB
ITypeComp_Bind_Stub(
1066 ITypeInfo
** ppTInfo
,
1067 DESCKIND
* pDescKind
,
1068 LPFUNCDESC
* ppFuncDesc
,
1069 LPVARDESC
* ppVarDesc
,
1070 ITypeComp
** ppTypeComp
,
1071 CLEANLOCALSTORAGE
* pDummy
);
1072 HRESULT CALLBACK
ITypeComp_RemoteBindType_Proxy(
1076 ITypeInfo
** ppTInfo
);
1077 void __RPC_STUB
ITypeComp_RemoteBindType_Stub(
1078 struct IRpcStubBuffer
* This
,
1079 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1080 PRPC_MESSAGE pRpcMessage
,
1081 DWORD
* pdwStubPhase
);
1082 HRESULT CALLBACK
ITypeComp_BindType_Proxy(
1086 ITypeInfo
** ppTInfo
,
1087 ITypeComp
** ppTComp
);
1088 HRESULT __RPC_STUB
ITypeComp_BindType_Stub(
1092 ITypeInfo
** ppTInfo
);
1094 #endif /* __ITypeComp_INTERFACE_DEFINED__ */
1096 typedef ITypeInfo
*LPTYPEINFO
;
1098 /*****************************************************************************
1099 * ITypeInfo interface
1101 #ifndef __ITypeInfo_INTERFACE_DEFINED__
1102 #define __ITypeInfo_INTERFACE_DEFINED__
1104 DEFINE_GUID(IID_ITypeInfo
, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1105 #if defined(__cplusplus) && !defined(CINTERFACE)
1106 struct ITypeInfo
: public IUnknown
1108 virtual HRESULT STDMETHODCALLTYPE
GetTypeAttr(
1109 TYPEATTR
** ppTypeAttr
) = 0;
1111 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
1112 ITypeComp
** ppTComp
) = 0;
1114 virtual HRESULT STDMETHODCALLTYPE
GetFuncDesc(
1116 FUNCDESC
** ppFuncDesc
) = 0;
1118 virtual HRESULT STDMETHODCALLTYPE
GetVarDesc(
1120 VARDESC
** ppVarDesc
) = 0;
1122 virtual HRESULT STDMETHODCALLTYPE
GetNames(
1128 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeOfImplType(
1130 HREFTYPE
* pRefType
) = 0;
1132 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeFlags(
1134 INT
* pImplTypeFlags
) = 0;
1136 virtual HRESULT STDMETHODCALLTYPE
GetIDsOfNames(
1137 LPOLESTR
* rgszNames
,
1139 MEMBERID
* pMemId
) = 0;
1141 virtual HRESULT STDMETHODCALLTYPE
Invoke(
1145 DISPPARAMS
* pDispParams
,
1146 VARIANT
* pVarResult
,
1147 EXCEPINFO
* pExcepInfo
,
1148 UINT
* puArgErr
) = 0;
1150 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
1153 BSTR
* pBstrDocString
,
1154 DWORD
* pdwHelpContext
,
1155 BSTR
* pBstrHelpFile
) = 0;
1157 virtual HRESULT STDMETHODCALLTYPE
GetDllEntry(
1162 WORD
* pwOrdinal
) = 0;
1164 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeInfo(
1166 ITypeInfo
** ppTInfo
) = 0;
1168 virtual HRESULT STDMETHODCALLTYPE
AddressOfMember(
1173 virtual HRESULT STDMETHODCALLTYPE
CreateInstance(
1174 IUnknown
* pUnkOuter
,
1178 virtual HRESULT STDMETHODCALLTYPE
GetMops(
1180 BSTR
* pBstrMops
) = 0;
1182 virtual HRESULT STDMETHODCALLTYPE
GetContainingTypeLib(
1186 virtual void STDMETHODCALLTYPE
ReleaseTypeAttr(
1187 TYPEATTR
* pTypeAttr
) = 0;
1189 virtual void STDMETHODCALLTYPE
ReleaseFuncDesc(
1190 FUNCDESC
* pFuncDesc
) = 0;
1192 virtual void STDMETHODCALLTYPE
ReleaseVarDesc(
1193 VARDESC
* pVarDesc
) = 0;
1197 typedef struct ITypeInfoVtbl ITypeInfoVtbl
;
1199 const ITypeInfoVtbl
* lpVtbl
;
1201 struct ITypeInfoVtbl
{
1202 ICOM_MSVTABLE_COMPAT_FIELDS
1204 /*** IUnknown methods ***/
1205 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1210 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1213 ULONG (STDMETHODCALLTYPE
*Release
)(
1216 /*** ITypeInfo methods ***/
1217 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1219 TYPEATTR
** ppTypeAttr
);
1221 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1223 ITypeComp
** ppTComp
);
1225 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1228 FUNCDESC
** ppFuncDesc
);
1230 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1233 VARDESC
** ppVarDesc
);
1235 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1242 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1245 HREFTYPE
* pRefType
);
1247 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1250 INT
* pImplTypeFlags
);
1252 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1254 LPOLESTR
* rgszNames
,
1258 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1263 DISPPARAMS
* pDispParams
,
1264 VARIANT
* pVarResult
,
1265 EXCEPINFO
* pExcepInfo
,
1268 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1272 BSTR
* pBstrDocString
,
1273 DWORD
* pdwHelpContext
,
1274 BSTR
* pBstrHelpFile
);
1276 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1284 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1287 ITypeInfo
** ppTInfo
);
1289 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1295 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1297 IUnknown
* pUnkOuter
,
1301 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1306 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1311 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1313 TYPEATTR
* pTypeAttr
);
1315 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1317 FUNCDESC
* pFuncDesc
);
1319 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1325 /*** IUnknown methods ***/
1326 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1327 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1328 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1329 /*** ITypeInfo methods ***/
1330 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1331 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1332 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1333 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1334 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1335 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1336 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1337 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1338 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1339 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1340 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1341 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1342 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1343 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1344 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1345 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1346 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1347 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1348 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1352 #define ITypeInfo_METHODS \
1353 ICOM_MSVTABLE_COMPAT_FIELDS \
1354 /*** IUnknown methods ***/ \
1355 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1356 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1357 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1358 /*** ITypeInfo methods ***/ \
1359 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1360 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1361 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1362 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1363 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1364 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1365 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1366 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1367 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1368 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1369 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1370 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1371 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1372 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1373 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1374 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1375 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1376 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1377 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
1379 HRESULT CALLBACK
ITypeInfo_RemoteGetTypeAttr_Proxy(
1381 LPTYPEATTR
* ppTypeAttr
,
1382 CLEANLOCALSTORAGE
* pDummy
);
1383 void __RPC_STUB
ITypeInfo_RemoteGetTypeAttr_Stub(
1384 struct IRpcStubBuffer
* This
,
1385 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1386 PRPC_MESSAGE pRpcMessage
,
1387 DWORD
* pdwStubPhase
);
1388 HRESULT CALLBACK
ITypeInfo_GetTypeAttr_Proxy(
1390 TYPEATTR
** ppTypeAttr
);
1391 HRESULT __RPC_STUB
ITypeInfo_GetTypeAttr_Stub(
1393 LPTYPEATTR
* ppTypeAttr
,
1394 CLEANLOCALSTORAGE
* pDummy
);
1395 HRESULT CALLBACK
ITypeInfo_GetTypeComp_Proxy(
1397 ITypeComp
** ppTComp
);
1398 void __RPC_STUB
ITypeInfo_GetTypeComp_Stub(
1399 struct IRpcStubBuffer
* This
,
1400 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1401 PRPC_MESSAGE pRpcMessage
,
1402 DWORD
* pdwStubPhase
);
1403 HRESULT CALLBACK
ITypeInfo_RemoteGetFuncDesc_Proxy(
1406 LPFUNCDESC
* ppFuncDesc
,
1407 CLEANLOCALSTORAGE
* pDummy
);
1408 void __RPC_STUB
ITypeInfo_RemoteGetFuncDesc_Stub(
1409 struct IRpcStubBuffer
* This
,
1410 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1411 PRPC_MESSAGE pRpcMessage
,
1412 DWORD
* pdwStubPhase
);
1413 HRESULT CALLBACK
ITypeInfo_GetFuncDesc_Proxy(
1416 FUNCDESC
** ppFuncDesc
);
1417 HRESULT __RPC_STUB
ITypeInfo_GetFuncDesc_Stub(
1420 LPFUNCDESC
* ppFuncDesc
,
1421 CLEANLOCALSTORAGE
* pDummy
);
1422 HRESULT CALLBACK
ITypeInfo_RemoteGetVarDesc_Proxy(
1425 LPVARDESC
* ppVarDesc
,
1426 CLEANLOCALSTORAGE
* pDummy
);
1427 void __RPC_STUB
ITypeInfo_RemoteGetVarDesc_Stub(
1428 struct IRpcStubBuffer
* This
,
1429 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1430 PRPC_MESSAGE pRpcMessage
,
1431 DWORD
* pdwStubPhase
);
1432 HRESULT CALLBACK
ITypeInfo_GetVarDesc_Proxy(
1435 VARDESC
** ppVarDesc
);
1436 HRESULT __RPC_STUB
ITypeInfo_GetVarDesc_Stub(
1439 LPVARDESC
* ppVarDesc
,
1440 CLEANLOCALSTORAGE
* pDummy
);
1441 HRESULT CALLBACK
ITypeInfo_RemoteGetNames_Proxy(
1447 void __RPC_STUB
ITypeInfo_RemoteGetNames_Stub(
1448 struct IRpcStubBuffer
* This
,
1449 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1450 PRPC_MESSAGE pRpcMessage
,
1451 DWORD
* pdwStubPhase
);
1452 HRESULT CALLBACK
ITypeInfo_GetNames_Proxy(
1458 HRESULT __RPC_STUB
ITypeInfo_GetNames_Stub(
1464 HRESULT CALLBACK
ITypeInfo_GetRefTypeOfImplType_Proxy(
1467 HREFTYPE
* pRefType
);
1468 void __RPC_STUB
ITypeInfo_GetRefTypeOfImplType_Stub(
1469 struct IRpcStubBuffer
* This
,
1470 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1471 PRPC_MESSAGE pRpcMessage
,
1472 DWORD
* pdwStubPhase
);
1473 HRESULT CALLBACK
ITypeInfo_GetImplTypeFlags_Proxy(
1476 INT
* pImplTypeFlags
);
1477 void __RPC_STUB
ITypeInfo_GetImplTypeFlags_Stub(
1478 struct IRpcStubBuffer
* This
,
1479 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1480 PRPC_MESSAGE pRpcMessage
,
1481 DWORD
* pdwStubPhase
);
1482 HRESULT CALLBACK
ITypeInfo_LocalGetIDsOfNames_Proxy(
1484 void __RPC_STUB
ITypeInfo_LocalGetIDsOfNames_Stub(
1485 struct IRpcStubBuffer
* This
,
1486 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1487 PRPC_MESSAGE pRpcMessage
,
1488 DWORD
* pdwStubPhase
);
1489 HRESULT CALLBACK
ITypeInfo_GetIDsOfNames_Proxy(
1491 LPOLESTR
* rgszNames
,
1494 HRESULT __RPC_STUB
ITypeInfo_GetIDsOfNames_Stub(
1496 HRESULT CALLBACK
ITypeInfo_LocalInvoke_Proxy(
1498 void __RPC_STUB
ITypeInfo_LocalInvoke_Stub(
1499 struct IRpcStubBuffer
* This
,
1500 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1501 PRPC_MESSAGE pRpcMessage
,
1502 DWORD
* pdwStubPhase
);
1503 HRESULT CALLBACK
ITypeInfo_Invoke_Proxy(
1508 DISPPARAMS
* pDispParams
,
1509 VARIANT
* pVarResult
,
1510 EXCEPINFO
* pExcepInfo
,
1512 HRESULT __RPC_STUB
ITypeInfo_Invoke_Stub(
1514 HRESULT CALLBACK
ITypeInfo_RemoteGetDocumentation_Proxy(
1519 BSTR
* pBstrDocString
,
1520 DWORD
* pdwHelpContext
,
1521 BSTR
* pBstrHelpFile
);
1522 void __RPC_STUB
ITypeInfo_RemoteGetDocumentation_Stub(
1523 struct IRpcStubBuffer
* This
,
1524 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1525 PRPC_MESSAGE pRpcMessage
,
1526 DWORD
* pdwStubPhase
);
1527 HRESULT CALLBACK
ITypeInfo_GetDocumentation_Proxy(
1531 BSTR
* pBstrDocString
,
1532 DWORD
* pdwHelpContext
,
1533 BSTR
* pBstrHelpFile
);
1534 HRESULT __RPC_STUB
ITypeInfo_GetDocumentation_Stub(
1539 BSTR
* pBstrDocString
,
1540 DWORD
* pdwHelpContext
,
1541 BSTR
* pBstrHelpFile
);
1542 HRESULT CALLBACK
ITypeInfo_RemoteGetDllEntry_Proxy(
1550 void __RPC_STUB
ITypeInfo_RemoteGetDllEntry_Stub(
1551 struct IRpcStubBuffer
* This
,
1552 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1553 PRPC_MESSAGE pRpcMessage
,
1554 DWORD
* pdwStubPhase
);
1555 HRESULT CALLBACK
ITypeInfo_GetDllEntry_Proxy(
1562 HRESULT __RPC_STUB
ITypeInfo_GetDllEntry_Stub(
1570 HRESULT CALLBACK
ITypeInfo_GetRefTypeInfo_Proxy(
1573 ITypeInfo
** ppTInfo
);
1574 void __RPC_STUB
ITypeInfo_GetRefTypeInfo_Stub(
1575 struct IRpcStubBuffer
* This
,
1576 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1577 PRPC_MESSAGE pRpcMessage
,
1578 DWORD
* pdwStubPhase
);
1579 HRESULT CALLBACK
ITypeInfo_LocalAddressOfMember_Proxy(
1581 void __RPC_STUB
ITypeInfo_LocalAddressOfMember_Stub(
1582 struct IRpcStubBuffer
* This
,
1583 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1584 PRPC_MESSAGE pRpcMessage
,
1585 DWORD
* pdwStubPhase
);
1586 HRESULT CALLBACK
ITypeInfo_AddressOfMember_Proxy(
1591 HRESULT __RPC_STUB
ITypeInfo_AddressOfMember_Stub(
1593 HRESULT CALLBACK
ITypeInfo_RemoteCreateInstance_Proxy(
1597 void __RPC_STUB
ITypeInfo_RemoteCreateInstance_Stub(
1598 struct IRpcStubBuffer
* This
,
1599 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1600 PRPC_MESSAGE pRpcMessage
,
1601 DWORD
* pdwStubPhase
);
1602 HRESULT CALLBACK
ITypeInfo_CreateInstance_Proxy(
1604 IUnknown
* pUnkOuter
,
1607 HRESULT __RPC_STUB
ITypeInfo_CreateInstance_Stub(
1611 HRESULT CALLBACK
ITypeInfo_GetMops_Proxy(
1615 void __RPC_STUB
ITypeInfo_GetMops_Stub(
1616 struct IRpcStubBuffer
* This
,
1617 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1618 PRPC_MESSAGE pRpcMessage
,
1619 DWORD
* pdwStubPhase
);
1620 HRESULT CALLBACK
ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1624 void __RPC_STUB
ITypeInfo_RemoteGetContainingTypeLib_Stub(
1625 struct IRpcStubBuffer
* This
,
1626 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1627 PRPC_MESSAGE pRpcMessage
,
1628 DWORD
* pdwStubPhase
);
1629 HRESULT CALLBACK
ITypeInfo_GetContainingTypeLib_Proxy(
1633 HRESULT __RPC_STUB
ITypeInfo_GetContainingTypeLib_Stub(
1637 HRESULT CALLBACK
ITypeInfo_LocalReleaseTypeAttr_Proxy(
1639 void __RPC_STUB
ITypeInfo_LocalReleaseTypeAttr_Stub(
1640 struct IRpcStubBuffer
* This
,
1641 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1642 PRPC_MESSAGE pRpcMessage
,
1643 DWORD
* pdwStubPhase
);
1644 void CALLBACK
ITypeInfo_ReleaseTypeAttr_Proxy(
1646 TYPEATTR
* pTypeAttr
);
1647 HRESULT __RPC_STUB
ITypeInfo_ReleaseTypeAttr_Stub(
1649 HRESULT CALLBACK
ITypeInfo_LocalReleaseFuncDesc_Proxy(
1651 void __RPC_STUB
ITypeInfo_LocalReleaseFuncDesc_Stub(
1652 struct IRpcStubBuffer
* This
,
1653 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1654 PRPC_MESSAGE pRpcMessage
,
1655 DWORD
* pdwStubPhase
);
1656 void CALLBACK
ITypeInfo_ReleaseFuncDesc_Proxy(
1658 FUNCDESC
* pFuncDesc
);
1659 HRESULT __RPC_STUB
ITypeInfo_ReleaseFuncDesc_Stub(
1661 HRESULT CALLBACK
ITypeInfo_LocalReleaseVarDesc_Proxy(
1663 void __RPC_STUB
ITypeInfo_LocalReleaseVarDesc_Stub(
1664 struct IRpcStubBuffer
* This
,
1665 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1666 PRPC_MESSAGE pRpcMessage
,
1667 DWORD
* pdwStubPhase
);
1668 void CALLBACK
ITypeInfo_ReleaseVarDesc_Proxy(
1671 HRESULT __RPC_STUB
ITypeInfo_ReleaseVarDesc_Stub(
1674 #endif /* __ITypeInfo_INTERFACE_DEFINED__ */
1676 #ifndef __ITypeInfo2_FWD_DEFINED__
1677 #define __ITypeInfo2_FWD_DEFINED__
1678 typedef struct ITypeInfo2 ITypeInfo2
;
1681 typedef ITypeInfo2
*LPTYPEINFO2
;
1683 /*****************************************************************************
1684 * ITypeInfo2 interface
1686 #ifndef __ITypeInfo2_INTERFACE_DEFINED__
1687 #define __ITypeInfo2_INTERFACE_DEFINED__
1689 DEFINE_GUID(IID_ITypeInfo2
, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1690 #if defined(__cplusplus) && !defined(CINTERFACE)
1691 struct ITypeInfo2
: public ITypeInfo
1693 virtual HRESULT STDMETHODCALLTYPE
GetTypeKind(
1694 TYPEKIND
* pTypeKind
) = 0;
1696 virtual HRESULT STDMETHODCALLTYPE
GetTypeFlags(
1697 ULONG
* pTypeFlags
) = 0;
1699 virtual HRESULT STDMETHODCALLTYPE
GetFuncIndexOfMemId(
1702 UINT
* pFuncIndex
) = 0;
1704 virtual HRESULT STDMETHODCALLTYPE
GetVarIndexOfMemId(
1706 UINT
* pVarIndex
) = 0;
1708 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
1710 VARIANT
* pVarVal
) = 0;
1712 virtual HRESULT STDMETHODCALLTYPE
GetFuncCustData(
1715 VARIANT
* pVarVal
) = 0;
1717 virtual HRESULT STDMETHODCALLTYPE
GetParamCustData(
1721 VARIANT
* pVarVal
) = 0;
1723 virtual HRESULT STDMETHODCALLTYPE
GetVarCustData(
1726 VARIANT
* pVarVal
) = 0;
1728 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeCustData(
1731 VARIANT
* pVarVal
) = 0;
1733 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
1736 BSTR
* pbstrHelpString
,
1737 DWORD
* pdwHelpStringContext
,
1738 BSTR
* pbstrHelpStringDll
) = 0;
1740 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
1741 CUSTDATA
* pCustData
) = 0;
1743 virtual HRESULT STDMETHODCALLTYPE
GetAllFuncCustData(
1745 CUSTDATA
* pCustData
) = 0;
1747 virtual HRESULT STDMETHODCALLTYPE
GetAllParamCustData(
1750 CUSTDATA
* pCustData
) = 0;
1752 virtual HRESULT STDMETHODCALLTYPE
GetAllVarCustData(
1754 CUSTDATA
* pCustData
) = 0;
1756 virtual HRESULT STDMETHODCALLTYPE
GetAllImplTypeCustData(
1758 CUSTDATA
* pCustData
) = 0;
1762 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl
;
1764 const ITypeInfo2Vtbl
* lpVtbl
;
1766 struct ITypeInfo2Vtbl
{
1767 ICOM_MSVTABLE_COMPAT_FIELDS
1769 /*** IUnknown methods ***/
1770 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1775 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1778 ULONG (STDMETHODCALLTYPE
*Release
)(
1781 /*** ITypeInfo methods ***/
1782 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1784 TYPEATTR
** ppTypeAttr
);
1786 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1788 ITypeComp
** ppTComp
);
1790 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1793 FUNCDESC
** ppFuncDesc
);
1795 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1798 VARDESC
** ppVarDesc
);
1800 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1807 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1810 HREFTYPE
* pRefType
);
1812 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1815 INT
* pImplTypeFlags
);
1817 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1819 LPOLESTR
* rgszNames
,
1823 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1828 DISPPARAMS
* pDispParams
,
1829 VARIANT
* pVarResult
,
1830 EXCEPINFO
* pExcepInfo
,
1833 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1837 BSTR
* pBstrDocString
,
1838 DWORD
* pdwHelpContext
,
1839 BSTR
* pBstrHelpFile
);
1841 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1849 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1852 ITypeInfo
** ppTInfo
);
1854 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1860 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1862 IUnknown
* pUnkOuter
,
1866 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1871 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1876 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1878 TYPEATTR
* pTypeAttr
);
1880 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1882 FUNCDESC
* pFuncDesc
);
1884 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1888 /*** ITypeInfo2 methods ***/
1889 HRESULT (STDMETHODCALLTYPE
*GetTypeKind
)(
1891 TYPEKIND
* pTypeKind
);
1893 HRESULT (STDMETHODCALLTYPE
*GetTypeFlags
)(
1897 HRESULT (STDMETHODCALLTYPE
*GetFuncIndexOfMemId
)(
1903 HRESULT (STDMETHODCALLTYPE
*GetVarIndexOfMemId
)(
1908 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
1913 HRESULT (STDMETHODCALLTYPE
*GetFuncCustData
)(
1919 HRESULT (STDMETHODCALLTYPE
*GetParamCustData
)(
1926 HRESULT (STDMETHODCALLTYPE
*GetVarCustData
)(
1932 HRESULT (STDMETHODCALLTYPE
*GetImplTypeCustData
)(
1938 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
1942 BSTR
* pbstrHelpString
,
1943 DWORD
* pdwHelpStringContext
,
1944 BSTR
* pbstrHelpStringDll
);
1946 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
1948 CUSTDATA
* pCustData
);
1950 HRESULT (STDMETHODCALLTYPE
*GetAllFuncCustData
)(
1953 CUSTDATA
* pCustData
);
1955 HRESULT (STDMETHODCALLTYPE
*GetAllParamCustData
)(
1959 CUSTDATA
* pCustData
);
1961 HRESULT (STDMETHODCALLTYPE
*GetAllVarCustData
)(
1964 CUSTDATA
* pCustData
);
1966 HRESULT (STDMETHODCALLTYPE
*GetAllImplTypeCustData
)(
1969 CUSTDATA
* pCustData
);
1973 /*** IUnknown methods ***/
1974 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1975 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1976 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1977 /*** ITypeInfo methods ***/
1978 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1979 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1980 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1981 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1982 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1983 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1984 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1985 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1986 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1987 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1988 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1989 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1990 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1991 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1992 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1993 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1994 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1995 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1996 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1997 /*** ITypeInfo2 methods ***/
1998 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1999 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
2000 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
2001 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
2002 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2003 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
2004 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
2005 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
2006 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
2007 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2008 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2009 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
2010 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
2011 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
2012 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
2016 #define ITypeInfo2_METHODS \
2017 ICOM_MSVTABLE_COMPAT_FIELDS \
2018 /*** IUnknown methods ***/ \
2019 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2020 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2021 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2022 /*** ITypeInfo methods ***/ \
2023 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
2024 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2025 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
2026 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
2027 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
2028 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
2029 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
2030 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
2031 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
2032 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2033 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
2034 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
2035 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
2036 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
2037 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
2038 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
2039 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
2040 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
2041 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
2042 /*** ITypeInfo2 methods ***/ \
2043 STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
2044 STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
2045 STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
2046 STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
2047 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2048 STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2049 STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
2050 STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2051 STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2052 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2053 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
2054 STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2055 STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
2056 STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2057 STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
2059 HRESULT CALLBACK
ITypeInfo2_GetTypeKind_Proxy(
2061 TYPEKIND
* pTypeKind
);
2062 void __RPC_STUB
ITypeInfo2_GetTypeKind_Stub(
2063 struct IRpcStubBuffer
* This
,
2064 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2065 PRPC_MESSAGE pRpcMessage
,
2066 DWORD
* pdwStubPhase
);
2067 HRESULT CALLBACK
ITypeInfo2_GetTypeFlags_Proxy(
2070 void __RPC_STUB
ITypeInfo2_GetTypeFlags_Stub(
2071 struct IRpcStubBuffer
* This
,
2072 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2073 PRPC_MESSAGE pRpcMessage
,
2074 DWORD
* pdwStubPhase
);
2075 HRESULT CALLBACK
ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2080 void __RPC_STUB
ITypeInfo2_GetFuncIndexOfMemId_Stub(
2081 struct IRpcStubBuffer
* This
,
2082 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2083 PRPC_MESSAGE pRpcMessage
,
2084 DWORD
* pdwStubPhase
);
2085 HRESULT CALLBACK
ITypeInfo2_GetVarIndexOfMemId_Proxy(
2089 void __RPC_STUB
ITypeInfo2_GetVarIndexOfMemId_Stub(
2090 struct IRpcStubBuffer
* This
,
2091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2092 PRPC_MESSAGE pRpcMessage
,
2093 DWORD
* pdwStubPhase
);
2094 HRESULT CALLBACK
ITypeInfo2_GetCustData_Proxy(
2098 void __RPC_STUB
ITypeInfo2_GetCustData_Stub(
2099 struct IRpcStubBuffer
* This
,
2100 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2101 PRPC_MESSAGE pRpcMessage
,
2102 DWORD
* pdwStubPhase
);
2103 HRESULT CALLBACK
ITypeInfo2_GetFuncCustData_Proxy(
2108 void __RPC_STUB
ITypeInfo2_GetFuncCustData_Stub(
2109 struct IRpcStubBuffer
* This
,
2110 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2111 PRPC_MESSAGE pRpcMessage
,
2112 DWORD
* pdwStubPhase
);
2113 HRESULT CALLBACK
ITypeInfo2_GetParamCustData_Proxy(
2119 void __RPC_STUB
ITypeInfo2_GetParamCustData_Stub(
2120 struct IRpcStubBuffer
* This
,
2121 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2122 PRPC_MESSAGE pRpcMessage
,
2123 DWORD
* pdwStubPhase
);
2124 HRESULT CALLBACK
ITypeInfo2_GetVarCustData_Proxy(
2129 void __RPC_STUB
ITypeInfo2_GetVarCustData_Stub(
2130 struct IRpcStubBuffer
* This
,
2131 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2132 PRPC_MESSAGE pRpcMessage
,
2133 DWORD
* pdwStubPhase
);
2134 HRESULT CALLBACK
ITypeInfo2_GetImplTypeCustData_Proxy(
2139 void __RPC_STUB
ITypeInfo2_GetImplTypeCustData_Stub(
2140 struct IRpcStubBuffer
* This
,
2141 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2142 PRPC_MESSAGE pRpcMessage
,
2143 DWORD
* pdwStubPhase
);
2144 HRESULT CALLBACK
ITypeInfo2_RemoteGetDocumentation2_Proxy(
2149 BSTR
* pbstrHelpString
,
2150 DWORD
* pdwHelpStringContext
,
2151 BSTR
* pbstrHelpStringDll
);
2152 void __RPC_STUB
ITypeInfo2_RemoteGetDocumentation2_Stub(
2153 struct IRpcStubBuffer
* This
,
2154 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2155 PRPC_MESSAGE pRpcMessage
,
2156 DWORD
* pdwStubPhase
);
2157 HRESULT CALLBACK
ITypeInfo2_GetDocumentation2_Proxy(
2161 BSTR
* pbstrHelpString
,
2162 DWORD
* pdwHelpStringContext
,
2163 BSTR
* pbstrHelpStringDll
);
2164 HRESULT __RPC_STUB
ITypeInfo2_GetDocumentation2_Stub(
2169 BSTR
* pbstrHelpString
,
2170 DWORD
* pdwHelpStringContext
,
2171 BSTR
* pbstrHelpStringDll
);
2172 HRESULT CALLBACK
ITypeInfo2_GetAllCustData_Proxy(
2174 CUSTDATA
* pCustData
);
2175 void __RPC_STUB
ITypeInfo2_GetAllCustData_Stub(
2176 struct IRpcStubBuffer
* This
,
2177 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2178 PRPC_MESSAGE pRpcMessage
,
2179 DWORD
* pdwStubPhase
);
2180 HRESULT CALLBACK
ITypeInfo2_GetAllFuncCustData_Proxy(
2183 CUSTDATA
* pCustData
);
2184 void __RPC_STUB
ITypeInfo2_GetAllFuncCustData_Stub(
2185 struct IRpcStubBuffer
* This
,
2186 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2187 PRPC_MESSAGE pRpcMessage
,
2188 DWORD
* pdwStubPhase
);
2189 HRESULT CALLBACK
ITypeInfo2_GetAllParamCustData_Proxy(
2193 CUSTDATA
* pCustData
);
2194 void __RPC_STUB
ITypeInfo2_GetAllParamCustData_Stub(
2195 struct IRpcStubBuffer
* This
,
2196 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2197 PRPC_MESSAGE pRpcMessage
,
2198 DWORD
* pdwStubPhase
);
2199 HRESULT CALLBACK
ITypeInfo2_GetAllVarCustData_Proxy(
2202 CUSTDATA
* pCustData
);
2203 void __RPC_STUB
ITypeInfo2_GetAllVarCustData_Stub(
2204 struct IRpcStubBuffer
* This
,
2205 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2206 PRPC_MESSAGE pRpcMessage
,
2207 DWORD
* pdwStubPhase
);
2208 HRESULT CALLBACK
ITypeInfo2_GetAllImplTypeCustData_Proxy(
2211 CUSTDATA
* pCustData
);
2212 void __RPC_STUB
ITypeInfo2_GetAllImplTypeCustData_Stub(
2213 struct IRpcStubBuffer
* This
,
2214 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2215 PRPC_MESSAGE pRpcMessage
,
2216 DWORD
* pdwStubPhase
);
2218 #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
2220 typedef ITypeLib
*LPTYPELIB
;
2222 typedef enum tagSYSKIND
{
2228 typedef enum tagLIBFLAGS
{
2229 LIBFLAG_FRESTRICTED
= 0x1,
2230 LIBFLAG_FCONTROL
= 0x2,
2231 LIBFLAG_FHIDDEN
= 0x4,
2232 LIBFLAG_FHASDISKIMAGE
= 0x8
2235 typedef struct tagTLIBATTR
{
2242 } TLIBATTR
, *LPTLIBATTR
;
2244 /*****************************************************************************
2245 * ITypeLib interface
2247 #ifndef __ITypeLib_INTERFACE_DEFINED__
2248 #define __ITypeLib_INTERFACE_DEFINED__
2250 DEFINE_GUID(IID_ITypeLib
, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2251 #if defined(__cplusplus) && !defined(CINTERFACE)
2252 struct ITypeLib
: public IUnknown
2254 virtual UINT STDMETHODCALLTYPE
GetTypeInfoCount(
2257 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
2259 ITypeInfo
** ppTInfo
) = 0;
2261 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoType(
2263 TYPEKIND
* pTKind
) = 0;
2265 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoOfGuid(
2267 ITypeInfo
** ppTinfo
) = 0;
2269 virtual HRESULT STDMETHODCALLTYPE
GetLibAttr(
2270 TLIBATTR
** ppTLibAttr
) = 0;
2272 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
2273 ITypeComp
** ppTComp
) = 0;
2275 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
2278 BSTR
* pBstrDocString
,
2279 DWORD
* pdwHelpContext
,
2280 BSTR
* pBstrHelpFile
) = 0;
2282 virtual HRESULT STDMETHODCALLTYPE
IsName(
2287 virtual HRESULT STDMETHODCALLTYPE
FindName(
2290 ITypeInfo
** ppTInfo
,
2292 USHORT
* pcFound
) = 0;
2294 virtual void STDMETHODCALLTYPE
ReleaseTLibAttr(
2295 TLIBATTR
* pTLibAttr
) = 0;
2299 typedef struct ITypeLibVtbl ITypeLibVtbl
;
2301 const ITypeLibVtbl
* lpVtbl
;
2303 struct ITypeLibVtbl
{
2304 ICOM_MSVTABLE_COMPAT_FIELDS
2306 /*** IUnknown methods ***/
2307 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2312 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2315 ULONG (STDMETHODCALLTYPE
*Release
)(
2318 /*** ITypeLib methods ***/
2319 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2322 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2325 ITypeInfo
** ppTInfo
);
2327 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2332 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2335 ITypeInfo
** ppTinfo
);
2337 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2339 TLIBATTR
** ppTLibAttr
);
2341 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2343 ITypeComp
** ppTComp
);
2345 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2349 BSTR
* pBstrDocString
,
2350 DWORD
* pdwHelpContext
,
2351 BSTR
* pBstrHelpFile
);
2353 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2359 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2363 ITypeInfo
** ppTInfo
,
2367 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2369 TLIBATTR
* pTLibAttr
);
2373 /*** IUnknown methods ***/
2374 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2375 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2376 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2377 /*** ITypeLib methods ***/
2378 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2379 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2380 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2381 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2382 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2383 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2384 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2385 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2386 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2387 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2391 #define ITypeLib_METHODS \
2392 ICOM_MSVTABLE_COMPAT_FIELDS \
2393 /*** IUnknown methods ***/ \
2394 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2395 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2396 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2397 /*** ITypeLib methods ***/ \
2398 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2399 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2400 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2401 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2402 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2403 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2404 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2405 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2406 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2407 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
2409 HRESULT CALLBACK
ITypeLib_RemoteGetTypeInfoCount_Proxy(
2412 void __RPC_STUB
ITypeLib_RemoteGetTypeInfoCount_Stub(
2413 struct IRpcStubBuffer
* This
,
2414 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2415 PRPC_MESSAGE pRpcMessage
,
2416 DWORD
* pdwStubPhase
);
2417 UINT CALLBACK
ITypeLib_GetTypeInfoCount_Proxy(
2419 HRESULT __RPC_STUB
ITypeLib_GetTypeInfoCount_Stub(
2422 HRESULT CALLBACK
ITypeLib_GetTypeInfo_Proxy(
2425 ITypeInfo
** ppTInfo
);
2426 void __RPC_STUB
ITypeLib_GetTypeInfo_Stub(
2427 struct IRpcStubBuffer
* This
,
2428 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2429 PRPC_MESSAGE pRpcMessage
,
2430 DWORD
* pdwStubPhase
);
2431 HRESULT CALLBACK
ITypeLib_GetTypeInfoType_Proxy(
2435 void __RPC_STUB
ITypeLib_GetTypeInfoType_Stub(
2436 struct IRpcStubBuffer
* This
,
2437 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2438 PRPC_MESSAGE pRpcMessage
,
2439 DWORD
* pdwStubPhase
);
2440 HRESULT CALLBACK
ITypeLib_GetTypeInfoOfGuid_Proxy(
2443 ITypeInfo
** ppTinfo
);
2444 void __RPC_STUB
ITypeLib_GetTypeInfoOfGuid_Stub(
2445 struct IRpcStubBuffer
* This
,
2446 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2447 PRPC_MESSAGE pRpcMessage
,
2448 DWORD
* pdwStubPhase
);
2449 HRESULT CALLBACK
ITypeLib_RemoteGetLibAttr_Proxy(
2451 LPTLIBATTR
* ppTLibAttr
,
2452 CLEANLOCALSTORAGE
* pDummy
);
2453 void __RPC_STUB
ITypeLib_RemoteGetLibAttr_Stub(
2454 struct IRpcStubBuffer
* This
,
2455 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2456 PRPC_MESSAGE pRpcMessage
,
2457 DWORD
* pdwStubPhase
);
2458 HRESULT CALLBACK
ITypeLib_GetLibAttr_Proxy(
2460 TLIBATTR
** ppTLibAttr
);
2461 HRESULT __RPC_STUB
ITypeLib_GetLibAttr_Stub(
2463 LPTLIBATTR
* ppTLibAttr
,
2464 CLEANLOCALSTORAGE
* pDummy
);
2465 HRESULT CALLBACK
ITypeLib_GetTypeComp_Proxy(
2467 ITypeComp
** ppTComp
);
2468 void __RPC_STUB
ITypeLib_GetTypeComp_Stub(
2469 struct IRpcStubBuffer
* This
,
2470 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2471 PRPC_MESSAGE pRpcMessage
,
2472 DWORD
* pdwStubPhase
);
2473 HRESULT CALLBACK
ITypeLib_RemoteGetDocumentation_Proxy(
2478 BSTR
* pBstrDocString
,
2479 DWORD
* pdwHelpContext
,
2480 BSTR
* pBstrHelpFile
);
2481 void __RPC_STUB
ITypeLib_RemoteGetDocumentation_Stub(
2482 struct IRpcStubBuffer
* This
,
2483 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2484 PRPC_MESSAGE pRpcMessage
,
2485 DWORD
* pdwStubPhase
);
2486 HRESULT CALLBACK
ITypeLib_GetDocumentation_Proxy(
2490 BSTR
* pBstrDocString
,
2491 DWORD
* pdwHelpContext
,
2492 BSTR
* pBstrHelpFile
);
2493 HRESULT __RPC_STUB
ITypeLib_GetDocumentation_Stub(
2498 BSTR
* pBstrDocString
,
2499 DWORD
* pdwHelpContext
,
2500 BSTR
* pBstrHelpFile
);
2501 HRESULT CALLBACK
ITypeLib_RemoteIsName_Proxy(
2506 BSTR
* pBstrLibName
);
2507 void __RPC_STUB
ITypeLib_RemoteIsName_Stub(
2508 struct IRpcStubBuffer
* This
,
2509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2510 PRPC_MESSAGE pRpcMessage
,
2511 DWORD
* pdwStubPhase
);
2512 HRESULT CALLBACK
ITypeLib_IsName_Proxy(
2517 HRESULT __RPC_STUB
ITypeLib_IsName_Stub(
2522 BSTR
* pBstrLibName
);
2523 HRESULT CALLBACK
ITypeLib_RemoteFindName_Proxy(
2527 ITypeInfo
** ppTInfo
,
2530 BSTR
* pBstrLibName
);
2531 void __RPC_STUB
ITypeLib_RemoteFindName_Stub(
2532 struct IRpcStubBuffer
* This
,
2533 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2534 PRPC_MESSAGE pRpcMessage
,
2535 DWORD
* pdwStubPhase
);
2536 HRESULT CALLBACK
ITypeLib_FindName_Proxy(
2540 ITypeInfo
** ppTInfo
,
2543 HRESULT __RPC_STUB
ITypeLib_FindName_Stub(
2547 ITypeInfo
** ppTInfo
,
2550 BSTR
* pBstrLibName
);
2551 HRESULT CALLBACK
ITypeLib_LocalReleaseTLibAttr_Proxy(
2553 void __RPC_STUB
ITypeLib_LocalReleaseTLibAttr_Stub(
2554 struct IRpcStubBuffer
* This
,
2555 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2556 PRPC_MESSAGE pRpcMessage
,
2557 DWORD
* pdwStubPhase
);
2558 void CALLBACK
ITypeLib_ReleaseTLibAttr_Proxy(
2560 TLIBATTR
* pTLibAttr
);
2561 HRESULT __RPC_STUB
ITypeLib_ReleaseTLibAttr_Stub(
2564 #endif /* __ITypeLib_INTERFACE_DEFINED__ */
2566 #ifndef __ITypeLib2_FWD_DEFINED__
2567 #define __ITypeLib2_FWD_DEFINED__
2568 typedef struct ITypeLib2 ITypeLib2
;
2571 typedef ITypeLib2
*LPTYPELIB2
;
2573 /*****************************************************************************
2574 * ITypeLib2 interface
2576 #ifndef __ITypeLib2_INTERFACE_DEFINED__
2577 #define __ITypeLib2_INTERFACE_DEFINED__
2579 DEFINE_GUID(IID_ITypeLib2
, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2580 #if defined(__cplusplus) && !defined(CINTERFACE)
2581 struct ITypeLib2
: public ITypeLib
2583 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
2585 VARIANT
* pVarVal
) = 0;
2587 virtual HRESULT STDMETHODCALLTYPE
GetLibStatistics(
2588 ULONG
* pcUniqueNames
,
2589 ULONG
* pcchUniqueNames
) = 0;
2591 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
2594 BSTR
* pbstrHelpString
,
2595 DWORD
* pdwHelpStringContext
,
2596 BSTR
* pbstrHelpStringDll
) = 0;
2598 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
2599 CUSTDATA
* pCustData
) = 0;
2603 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl
;
2605 const ITypeLib2Vtbl
* lpVtbl
;
2607 struct ITypeLib2Vtbl
{
2608 ICOM_MSVTABLE_COMPAT_FIELDS
2610 /*** IUnknown methods ***/
2611 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2616 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2619 ULONG (STDMETHODCALLTYPE
*Release
)(
2622 /*** ITypeLib methods ***/
2623 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2626 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2629 ITypeInfo
** ppTInfo
);
2631 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2636 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2639 ITypeInfo
** ppTinfo
);
2641 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2643 TLIBATTR
** ppTLibAttr
);
2645 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2647 ITypeComp
** ppTComp
);
2649 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2653 BSTR
* pBstrDocString
,
2654 DWORD
* pdwHelpContext
,
2655 BSTR
* pBstrHelpFile
);
2657 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2663 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2667 ITypeInfo
** ppTInfo
,
2671 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2673 TLIBATTR
* pTLibAttr
);
2675 /*** ITypeLib2 methods ***/
2676 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
2681 HRESULT (STDMETHODCALLTYPE
*GetLibStatistics
)(
2683 ULONG
* pcUniqueNames
,
2684 ULONG
* pcchUniqueNames
);
2686 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
2690 BSTR
* pbstrHelpString
,
2691 DWORD
* pdwHelpStringContext
,
2692 BSTR
* pbstrHelpStringDll
);
2694 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
2696 CUSTDATA
* pCustData
);
2700 /*** IUnknown methods ***/
2701 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2702 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2703 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2704 /*** ITypeLib methods ***/
2705 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2706 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2707 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2708 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2709 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2710 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2711 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2712 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2713 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2714 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2715 /*** ITypeLib2 methods ***/
2716 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2717 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2718 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2719 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2723 #define ITypeLib2_METHODS \
2724 ICOM_MSVTABLE_COMPAT_FIELDS \
2725 /*** IUnknown methods ***/ \
2726 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2727 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2728 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2729 /*** ITypeLib methods ***/ \
2730 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2731 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2732 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2733 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2734 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2735 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2736 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2737 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2738 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2739 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
2740 /*** ITypeLib2 methods ***/ \
2741 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2742 STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
2743 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2744 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
2746 HRESULT CALLBACK
ITypeLib2_GetCustData_Proxy(
2750 void __RPC_STUB
ITypeLib2_GetCustData_Stub(
2751 struct IRpcStubBuffer
* This
,
2752 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2753 PRPC_MESSAGE pRpcMessage
,
2754 DWORD
* pdwStubPhase
);
2755 HRESULT CALLBACK
ITypeLib2_RemoteGetLibStatistics_Proxy(
2757 ULONG
* pcUniqueNames
,
2758 ULONG
* pcchUniqueNames
);
2759 void __RPC_STUB
ITypeLib2_RemoteGetLibStatistics_Stub(
2760 struct IRpcStubBuffer
* This
,
2761 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2762 PRPC_MESSAGE pRpcMessage
,
2763 DWORD
* pdwStubPhase
);
2764 HRESULT CALLBACK
ITypeLib2_GetLibStatistics_Proxy(
2766 ULONG
* pcUniqueNames
,
2767 ULONG
* pcchUniqueNames
);
2768 HRESULT __RPC_STUB
ITypeLib2_GetLibStatistics_Stub(
2770 ULONG
* pcUniqueNames
,
2771 ULONG
* pcchUniqueNames
);
2772 HRESULT CALLBACK
ITypeLib2_RemoteGetDocumentation2_Proxy(
2777 BSTR
* pbstrHelpString
,
2778 DWORD
* pdwHelpStringContext
,
2779 BSTR
* pbstrHelpStringDll
);
2780 void __RPC_STUB
ITypeLib2_RemoteGetDocumentation2_Stub(
2781 struct IRpcStubBuffer
* This
,
2782 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2783 PRPC_MESSAGE pRpcMessage
,
2784 DWORD
* pdwStubPhase
);
2785 HRESULT CALLBACK
ITypeLib2_GetDocumentation2_Proxy(
2789 BSTR
* pbstrHelpString
,
2790 DWORD
* pdwHelpStringContext
,
2791 BSTR
* pbstrHelpStringDll
);
2792 HRESULT __RPC_STUB
ITypeLib2_GetDocumentation2_Stub(
2797 BSTR
* pbstrHelpString
,
2798 DWORD
* pdwHelpStringContext
,
2799 BSTR
* pbstrHelpStringDll
);
2800 HRESULT CALLBACK
ITypeLib2_GetAllCustData_Proxy(
2802 CUSTDATA
* pCustData
);
2803 void __RPC_STUB
ITypeLib2_GetAllCustData_Stub(
2804 struct IRpcStubBuffer
* This
,
2805 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2806 PRPC_MESSAGE pRpcMessage
,
2807 DWORD
* pdwStubPhase
);
2809 #endif /* __ITypeLib2_INTERFACE_DEFINED__ */
2811 #ifndef __ITypeChangeEvents_FWD_DEFINED__
2812 #define __ITypeChangeEvents_FWD_DEFINED__
2813 typedef struct ITypeChangeEvents ITypeChangeEvents
;
2816 typedef ITypeChangeEvents
*LPTYPECHANGEEVENTS
;
2818 typedef enum tagCHANGEKIND
{
2819 CHANGEKIND_ADDMEMBER
,
2820 CHANGEKIND_DELETEMEMBER
,
2821 CHANGEKIND_SETNAMES
,
2822 CHANGEKIND_SETDOCUMENTATION
,
2824 CHANGEKIND_INVALIDATE
,
2825 CHANGEKIND_CHANGEFAILED
,
2829 /*****************************************************************************
2830 * ITypeChangeEvents interface
2832 #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
2833 #define __ITypeChangeEvents_INTERFACE_DEFINED__
2835 DEFINE_GUID(IID_ITypeChangeEvents
, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2836 #if defined(__cplusplus) && !defined(CINTERFACE)
2837 struct ITypeChangeEvents
: public IUnknown
2839 virtual HRESULT STDMETHODCALLTYPE
RequestTypeChange(
2840 CHANGEKIND changeKind
,
2841 ITypeInfo
* pTInfoBefore
,
2845 virtual HRESULT STDMETHODCALLTYPE
AfterTypeChange(
2846 CHANGEKIND changeKind
,
2847 ITypeInfo
* pTInfoAfter
,
2848 LPOLESTR pStrName
) = 0;
2852 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl
;
2853 struct ITypeChangeEvents
{
2854 const ITypeChangeEventsVtbl
* lpVtbl
;
2856 struct ITypeChangeEventsVtbl
{
2857 ICOM_MSVTABLE_COMPAT_FIELDS
2859 /*** IUnknown methods ***/
2860 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2861 ITypeChangeEvents
* This
,
2865 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2866 ITypeChangeEvents
* This
);
2868 ULONG (STDMETHODCALLTYPE
*Release
)(
2869 ITypeChangeEvents
* This
);
2871 /*** ITypeChangeEvents methods ***/
2872 HRESULT (STDMETHODCALLTYPE
*RequestTypeChange
)(
2873 ITypeChangeEvents
* This
,
2874 CHANGEKIND changeKind
,
2875 ITypeInfo
* pTInfoBefore
,
2879 HRESULT (STDMETHODCALLTYPE
*AfterTypeChange
)(
2880 ITypeChangeEvents
* This
,
2881 CHANGEKIND changeKind
,
2882 ITypeInfo
* pTInfoAfter
,
2887 /*** IUnknown methods ***/
2888 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2889 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2890 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2891 /*** ITypeChangeEvents methods ***/
2892 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2893 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2897 #define ITypeChangeEvents_METHODS \
2898 ICOM_MSVTABLE_COMPAT_FIELDS \
2899 /*** IUnknown methods ***/ \
2900 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2901 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2902 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2903 /*** ITypeChangeEvents methods ***/ \
2904 STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
2905 STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
2907 HRESULT CALLBACK
ITypeChangeEvents_RequestTypeChange_Proxy(
2908 ITypeChangeEvents
* This
,
2909 CHANGEKIND changeKind
,
2910 ITypeInfo
* pTInfoBefore
,
2913 void __RPC_STUB
ITypeChangeEvents_RequestTypeChange_Stub(
2914 struct IRpcStubBuffer
* This
,
2915 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2916 PRPC_MESSAGE pRpcMessage
,
2917 DWORD
* pdwStubPhase
);
2918 HRESULT CALLBACK
ITypeChangeEvents_AfterTypeChange_Proxy(
2919 ITypeChangeEvents
* This
,
2920 CHANGEKIND changeKind
,
2921 ITypeInfo
* pTInfoAfter
,
2923 void __RPC_STUB
ITypeChangeEvents_AfterTypeChange_Stub(
2924 struct IRpcStubBuffer
* This
,
2925 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2926 PRPC_MESSAGE pRpcMessage
,
2927 DWORD
* pdwStubPhase
);
2929 #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
2931 #ifndef __IErrorInfo_FWD_DEFINED__
2932 #define __IErrorInfo_FWD_DEFINED__
2933 typedef struct IErrorInfo IErrorInfo
;
2936 typedef IErrorInfo
*LPERRORINFO
;
2938 /*****************************************************************************
2939 * IErrorInfo interface
2941 #ifndef __IErrorInfo_INTERFACE_DEFINED__
2942 #define __IErrorInfo_INTERFACE_DEFINED__
2944 DEFINE_GUID(IID_IErrorInfo
, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2945 #if defined(__cplusplus) && !defined(CINTERFACE)
2946 struct IErrorInfo
: public IUnknown
2948 virtual HRESULT STDMETHODCALLTYPE
GetGUID(
2951 virtual HRESULT STDMETHODCALLTYPE
GetSource(
2952 BSTR
* pBstrSource
) = 0;
2954 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2955 BSTR
* pBstrDescription
) = 0;
2957 virtual HRESULT STDMETHODCALLTYPE
GetHelpFile(
2958 BSTR
* pBstrHelpFile
) = 0;
2960 virtual HRESULT STDMETHODCALLTYPE
GetHelpContext(
2961 DWORD
* pdwHelpContext
) = 0;
2965 typedef struct IErrorInfoVtbl IErrorInfoVtbl
;
2967 const IErrorInfoVtbl
* lpVtbl
;
2969 struct IErrorInfoVtbl
{
2970 ICOM_MSVTABLE_COMPAT_FIELDS
2972 /*** IUnknown methods ***/
2973 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2978 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2981 ULONG (STDMETHODCALLTYPE
*Release
)(
2984 /*** IErrorInfo methods ***/
2985 HRESULT (STDMETHODCALLTYPE
*GetGUID
)(
2989 HRESULT (STDMETHODCALLTYPE
*GetSource
)(
2993 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2995 BSTR
* pBstrDescription
);
2997 HRESULT (STDMETHODCALLTYPE
*GetHelpFile
)(
2999 BSTR
* pBstrHelpFile
);
3001 HRESULT (STDMETHODCALLTYPE
*GetHelpContext
)(
3003 DWORD
* pdwHelpContext
);
3007 /*** IUnknown methods ***/
3008 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3009 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3010 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3011 /*** IErrorInfo methods ***/
3012 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
3013 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
3014 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
3015 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
3016 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
3020 #define IErrorInfo_METHODS \
3021 ICOM_MSVTABLE_COMPAT_FIELDS \
3022 /*** IUnknown methods ***/ \
3023 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3024 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3025 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3026 /*** IErrorInfo methods ***/ \
3027 STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
3028 STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
3029 STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
3030 STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
3031 STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
3033 HRESULT CALLBACK
IErrorInfo_GetGUID_Proxy(
3036 void __RPC_STUB
IErrorInfo_GetGUID_Stub(
3037 struct IRpcStubBuffer
* This
,
3038 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3039 PRPC_MESSAGE pRpcMessage
,
3040 DWORD
* pdwStubPhase
);
3041 HRESULT CALLBACK
IErrorInfo_GetSource_Proxy(
3044 void __RPC_STUB
IErrorInfo_GetSource_Stub(
3045 struct IRpcStubBuffer
* This
,
3046 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3047 PRPC_MESSAGE pRpcMessage
,
3048 DWORD
* pdwStubPhase
);
3049 HRESULT CALLBACK
IErrorInfo_GetDescription_Proxy(
3051 BSTR
* pBstrDescription
);
3052 void __RPC_STUB
IErrorInfo_GetDescription_Stub(
3053 struct IRpcStubBuffer
* This
,
3054 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3055 PRPC_MESSAGE pRpcMessage
,
3056 DWORD
* pdwStubPhase
);
3057 HRESULT CALLBACK
IErrorInfo_GetHelpFile_Proxy(
3059 BSTR
* pBstrHelpFile
);
3060 void __RPC_STUB
IErrorInfo_GetHelpFile_Stub(
3061 struct IRpcStubBuffer
* This
,
3062 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3063 PRPC_MESSAGE pRpcMessage
,
3064 DWORD
* pdwStubPhase
);
3065 HRESULT CALLBACK
IErrorInfo_GetHelpContext_Proxy(
3067 DWORD
* pdwHelpContext
);
3068 void __RPC_STUB
IErrorInfo_GetHelpContext_Stub(
3069 struct IRpcStubBuffer
* This
,
3070 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3071 PRPC_MESSAGE pRpcMessage
,
3072 DWORD
* pdwStubPhase
);
3074 #endif /* __IErrorInfo_INTERFACE_DEFINED__ */
3076 #ifndef __ICreateErrorInfo_FWD_DEFINED__
3077 #define __ICreateErrorInfo_FWD_DEFINED__
3078 typedef struct ICreateErrorInfo ICreateErrorInfo
;
3081 typedef ICreateErrorInfo
*LPCREATEERRORINFO
;
3083 /*****************************************************************************
3084 * ICreateErrorInfo interface
3086 #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
3087 #define __ICreateErrorInfo_INTERFACE_DEFINED__
3089 DEFINE_GUID(IID_ICreateErrorInfo
, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3090 #if defined(__cplusplus) && !defined(CINTERFACE)
3091 struct ICreateErrorInfo
: public IUnknown
3093 virtual HRESULT STDMETHODCALLTYPE
SetGUID(
3096 virtual HRESULT STDMETHODCALLTYPE
SetSource(
3097 LPOLESTR szSource
) = 0;
3099 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
3100 LPOLESTR szDescription
) = 0;
3102 virtual HRESULT STDMETHODCALLTYPE
SetHelpFile(
3103 LPOLESTR szHelpFile
) = 0;
3105 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3106 DWORD dwHelpContext
) = 0;
3110 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl
;
3111 struct ICreateErrorInfo
{
3112 const ICreateErrorInfoVtbl
* lpVtbl
;
3114 struct ICreateErrorInfoVtbl
{
3115 ICOM_MSVTABLE_COMPAT_FIELDS
3117 /*** IUnknown methods ***/
3118 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3119 ICreateErrorInfo
* This
,
3123 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3124 ICreateErrorInfo
* This
);
3126 ULONG (STDMETHODCALLTYPE
*Release
)(
3127 ICreateErrorInfo
* This
);
3129 /*** ICreateErrorInfo methods ***/
3130 HRESULT (STDMETHODCALLTYPE
*SetGUID
)(
3131 ICreateErrorInfo
* This
,
3134 HRESULT (STDMETHODCALLTYPE
*SetSource
)(
3135 ICreateErrorInfo
* This
,
3138 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
3139 ICreateErrorInfo
* This
,
3140 LPOLESTR szDescription
);
3142 HRESULT (STDMETHODCALLTYPE
*SetHelpFile
)(
3143 ICreateErrorInfo
* This
,
3144 LPOLESTR szHelpFile
);
3146 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
3147 ICreateErrorInfo
* This
,
3148 DWORD dwHelpContext
);
3152 /*** IUnknown methods ***/
3153 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3154 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3155 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3156 /*** ICreateErrorInfo methods ***/
3157 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3158 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3159 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3160 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3161 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3165 #define ICreateErrorInfo_METHODS \
3166 ICOM_MSVTABLE_COMPAT_FIELDS \
3167 /*** IUnknown methods ***/ \
3168 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3169 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3170 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3171 /*** ICreateErrorInfo methods ***/ \
3172 STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
3173 STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
3174 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
3175 STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
3176 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
3178 HRESULT CALLBACK
ICreateErrorInfo_SetGUID_Proxy(
3179 ICreateErrorInfo
* This
,
3181 void __RPC_STUB
ICreateErrorInfo_SetGUID_Stub(
3182 struct IRpcStubBuffer
* This
,
3183 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3184 PRPC_MESSAGE pRpcMessage
,
3185 DWORD
* pdwStubPhase
);
3186 HRESULT CALLBACK
ICreateErrorInfo_SetSource_Proxy(
3187 ICreateErrorInfo
* This
,
3189 void __RPC_STUB
ICreateErrorInfo_SetSource_Stub(
3190 struct IRpcStubBuffer
* This
,
3191 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3192 PRPC_MESSAGE pRpcMessage
,
3193 DWORD
* pdwStubPhase
);
3194 HRESULT CALLBACK
ICreateErrorInfo_SetDescription_Proxy(
3195 ICreateErrorInfo
* This
,
3196 LPOLESTR szDescription
);
3197 void __RPC_STUB
ICreateErrorInfo_SetDescription_Stub(
3198 struct IRpcStubBuffer
* This
,
3199 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3200 PRPC_MESSAGE pRpcMessage
,
3201 DWORD
* pdwStubPhase
);
3202 HRESULT CALLBACK
ICreateErrorInfo_SetHelpFile_Proxy(
3203 ICreateErrorInfo
* This
,
3204 LPOLESTR szHelpFile
);
3205 void __RPC_STUB
ICreateErrorInfo_SetHelpFile_Stub(
3206 struct IRpcStubBuffer
* This
,
3207 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3208 PRPC_MESSAGE pRpcMessage
,
3209 DWORD
* pdwStubPhase
);
3210 HRESULT CALLBACK
ICreateErrorInfo_SetHelpContext_Proxy(
3211 ICreateErrorInfo
* This
,
3212 DWORD dwHelpContext
);
3213 void __RPC_STUB
ICreateErrorInfo_SetHelpContext_Stub(
3214 struct IRpcStubBuffer
* This
,
3215 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3216 PRPC_MESSAGE pRpcMessage
,
3217 DWORD
* pdwStubPhase
);
3219 #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
3221 #ifndef __ISupportErrorInfo_FWD_DEFINED__
3222 #define __ISupportErrorInfo_FWD_DEFINED__
3223 typedef struct ISupportErrorInfo ISupportErrorInfo
;
3226 typedef ISupportErrorInfo
*LPSUPPORTERRORINFO
;
3228 /*****************************************************************************
3229 * ISupportErrorInfo interface
3231 #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
3232 #define __ISupportErrorInfo_INTERFACE_DEFINED__
3234 DEFINE_GUID(IID_ISupportErrorInfo
, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3235 #if defined(__cplusplus) && !defined(CINTERFACE)
3236 struct ISupportErrorInfo
: public IUnknown
3238 virtual HRESULT STDMETHODCALLTYPE
InterfaceSupportsErrorInfo(
3243 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl
;
3244 struct ISupportErrorInfo
{
3245 const ISupportErrorInfoVtbl
* lpVtbl
;
3247 struct ISupportErrorInfoVtbl
{
3248 ICOM_MSVTABLE_COMPAT_FIELDS
3250 /*** IUnknown methods ***/
3251 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3252 ISupportErrorInfo
* This
,
3256 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3257 ISupportErrorInfo
* This
);
3259 ULONG (STDMETHODCALLTYPE
*Release
)(
3260 ISupportErrorInfo
* This
);
3262 /*** ISupportErrorInfo methods ***/
3263 HRESULT (STDMETHODCALLTYPE
*InterfaceSupportsErrorInfo
)(
3264 ISupportErrorInfo
* This
,
3269 /*** IUnknown methods ***/
3270 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3271 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3272 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3273 /*** ISupportErrorInfo methods ***/
3274 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3278 #define ISupportErrorInfo_METHODS \
3279 ICOM_MSVTABLE_COMPAT_FIELDS \
3280 /*** IUnknown methods ***/ \
3281 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3282 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3283 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3284 /*** ISupportErrorInfo methods ***/ \
3285 STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
3287 HRESULT CALLBACK
ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3288 ISupportErrorInfo
* This
,
3290 void __RPC_STUB
ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3291 struct IRpcStubBuffer
* This
,
3292 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3293 PRPC_MESSAGE pRpcMessage
,
3294 DWORD
* pdwStubPhase
);
3296 #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
3298 #ifndef __ITypeFactory_FWD_DEFINED__
3299 #define __ITypeFactory_FWD_DEFINED__
3300 typedef struct ITypeFactory ITypeFactory
;
3303 /*****************************************************************************
3304 * ITypeFactory interface
3306 #ifndef __ITypeFactory_INTERFACE_DEFINED__
3307 #define __ITypeFactory_INTERFACE_DEFINED__
3309 DEFINE_GUID(IID_ITypeFactory
, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3310 #if defined(__cplusplus) && !defined(CINTERFACE)
3311 struct ITypeFactory
: public IUnknown
3313 virtual HRESULT STDMETHODCALLTYPE
CreateFromTypeInfo(
3314 ITypeInfo
* pTypeInfo
,
3316 IUnknown
** ppv
) = 0;
3320 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl
;
3321 struct ITypeFactory
{
3322 const ITypeFactoryVtbl
* lpVtbl
;
3324 struct ITypeFactoryVtbl
{
3325 ICOM_MSVTABLE_COMPAT_FIELDS
3327 /*** IUnknown methods ***/
3328 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3333 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3334 ITypeFactory
* This
);
3336 ULONG (STDMETHODCALLTYPE
*Release
)(
3337 ITypeFactory
* This
);
3339 /*** ITypeFactory methods ***/
3340 HRESULT (STDMETHODCALLTYPE
*CreateFromTypeInfo
)(
3342 ITypeInfo
* pTypeInfo
,
3348 /*** IUnknown methods ***/
3349 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3350 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3351 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3352 /*** ITypeFactory methods ***/
3353 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3357 #define ITypeFactory_METHODS \
3358 ICOM_MSVTABLE_COMPAT_FIELDS \
3359 /*** IUnknown methods ***/ \
3360 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3361 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3362 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3363 /*** ITypeFactory methods ***/ \
3364 STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
3366 HRESULT CALLBACK
ITypeFactory_CreateFromTypeInfo_Proxy(
3368 ITypeInfo
* pTypeInfo
,
3371 void __RPC_STUB
ITypeFactory_CreateFromTypeInfo_Stub(
3372 struct IRpcStubBuffer
* This
,
3373 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3374 PRPC_MESSAGE pRpcMessage
,
3375 DWORD
* pdwStubPhase
);
3377 #endif /* __ITypeFactory_INTERFACE_DEFINED__ */
3379 #ifndef __ITypeMarshal_FWD_DEFINED__
3380 #define __ITypeMarshal_FWD_DEFINED__
3381 typedef struct ITypeMarshal ITypeMarshal
;
3384 /*****************************************************************************
3385 * ITypeMarshal interface
3387 #ifndef __ITypeMarshal_INTERFACE_DEFINED__
3388 #define __ITypeMarshal_INTERFACE_DEFINED__
3390 DEFINE_GUID(IID_ITypeMarshal
, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3391 #if defined(__cplusplus) && !defined(CINTERFACE)
3392 struct ITypeMarshal
: public IUnknown
3394 virtual HRESULT STDMETHODCALLTYPE
Size(
3396 DWORD dwDestContext
,
3397 PVOID pvDestContext
,
3400 virtual HRESULT STDMETHODCALLTYPE
Marshal(
3402 DWORD dwDestContext
,
3403 PVOID pvDestContext
,
3404 ULONG cbBufferLength
,
3406 ULONG
* pcbWritten
) = 0;
3408 virtual HRESULT STDMETHODCALLTYPE
Unmarshal(
3411 ULONG cbBufferLength
,
3413 ULONG
* pcbRead
) = 0;
3415 virtual HRESULT STDMETHODCALLTYPE
Free(
3420 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl
;
3421 struct ITypeMarshal
{
3422 const ITypeMarshalVtbl
* lpVtbl
;
3424 struct ITypeMarshalVtbl
{
3425 ICOM_MSVTABLE_COMPAT_FIELDS
3427 /*** IUnknown methods ***/
3428 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3433 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3434 ITypeMarshal
* This
);
3436 ULONG (STDMETHODCALLTYPE
*Release
)(
3437 ITypeMarshal
* This
);
3439 /*** ITypeMarshal methods ***/
3440 HRESULT (STDMETHODCALLTYPE
*Size
)(
3443 DWORD dwDestContext
,
3444 PVOID pvDestContext
,
3447 HRESULT (STDMETHODCALLTYPE
*Marshal
)(
3450 DWORD dwDestContext
,
3451 PVOID pvDestContext
,
3452 ULONG cbBufferLength
,
3456 HRESULT (STDMETHODCALLTYPE
*Unmarshal
)(
3460 ULONG cbBufferLength
,
3464 HRESULT (STDMETHODCALLTYPE
*Free
)(
3470 /*** IUnknown methods ***/
3471 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3472 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3473 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3474 /*** ITypeMarshal methods ***/
3475 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3476 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3477 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3478 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3482 #define ITypeMarshal_METHODS \
3483 ICOM_MSVTABLE_COMPAT_FIELDS \
3484 /*** IUnknown methods ***/ \
3485 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3486 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3487 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3488 /*** ITypeMarshal methods ***/ \
3489 STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
3490 STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
3491 STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
3492 STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
3494 HRESULT CALLBACK
ITypeMarshal_Size_Proxy(
3497 DWORD dwDestContext
,
3498 PVOID pvDestContext
,
3500 void __RPC_STUB
ITypeMarshal_Size_Stub(
3501 struct IRpcStubBuffer
* This
,
3502 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3503 PRPC_MESSAGE pRpcMessage
,
3504 DWORD
* pdwStubPhase
);
3505 HRESULT CALLBACK
ITypeMarshal_Marshal_Proxy(
3508 DWORD dwDestContext
,
3509 PVOID pvDestContext
,
3510 ULONG cbBufferLength
,
3513 void __RPC_STUB
ITypeMarshal_Marshal_Stub(
3514 struct IRpcStubBuffer
* This
,
3515 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3516 PRPC_MESSAGE pRpcMessage
,
3517 DWORD
* pdwStubPhase
);
3518 HRESULT CALLBACK
ITypeMarshal_Unmarshal_Proxy(
3522 ULONG cbBufferLength
,
3525 void __RPC_STUB
ITypeMarshal_Unmarshal_Stub(
3526 struct IRpcStubBuffer
* This
,
3527 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3528 PRPC_MESSAGE pRpcMessage
,
3529 DWORD
* pdwStubPhase
);
3530 HRESULT CALLBACK
ITypeMarshal_Free_Proxy(
3533 void __RPC_STUB
ITypeMarshal_Free_Stub(
3534 struct IRpcStubBuffer
* This
,
3535 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3536 PRPC_MESSAGE pRpcMessage
,
3537 DWORD
* pdwStubPhase
);
3539 #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
3541 typedef IRecordInfo
*LPRECORDINFO
;
3543 /*****************************************************************************
3544 * IRecordInfo interface
3546 #ifndef __IRecordInfo_INTERFACE_DEFINED__
3547 #define __IRecordInfo_INTERFACE_DEFINED__
3549 DEFINE_GUID(IID_IRecordInfo
, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3550 #if defined(__cplusplus) && !defined(CINTERFACE)
3551 struct IRecordInfo
: public IUnknown
3553 virtual HRESULT STDMETHODCALLTYPE
RecordInit(
3556 virtual HRESULT STDMETHODCALLTYPE
RecordClear(
3557 PVOID pvExisting
) = 0;
3559 virtual HRESULT STDMETHODCALLTYPE
RecordCopy(
3563 virtual HRESULT STDMETHODCALLTYPE
GetGuid(
3566 virtual HRESULT STDMETHODCALLTYPE
GetName(
3567 BSTR
* pbstrName
) = 0;
3569 virtual HRESULT STDMETHODCALLTYPE
GetSize(
3570 ULONG
* pcbSize
) = 0;
3572 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
3573 ITypeInfo
** ppTypeInfo
) = 0;
3575 virtual HRESULT STDMETHODCALLTYPE
GetField(
3577 LPCOLESTR szFieldName
,
3578 VARIANT
* pvarField
) = 0;
3580 virtual HRESULT STDMETHODCALLTYPE
GetFieldNoCopy(
3582 LPCOLESTR szFieldName
,
3584 PVOID
* ppvDataCArray
) = 0;
3586 virtual HRESULT STDMETHODCALLTYPE
PutField(
3589 LPCOLESTR szFieldName
,
3590 VARIANT
* pvarField
) = 0;
3592 virtual HRESULT STDMETHODCALLTYPE
PutFieldNoCopy(
3595 LPCOLESTR szFieldName
,
3596 VARIANT
* pvarField
) = 0;
3598 virtual HRESULT STDMETHODCALLTYPE
GetFieldNames(
3600 BSTR
* rgBstrNames
) = 0;
3602 virtual BOOL STDMETHODCALLTYPE
IsMatchingType(
3603 IRecordInfo
* pRecordInfo
) = 0;
3605 virtual PVOID STDMETHODCALLTYPE
RecordCreate(
3608 virtual HRESULT STDMETHODCALLTYPE
RecordCreateCopy(
3610 PVOID
* ppvDest
) = 0;
3612 virtual HRESULT STDMETHODCALLTYPE
RecordDestroy(
3613 PVOID pvRecord
) = 0;
3617 typedef struct IRecordInfoVtbl IRecordInfoVtbl
;
3618 struct IRecordInfo
{
3619 const IRecordInfoVtbl
* lpVtbl
;
3621 struct IRecordInfoVtbl
{
3622 ICOM_MSVTABLE_COMPAT_FIELDS
3624 /*** IUnknown methods ***/
3625 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3630 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3633 ULONG (STDMETHODCALLTYPE
*Release
)(
3636 /*** IRecordInfo methods ***/
3637 HRESULT (STDMETHODCALLTYPE
*RecordInit
)(
3641 HRESULT (STDMETHODCALLTYPE
*RecordClear
)(
3645 HRESULT (STDMETHODCALLTYPE
*RecordCopy
)(
3650 HRESULT (STDMETHODCALLTYPE
*GetGuid
)(
3654 HRESULT (STDMETHODCALLTYPE
*GetName
)(
3658 HRESULT (STDMETHODCALLTYPE
*GetSize
)(
3662 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
3664 ITypeInfo
** ppTypeInfo
);
3666 HRESULT (STDMETHODCALLTYPE
*GetField
)(
3669 LPCOLESTR szFieldName
,
3670 VARIANT
* pvarField
);
3672 HRESULT (STDMETHODCALLTYPE
*GetFieldNoCopy
)(
3675 LPCOLESTR szFieldName
,
3677 PVOID
* ppvDataCArray
);
3679 HRESULT (STDMETHODCALLTYPE
*PutField
)(
3683 LPCOLESTR szFieldName
,
3684 VARIANT
* pvarField
);
3686 HRESULT (STDMETHODCALLTYPE
*PutFieldNoCopy
)(
3690 LPCOLESTR szFieldName
,
3691 VARIANT
* pvarField
);
3693 HRESULT (STDMETHODCALLTYPE
*GetFieldNames
)(
3698 BOOL (STDMETHODCALLTYPE
*IsMatchingType
)(
3700 IRecordInfo
* pRecordInfo
);
3702 PVOID (STDMETHODCALLTYPE
*RecordCreate
)(
3705 HRESULT (STDMETHODCALLTYPE
*RecordCreateCopy
)(
3710 HRESULT (STDMETHODCALLTYPE
*RecordDestroy
)(
3716 /*** IUnknown methods ***/
3717 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3718 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3719 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3720 /*** IRecordInfo methods ***/
3721 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3722 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3723 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3724 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3725 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3726 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3727 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3728 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3729 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3730 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3731 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3732 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3733 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3734 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3735 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3736 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3740 #define IRecordInfo_METHODS \
3741 ICOM_MSVTABLE_COMPAT_FIELDS \
3742 /*** IUnknown methods ***/ \
3743 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3744 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3745 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3746 /*** IRecordInfo methods ***/ \
3747 STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
3748 STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
3749 STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
3750 STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
3751 STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
3752 STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
3753 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
3754 STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3755 STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
3756 STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3757 STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3758 STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
3759 STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
3760 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
3761 STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
3762 STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
3764 HRESULT CALLBACK
IRecordInfo_RecordInit_Proxy(
3767 void __RPC_STUB
IRecordInfo_RecordInit_Stub(
3768 struct IRpcStubBuffer
* This
,
3769 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3770 PRPC_MESSAGE pRpcMessage
,
3771 DWORD
* pdwStubPhase
);
3772 HRESULT CALLBACK
IRecordInfo_RecordClear_Proxy(
3775 void __RPC_STUB
IRecordInfo_RecordClear_Stub(
3776 struct IRpcStubBuffer
* This
,
3777 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3778 PRPC_MESSAGE pRpcMessage
,
3779 DWORD
* pdwStubPhase
);
3780 HRESULT CALLBACK
IRecordInfo_RecordCopy_Proxy(
3784 void __RPC_STUB
IRecordInfo_RecordCopy_Stub(
3785 struct IRpcStubBuffer
* This
,
3786 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3787 PRPC_MESSAGE pRpcMessage
,
3788 DWORD
* pdwStubPhase
);
3789 HRESULT CALLBACK
IRecordInfo_GetGuid_Proxy(
3792 void __RPC_STUB
IRecordInfo_GetGuid_Stub(
3793 struct IRpcStubBuffer
* This
,
3794 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3795 PRPC_MESSAGE pRpcMessage
,
3796 DWORD
* pdwStubPhase
);
3797 HRESULT CALLBACK
IRecordInfo_GetName_Proxy(
3800 void __RPC_STUB
IRecordInfo_GetName_Stub(
3801 struct IRpcStubBuffer
* This
,
3802 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3803 PRPC_MESSAGE pRpcMessage
,
3804 DWORD
* pdwStubPhase
);
3805 HRESULT CALLBACK
IRecordInfo_GetSize_Proxy(
3808 void __RPC_STUB
IRecordInfo_GetSize_Stub(
3809 struct IRpcStubBuffer
* This
,
3810 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3811 PRPC_MESSAGE pRpcMessage
,
3812 DWORD
* pdwStubPhase
);
3813 HRESULT CALLBACK
IRecordInfo_GetTypeInfo_Proxy(
3815 ITypeInfo
** ppTypeInfo
);
3816 void __RPC_STUB
IRecordInfo_GetTypeInfo_Stub(
3817 struct IRpcStubBuffer
* This
,
3818 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3819 PRPC_MESSAGE pRpcMessage
,
3820 DWORD
* pdwStubPhase
);
3821 HRESULT CALLBACK
IRecordInfo_GetField_Proxy(
3824 LPCOLESTR szFieldName
,
3825 VARIANT
* pvarField
);
3826 void __RPC_STUB
IRecordInfo_GetField_Stub(
3827 struct IRpcStubBuffer
* This
,
3828 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3829 PRPC_MESSAGE pRpcMessage
,
3830 DWORD
* pdwStubPhase
);
3831 HRESULT CALLBACK
IRecordInfo_GetFieldNoCopy_Proxy(
3834 LPCOLESTR szFieldName
,
3836 PVOID
* ppvDataCArray
);
3837 void __RPC_STUB
IRecordInfo_GetFieldNoCopy_Stub(
3838 struct IRpcStubBuffer
* This
,
3839 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3840 PRPC_MESSAGE pRpcMessage
,
3841 DWORD
* pdwStubPhase
);
3842 HRESULT CALLBACK
IRecordInfo_PutField_Proxy(
3846 LPCOLESTR szFieldName
,
3847 VARIANT
* pvarField
);
3848 void __RPC_STUB
IRecordInfo_PutField_Stub(
3849 struct IRpcStubBuffer
* This
,
3850 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3851 PRPC_MESSAGE pRpcMessage
,
3852 DWORD
* pdwStubPhase
);
3853 HRESULT CALLBACK
IRecordInfo_PutFieldNoCopy_Proxy(
3857 LPCOLESTR szFieldName
,
3858 VARIANT
* pvarField
);
3859 void __RPC_STUB
IRecordInfo_PutFieldNoCopy_Stub(
3860 struct IRpcStubBuffer
* This
,
3861 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3862 PRPC_MESSAGE pRpcMessage
,
3863 DWORD
* pdwStubPhase
);
3864 HRESULT CALLBACK
IRecordInfo_GetFieldNames_Proxy(
3868 void __RPC_STUB
IRecordInfo_GetFieldNames_Stub(
3869 struct IRpcStubBuffer
* This
,
3870 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3871 PRPC_MESSAGE pRpcMessage
,
3872 DWORD
* pdwStubPhase
);
3873 BOOL CALLBACK
IRecordInfo_IsMatchingType_Proxy(
3875 IRecordInfo
* pRecordInfo
);
3876 void __RPC_STUB
IRecordInfo_IsMatchingType_Stub(
3877 struct IRpcStubBuffer
* This
,
3878 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3879 PRPC_MESSAGE pRpcMessage
,
3880 DWORD
* pdwStubPhase
);
3881 PVOID CALLBACK
IRecordInfo_RecordCreate_Proxy(
3883 void __RPC_STUB
IRecordInfo_RecordCreate_Stub(
3884 struct IRpcStubBuffer
* This
,
3885 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3886 PRPC_MESSAGE pRpcMessage
,
3887 DWORD
* pdwStubPhase
);
3888 HRESULT CALLBACK
IRecordInfo_RecordCreateCopy_Proxy(
3892 void __RPC_STUB
IRecordInfo_RecordCreateCopy_Stub(
3893 struct IRpcStubBuffer
* This
,
3894 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3895 PRPC_MESSAGE pRpcMessage
,
3896 DWORD
* pdwStubPhase
);
3897 HRESULT CALLBACK
IRecordInfo_RecordDestroy_Proxy(
3900 void __RPC_STUB
IRecordInfo_RecordDestroy_Stub(
3901 struct IRpcStubBuffer
* This
,
3902 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3903 PRPC_MESSAGE pRpcMessage
,
3904 DWORD
* pdwStubPhase
);
3906 #endif /* __IRecordInfo_INTERFACE_DEFINED__ */
3908 #ifndef __ICreateTypeInfo_FWD_DEFINED__
3909 #define __ICreateTypeInfo_FWD_DEFINED__
3910 typedef struct ICreateTypeInfo ICreateTypeInfo
;
3913 typedef ICreateTypeInfo
*LPCREATETYPEINFO
;
3915 /*****************************************************************************
3916 * ICreateTypeInfo interface
3918 #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
3919 #define __ICreateTypeInfo_INTERFACE_DEFINED__
3921 DEFINE_GUID(IID_ICreateTypeInfo
, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3922 #if defined(__cplusplus) && !defined(CINTERFACE)
3923 struct ICreateTypeInfo
: public IUnknown
3925 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
3928 virtual HRESULT STDMETHODCALLTYPE
SetTypeFlags(
3929 UINT uTypeFlags
) = 0;
3931 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
3932 LPOLESTR pStrDoc
) = 0;
3934 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3935 DWORD dwHelpContext
) = 0;
3937 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
3939 WORD wMinorVerNum
) = 0;
3941 virtual HRESULT STDMETHODCALLTYPE
AddRefTypeInfo(
3943 HREFTYPE
* phRefType
) = 0;
3945 virtual HRESULT STDMETHODCALLTYPE
AddFuncDesc(
3947 FUNCDESC
* pFuncDesc
) = 0;
3949 virtual HRESULT STDMETHODCALLTYPE
AddImplType(
3951 HREFTYPE hRefType
) = 0;
3953 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeFlags(
3955 INT implTypeFlags
) = 0;
3957 virtual HRESULT STDMETHODCALLTYPE
SetAlignment(
3958 WORD cbAlignment
) = 0;
3960 virtual HRESULT STDMETHODCALLTYPE
SetSchema(
3961 LPOLESTR pStrSchema
) = 0;
3963 virtual HRESULT STDMETHODCALLTYPE
AddVarDesc(
3965 VARDESC
* pVarDesc
) = 0;
3967 virtual HRESULT STDMETHODCALLTYPE
SetFuncAndParamNames(
3969 LPOLESTR
* rgszNames
,
3972 virtual HRESULT STDMETHODCALLTYPE
SetVarName(
3974 LPOLESTR szName
) = 0;
3976 virtual HRESULT STDMETHODCALLTYPE
SetTypeDescAlias(
3977 TYPEDESC
* pTDescAlias
) = 0;
3979 virtual HRESULT STDMETHODCALLTYPE
DefineFuncAsDllEntry(
3982 LPOLESTR szProcName
) = 0;
3984 virtual HRESULT STDMETHODCALLTYPE
SetFuncDocString(
3986 LPOLESTR szDocString
) = 0;
3988 virtual HRESULT STDMETHODCALLTYPE
SetVarDocString(
3990 LPOLESTR szDocString
) = 0;
3992 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpContext(
3994 DWORD dwHelpContext
) = 0;
3996 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpContext(
3998 DWORD dwHelpContext
) = 0;
4000 virtual HRESULT STDMETHODCALLTYPE
SetMops(
4004 virtual HRESULT STDMETHODCALLTYPE
SetTypeIdldesc(
4005 IDLDESC
* pIdlDesc
) = 0;
4007 virtual HRESULT STDMETHODCALLTYPE
LayOut(
4012 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl
;
4013 struct ICreateTypeInfo
{
4014 const ICreateTypeInfoVtbl
* lpVtbl
;
4016 struct ICreateTypeInfoVtbl
{
4017 ICOM_MSVTABLE_COMPAT_FIELDS
4019 /*** IUnknown methods ***/
4020 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4021 ICreateTypeInfo
* This
,
4025 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4026 ICreateTypeInfo
* This
);
4028 ULONG (STDMETHODCALLTYPE
*Release
)(
4029 ICreateTypeInfo
* This
);
4031 /*** ICreateTypeInfo methods ***/
4032 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4033 ICreateTypeInfo
* This
,
4036 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4037 ICreateTypeInfo
* This
,
4040 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4041 ICreateTypeInfo
* This
,
4044 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4045 ICreateTypeInfo
* This
,
4046 DWORD dwHelpContext
);
4048 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4049 ICreateTypeInfo
* This
,
4053 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4054 ICreateTypeInfo
* This
,
4056 HREFTYPE
* phRefType
);
4058 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4059 ICreateTypeInfo
* This
,
4061 FUNCDESC
* pFuncDesc
);
4063 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4064 ICreateTypeInfo
* This
,
4068 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4069 ICreateTypeInfo
* This
,
4073 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4074 ICreateTypeInfo
* This
,
4077 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4078 ICreateTypeInfo
* This
,
4079 LPOLESTR pStrSchema
);
4081 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4082 ICreateTypeInfo
* This
,
4086 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4087 ICreateTypeInfo
* This
,
4089 LPOLESTR
* rgszNames
,
4092 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4093 ICreateTypeInfo
* This
,
4097 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4098 ICreateTypeInfo
* This
,
4099 TYPEDESC
* pTDescAlias
);
4101 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4102 ICreateTypeInfo
* This
,
4105 LPOLESTR szProcName
);
4107 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4108 ICreateTypeInfo
* This
,
4110 LPOLESTR szDocString
);
4112 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4113 ICreateTypeInfo
* This
,
4115 LPOLESTR szDocString
);
4117 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4118 ICreateTypeInfo
* This
,
4120 DWORD dwHelpContext
);
4122 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4123 ICreateTypeInfo
* This
,
4125 DWORD dwHelpContext
);
4127 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4128 ICreateTypeInfo
* This
,
4132 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4133 ICreateTypeInfo
* This
,
4136 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4137 ICreateTypeInfo
* This
);
4141 /*** IUnknown methods ***/
4142 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4143 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4144 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4145 /*** ICreateTypeInfo methods ***/
4146 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4147 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4148 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4149 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4150 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4151 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4152 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4153 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4154 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4155 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4156 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4157 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4158 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4159 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4160 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4161 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4162 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4163 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4164 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4165 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4166 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4167 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4168 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4172 #define ICreateTypeInfo_METHODS \
4173 ICOM_MSVTABLE_COMPAT_FIELDS \
4174 /*** IUnknown methods ***/ \
4175 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4176 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4177 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4178 /*** ICreateTypeInfo methods ***/ \
4179 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4180 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4181 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4182 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4183 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4184 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4185 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4186 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4187 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4188 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4189 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4190 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4191 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4192 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4193 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4194 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4195 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4196 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4197 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4198 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4199 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4200 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4201 STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
4203 HRESULT CALLBACK
ICreateTypeInfo_SetGuid_Proxy(
4204 ICreateTypeInfo
* This
,
4206 void __RPC_STUB
ICreateTypeInfo_SetGuid_Stub(
4207 struct IRpcStubBuffer
* This
,
4208 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4209 PRPC_MESSAGE pRpcMessage
,
4210 DWORD
* pdwStubPhase
);
4211 HRESULT CALLBACK
ICreateTypeInfo_SetTypeFlags_Proxy(
4212 ICreateTypeInfo
* This
,
4214 void __RPC_STUB
ICreateTypeInfo_SetTypeFlags_Stub(
4215 struct IRpcStubBuffer
* This
,
4216 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4217 PRPC_MESSAGE pRpcMessage
,
4218 DWORD
* pdwStubPhase
);
4219 HRESULT CALLBACK
ICreateTypeInfo_SetDocString_Proxy(
4220 ICreateTypeInfo
* This
,
4222 void __RPC_STUB
ICreateTypeInfo_SetDocString_Stub(
4223 struct IRpcStubBuffer
* This
,
4224 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4225 PRPC_MESSAGE pRpcMessage
,
4226 DWORD
* pdwStubPhase
);
4227 HRESULT CALLBACK
ICreateTypeInfo_SetHelpContext_Proxy(
4228 ICreateTypeInfo
* This
,
4229 DWORD dwHelpContext
);
4230 void __RPC_STUB
ICreateTypeInfo_SetHelpContext_Stub(
4231 struct IRpcStubBuffer
* This
,
4232 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4233 PRPC_MESSAGE pRpcMessage
,
4234 DWORD
* pdwStubPhase
);
4235 HRESULT CALLBACK
ICreateTypeInfo_SetVersion_Proxy(
4236 ICreateTypeInfo
* This
,
4239 void __RPC_STUB
ICreateTypeInfo_SetVersion_Stub(
4240 struct IRpcStubBuffer
* This
,
4241 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4242 PRPC_MESSAGE pRpcMessage
,
4243 DWORD
* pdwStubPhase
);
4244 HRESULT CALLBACK
ICreateTypeInfo_AddRefTypeInfo_Proxy(
4245 ICreateTypeInfo
* This
,
4247 HREFTYPE
* phRefType
);
4248 void __RPC_STUB
ICreateTypeInfo_AddRefTypeInfo_Stub(
4249 struct IRpcStubBuffer
* This
,
4250 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4251 PRPC_MESSAGE pRpcMessage
,
4252 DWORD
* pdwStubPhase
);
4253 HRESULT CALLBACK
ICreateTypeInfo_AddFuncDesc_Proxy(
4254 ICreateTypeInfo
* This
,
4256 FUNCDESC
* pFuncDesc
);
4257 void __RPC_STUB
ICreateTypeInfo_AddFuncDesc_Stub(
4258 struct IRpcStubBuffer
* This
,
4259 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4260 PRPC_MESSAGE pRpcMessage
,
4261 DWORD
* pdwStubPhase
);
4262 HRESULT CALLBACK
ICreateTypeInfo_AddImplType_Proxy(
4263 ICreateTypeInfo
* This
,
4266 void __RPC_STUB
ICreateTypeInfo_AddImplType_Stub(
4267 struct IRpcStubBuffer
* This
,
4268 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4269 PRPC_MESSAGE pRpcMessage
,
4270 DWORD
* pdwStubPhase
);
4271 HRESULT CALLBACK
ICreateTypeInfo_SetImplTypeFlags_Proxy(
4272 ICreateTypeInfo
* This
,
4275 void __RPC_STUB
ICreateTypeInfo_SetImplTypeFlags_Stub(
4276 struct IRpcStubBuffer
* This
,
4277 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4278 PRPC_MESSAGE pRpcMessage
,
4279 DWORD
* pdwStubPhase
);
4280 HRESULT CALLBACK
ICreateTypeInfo_SetAlignment_Proxy(
4281 ICreateTypeInfo
* This
,
4283 void __RPC_STUB
ICreateTypeInfo_SetAlignment_Stub(
4284 struct IRpcStubBuffer
* This
,
4285 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4286 PRPC_MESSAGE pRpcMessage
,
4287 DWORD
* pdwStubPhase
);
4288 HRESULT CALLBACK
ICreateTypeInfo_SetSchema_Proxy(
4289 ICreateTypeInfo
* This
,
4290 LPOLESTR pStrSchema
);
4291 void __RPC_STUB
ICreateTypeInfo_SetSchema_Stub(
4292 struct IRpcStubBuffer
* This
,
4293 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4294 PRPC_MESSAGE pRpcMessage
,
4295 DWORD
* pdwStubPhase
);
4296 HRESULT CALLBACK
ICreateTypeInfo_AddVarDesc_Proxy(
4297 ICreateTypeInfo
* This
,
4300 void __RPC_STUB
ICreateTypeInfo_AddVarDesc_Stub(
4301 struct IRpcStubBuffer
* This
,
4302 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4303 PRPC_MESSAGE pRpcMessage
,
4304 DWORD
* pdwStubPhase
);
4305 HRESULT CALLBACK
ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4306 ICreateTypeInfo
* This
,
4308 LPOLESTR
* rgszNames
,
4310 void __RPC_STUB
ICreateTypeInfo_SetFuncAndParamNames_Stub(
4311 struct IRpcStubBuffer
* This
,
4312 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4313 PRPC_MESSAGE pRpcMessage
,
4314 DWORD
* pdwStubPhase
);
4315 HRESULT CALLBACK
ICreateTypeInfo_SetVarName_Proxy(
4316 ICreateTypeInfo
* This
,
4319 void __RPC_STUB
ICreateTypeInfo_SetVarName_Stub(
4320 struct IRpcStubBuffer
* This
,
4321 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4322 PRPC_MESSAGE pRpcMessage
,
4323 DWORD
* pdwStubPhase
);
4324 HRESULT CALLBACK
ICreateTypeInfo_SetTypeDescAlias_Proxy(
4325 ICreateTypeInfo
* This
,
4326 TYPEDESC
* pTDescAlias
);
4327 void __RPC_STUB
ICreateTypeInfo_SetTypeDescAlias_Stub(
4328 struct IRpcStubBuffer
* This
,
4329 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4330 PRPC_MESSAGE pRpcMessage
,
4331 DWORD
* pdwStubPhase
);
4332 HRESULT CALLBACK
ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4333 ICreateTypeInfo
* This
,
4336 LPOLESTR szProcName
);
4337 void __RPC_STUB
ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4338 struct IRpcStubBuffer
* This
,
4339 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4340 PRPC_MESSAGE pRpcMessage
,
4341 DWORD
* pdwStubPhase
);
4342 HRESULT CALLBACK
ICreateTypeInfo_SetFuncDocString_Proxy(
4343 ICreateTypeInfo
* This
,
4345 LPOLESTR szDocString
);
4346 void __RPC_STUB
ICreateTypeInfo_SetFuncDocString_Stub(
4347 struct IRpcStubBuffer
* This
,
4348 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4349 PRPC_MESSAGE pRpcMessage
,
4350 DWORD
* pdwStubPhase
);
4351 HRESULT CALLBACK
ICreateTypeInfo_SetVarDocString_Proxy(
4352 ICreateTypeInfo
* This
,
4354 LPOLESTR szDocString
);
4355 void __RPC_STUB
ICreateTypeInfo_SetVarDocString_Stub(
4356 struct IRpcStubBuffer
* This
,
4357 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4358 PRPC_MESSAGE pRpcMessage
,
4359 DWORD
* pdwStubPhase
);
4360 HRESULT CALLBACK
ICreateTypeInfo_SetFuncHelpContext_Proxy(
4361 ICreateTypeInfo
* This
,
4363 DWORD dwHelpContext
);
4364 void __RPC_STUB
ICreateTypeInfo_SetFuncHelpContext_Stub(
4365 struct IRpcStubBuffer
* This
,
4366 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4367 PRPC_MESSAGE pRpcMessage
,
4368 DWORD
* pdwStubPhase
);
4369 HRESULT CALLBACK
ICreateTypeInfo_SetVarHelpContext_Proxy(
4370 ICreateTypeInfo
* This
,
4372 DWORD dwHelpContext
);
4373 void __RPC_STUB
ICreateTypeInfo_SetVarHelpContext_Stub(
4374 struct IRpcStubBuffer
* This
,
4375 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4376 PRPC_MESSAGE pRpcMessage
,
4377 DWORD
* pdwStubPhase
);
4378 HRESULT CALLBACK
ICreateTypeInfo_SetMops_Proxy(
4379 ICreateTypeInfo
* This
,
4382 void __RPC_STUB
ICreateTypeInfo_SetMops_Stub(
4383 struct IRpcStubBuffer
* This
,
4384 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4385 PRPC_MESSAGE pRpcMessage
,
4386 DWORD
* pdwStubPhase
);
4387 HRESULT CALLBACK
ICreateTypeInfo_SetTypeIdldesc_Proxy(
4388 ICreateTypeInfo
* This
,
4390 void __RPC_STUB
ICreateTypeInfo_SetTypeIdldesc_Stub(
4391 struct IRpcStubBuffer
* This
,
4392 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4393 PRPC_MESSAGE pRpcMessage
,
4394 DWORD
* pdwStubPhase
);
4395 HRESULT CALLBACK
ICreateTypeInfo_LayOut_Proxy(
4396 ICreateTypeInfo
* This
);
4397 void __RPC_STUB
ICreateTypeInfo_LayOut_Stub(
4398 struct IRpcStubBuffer
* This
,
4399 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4400 PRPC_MESSAGE pRpcMessage
,
4401 DWORD
* pdwStubPhase
);
4403 #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
4405 #ifndef __ICreateTypeInfo2_FWD_DEFINED__
4406 #define __ICreateTypeInfo2_FWD_DEFINED__
4407 typedef struct ICreateTypeInfo2 ICreateTypeInfo2
;
4410 typedef ICreateTypeInfo2
*LPCREATETYPEINFO2
;
4412 /*****************************************************************************
4413 * ICreateTypeInfo2 interface
4415 #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
4416 #define __ICreateTypeInfo2_INTERFACE_DEFINED__
4418 DEFINE_GUID(IID_ICreateTypeInfo2
, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4419 #if defined(__cplusplus) && !defined(CINTERFACE)
4420 struct ICreateTypeInfo2
: public ICreateTypeInfo
4422 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDesc(
4425 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDescByMemId(
4427 INVOKEKIND invKind
) = 0;
4429 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDesc(
4432 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDescByMemId(
4433 MEMBERID memid
) = 0;
4435 virtual HRESULT STDMETHODCALLTYPE
DeleteImplType(
4438 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
4440 VARIANT
* pVarVal
) = 0;
4442 virtual HRESULT STDMETHODCALLTYPE
SetFuncCustData(
4445 VARIANT
* pVarVal
) = 0;
4447 virtual HRESULT STDMETHODCALLTYPE
SetParamCustData(
4451 VARIANT
* pVarVal
) = 0;
4453 virtual HRESULT STDMETHODCALLTYPE
SetVarCustData(
4456 VARIANT
* pVarVal
) = 0;
4458 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeCustData(
4461 VARIANT
* pVarVal
) = 0;
4463 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
4464 ULONG dwHelpStringContext
) = 0;
4466 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpStringContext(
4468 ULONG dwHelpStringContext
) = 0;
4470 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpStringContext(
4472 ULONG dwHelpStringContext
) = 0;
4474 virtual HRESULT STDMETHODCALLTYPE
Invalidate(
4477 virtual HRESULT STDMETHODCALLTYPE
SetName(
4478 LPOLESTR szName
) = 0;
4482 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl
;
4483 struct ICreateTypeInfo2
{
4484 const ICreateTypeInfo2Vtbl
* lpVtbl
;
4486 struct ICreateTypeInfo2Vtbl
{
4487 ICOM_MSVTABLE_COMPAT_FIELDS
4489 /*** IUnknown methods ***/
4490 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4491 ICreateTypeInfo2
* This
,
4495 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4496 ICreateTypeInfo2
* This
);
4498 ULONG (STDMETHODCALLTYPE
*Release
)(
4499 ICreateTypeInfo2
* This
);
4501 /*** ICreateTypeInfo methods ***/
4502 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4503 ICreateTypeInfo2
* This
,
4506 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4507 ICreateTypeInfo2
* This
,
4510 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4511 ICreateTypeInfo2
* This
,
4514 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4515 ICreateTypeInfo2
* This
,
4516 DWORD dwHelpContext
);
4518 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4519 ICreateTypeInfo2
* This
,
4523 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4524 ICreateTypeInfo2
* This
,
4526 HREFTYPE
* phRefType
);
4528 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4529 ICreateTypeInfo2
* This
,
4531 FUNCDESC
* pFuncDesc
);
4533 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4534 ICreateTypeInfo2
* This
,
4538 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4539 ICreateTypeInfo2
* This
,
4543 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4544 ICreateTypeInfo2
* This
,
4547 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4548 ICreateTypeInfo2
* This
,
4549 LPOLESTR pStrSchema
);
4551 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4552 ICreateTypeInfo2
* This
,
4556 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4557 ICreateTypeInfo2
* This
,
4559 LPOLESTR
* rgszNames
,
4562 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4563 ICreateTypeInfo2
* This
,
4567 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4568 ICreateTypeInfo2
* This
,
4569 TYPEDESC
* pTDescAlias
);
4571 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4572 ICreateTypeInfo2
* This
,
4575 LPOLESTR szProcName
);
4577 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4578 ICreateTypeInfo2
* This
,
4580 LPOLESTR szDocString
);
4582 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4583 ICreateTypeInfo2
* This
,
4585 LPOLESTR szDocString
);
4587 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4588 ICreateTypeInfo2
* This
,
4590 DWORD dwHelpContext
);
4592 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4593 ICreateTypeInfo2
* This
,
4595 DWORD dwHelpContext
);
4597 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4598 ICreateTypeInfo2
* This
,
4602 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4603 ICreateTypeInfo2
* This
,
4606 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4607 ICreateTypeInfo2
* This
);
4609 /*** ICreateTypeInfo2 methods ***/
4610 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDesc
)(
4611 ICreateTypeInfo2
* This
,
4614 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDescByMemId
)(
4615 ICreateTypeInfo2
* This
,
4617 INVOKEKIND invKind
);
4619 HRESULT (STDMETHODCALLTYPE
*DeleteVarDesc
)(
4620 ICreateTypeInfo2
* This
,
4623 HRESULT (STDMETHODCALLTYPE
*DeleteVarDescByMemId
)(
4624 ICreateTypeInfo2
* This
,
4627 HRESULT (STDMETHODCALLTYPE
*DeleteImplType
)(
4628 ICreateTypeInfo2
* This
,
4631 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
4632 ICreateTypeInfo2
* This
,
4636 HRESULT (STDMETHODCALLTYPE
*SetFuncCustData
)(
4637 ICreateTypeInfo2
* This
,
4642 HRESULT (STDMETHODCALLTYPE
*SetParamCustData
)(
4643 ICreateTypeInfo2
* This
,
4649 HRESULT (STDMETHODCALLTYPE
*SetVarCustData
)(
4650 ICreateTypeInfo2
* This
,
4655 HRESULT (STDMETHODCALLTYPE
*SetImplTypeCustData
)(
4656 ICreateTypeInfo2
* This
,
4661 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
4662 ICreateTypeInfo2
* This
,
4663 ULONG dwHelpStringContext
);
4665 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpStringContext
)(
4666 ICreateTypeInfo2
* This
,
4668 ULONG dwHelpStringContext
);
4670 HRESULT (STDMETHODCALLTYPE
*SetVarHelpStringContext
)(
4671 ICreateTypeInfo2
* This
,
4673 ULONG dwHelpStringContext
);
4675 HRESULT (STDMETHODCALLTYPE
*Invalidate
)(
4676 ICreateTypeInfo2
* This
);
4678 HRESULT (STDMETHODCALLTYPE
*SetName
)(
4679 ICreateTypeInfo2
* This
,
4684 /*** IUnknown methods ***/
4685 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4686 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4687 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4688 /*** ICreateTypeInfo methods ***/
4689 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4690 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4691 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4692 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4693 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4694 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4695 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4696 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4697 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4698 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4699 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4700 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4701 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4702 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4703 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4704 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4705 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4706 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4707 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4708 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4709 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4710 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4711 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4712 /*** ICreateTypeInfo2 methods ***/
4713 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4714 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4715 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4716 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4717 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4718 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4719 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4720 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4721 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4722 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4723 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4724 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4725 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4726 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4727 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4731 #define ICreateTypeInfo2_METHODS \
4732 ICOM_MSVTABLE_COMPAT_FIELDS \
4733 /*** IUnknown methods ***/ \
4734 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4735 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4736 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4737 /*** ICreateTypeInfo methods ***/ \
4738 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4739 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4740 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4741 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4742 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4743 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4744 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4745 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4746 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4747 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4748 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4749 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4750 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4751 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4752 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4753 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4754 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4755 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4756 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4757 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4758 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4759 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4760 STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
4761 /*** ICreateTypeInfo2 methods ***/ \
4762 STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
4763 STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
4764 STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
4765 STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
4766 STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
4767 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
4768 STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4769 STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
4770 STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4771 STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4772 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
4773 STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4774 STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4775 STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
4776 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
4778 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4779 ICreateTypeInfo2
* This
,
4781 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDesc_Stub(
4782 struct IRpcStubBuffer
* This
,
4783 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4784 PRPC_MESSAGE pRpcMessage
,
4785 DWORD
* pdwStubPhase
);
4786 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4787 ICreateTypeInfo2
* This
,
4789 INVOKEKIND invKind
);
4790 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4791 struct IRpcStubBuffer
* This
,
4792 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4793 PRPC_MESSAGE pRpcMessage
,
4794 DWORD
* pdwStubPhase
);
4795 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDesc_Proxy(
4796 ICreateTypeInfo2
* This
,
4798 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDesc_Stub(
4799 struct IRpcStubBuffer
* This
,
4800 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4801 PRPC_MESSAGE pRpcMessage
,
4802 DWORD
* pdwStubPhase
);
4803 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4804 ICreateTypeInfo2
* This
,
4806 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4807 struct IRpcStubBuffer
* This
,
4808 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4809 PRPC_MESSAGE pRpcMessage
,
4810 DWORD
* pdwStubPhase
);
4811 HRESULT CALLBACK
ICreateTypeInfo2_DeleteImplType_Proxy(
4812 ICreateTypeInfo2
* This
,
4814 void __RPC_STUB
ICreateTypeInfo2_DeleteImplType_Stub(
4815 struct IRpcStubBuffer
* This
,
4816 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4817 PRPC_MESSAGE pRpcMessage
,
4818 DWORD
* pdwStubPhase
);
4819 HRESULT CALLBACK
ICreateTypeInfo2_SetCustData_Proxy(
4820 ICreateTypeInfo2
* This
,
4823 void __RPC_STUB
ICreateTypeInfo2_SetCustData_Stub(
4824 struct IRpcStubBuffer
* This
,
4825 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4826 PRPC_MESSAGE pRpcMessage
,
4827 DWORD
* pdwStubPhase
);
4828 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncCustData_Proxy(
4829 ICreateTypeInfo2
* This
,
4833 void __RPC_STUB
ICreateTypeInfo2_SetFuncCustData_Stub(
4834 struct IRpcStubBuffer
* This
,
4835 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4836 PRPC_MESSAGE pRpcMessage
,
4837 DWORD
* pdwStubPhase
);
4838 HRESULT CALLBACK
ICreateTypeInfo2_SetParamCustData_Proxy(
4839 ICreateTypeInfo2
* This
,
4844 void __RPC_STUB
ICreateTypeInfo2_SetParamCustData_Stub(
4845 struct IRpcStubBuffer
* This
,
4846 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4847 PRPC_MESSAGE pRpcMessage
,
4848 DWORD
* pdwStubPhase
);
4849 HRESULT CALLBACK
ICreateTypeInfo2_SetVarCustData_Proxy(
4850 ICreateTypeInfo2
* This
,
4854 void __RPC_STUB
ICreateTypeInfo2_SetVarCustData_Stub(
4855 struct IRpcStubBuffer
* This
,
4856 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4857 PRPC_MESSAGE pRpcMessage
,
4858 DWORD
* pdwStubPhase
);
4859 HRESULT CALLBACK
ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4860 ICreateTypeInfo2
* This
,
4864 void __RPC_STUB
ICreateTypeInfo2_SetImplTypeCustData_Stub(
4865 struct IRpcStubBuffer
* This
,
4866 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4867 PRPC_MESSAGE pRpcMessage
,
4868 DWORD
* pdwStubPhase
);
4869 HRESULT CALLBACK
ICreateTypeInfo2_SetHelpStringContext_Proxy(
4870 ICreateTypeInfo2
* This
,
4871 ULONG dwHelpStringContext
);
4872 void __RPC_STUB
ICreateTypeInfo2_SetHelpStringContext_Stub(
4873 struct IRpcStubBuffer
* This
,
4874 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4875 PRPC_MESSAGE pRpcMessage
,
4876 DWORD
* pdwStubPhase
);
4877 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4878 ICreateTypeInfo2
* This
,
4880 ULONG dwHelpStringContext
);
4881 void __RPC_STUB
ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4882 struct IRpcStubBuffer
* This
,
4883 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4884 PRPC_MESSAGE pRpcMessage
,
4885 DWORD
* pdwStubPhase
);
4886 HRESULT CALLBACK
ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4887 ICreateTypeInfo2
* This
,
4889 ULONG dwHelpStringContext
);
4890 void __RPC_STUB
ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4891 struct IRpcStubBuffer
* This
,
4892 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4893 PRPC_MESSAGE pRpcMessage
,
4894 DWORD
* pdwStubPhase
);
4895 HRESULT CALLBACK
ICreateTypeInfo2_Invalidate_Proxy(
4896 ICreateTypeInfo2
* This
);
4897 void __RPC_STUB
ICreateTypeInfo2_Invalidate_Stub(
4898 struct IRpcStubBuffer
* This
,
4899 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4900 PRPC_MESSAGE pRpcMessage
,
4901 DWORD
* pdwStubPhase
);
4902 HRESULT CALLBACK
ICreateTypeInfo2_SetName_Proxy(
4903 ICreateTypeInfo2
* This
,
4905 void __RPC_STUB
ICreateTypeInfo2_SetName_Stub(
4906 struct IRpcStubBuffer
* This
,
4907 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4908 PRPC_MESSAGE pRpcMessage
,
4909 DWORD
* pdwStubPhase
);
4911 #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
4913 #ifndef __ICreateTypeLib_FWD_DEFINED__
4914 #define __ICreateTypeLib_FWD_DEFINED__
4915 typedef struct ICreateTypeLib ICreateTypeLib
;
4918 typedef ICreateTypeLib
*LPCREATETYPELIB
;
4920 /*****************************************************************************
4921 * ICreateTypeLib interface
4923 #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
4924 #define __ICreateTypeLib_INTERFACE_DEFINED__
4926 DEFINE_GUID(IID_ICreateTypeLib
, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4927 #if defined(__cplusplus) && !defined(CINTERFACE)
4928 struct ICreateTypeLib
: public IUnknown
4930 virtual HRESULT STDMETHODCALLTYPE
CreateTypeInfo(
4933 ICreateTypeInfo
** ppCTInfo
) = 0;
4935 virtual HRESULT STDMETHODCALLTYPE
SetName(
4936 LPOLESTR szName
) = 0;
4938 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
4940 WORD wMinorVerNum
) = 0;
4942 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
4945 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
4946 LPOLESTR szDoc
) = 0;
4948 virtual HRESULT STDMETHODCALLTYPE
SetHelpFileName(
4949 LPOLESTR szHelpFileName
) = 0;
4951 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
4952 DWORD dwHelpContext
) = 0;
4954 virtual HRESULT STDMETHODCALLTYPE
SetLcid(
4957 virtual HRESULT STDMETHODCALLTYPE
SetLibFlags(
4958 UINT uLibFlags
) = 0;
4960 virtual HRESULT STDMETHODCALLTYPE
SaveAllChanges(
4965 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl
;
4966 struct ICreateTypeLib
{
4967 const ICreateTypeLibVtbl
* lpVtbl
;
4969 struct ICreateTypeLibVtbl
{
4970 ICOM_MSVTABLE_COMPAT_FIELDS
4972 /*** IUnknown methods ***/
4973 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4974 ICreateTypeLib
* This
,
4978 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4979 ICreateTypeLib
* This
);
4981 ULONG (STDMETHODCALLTYPE
*Release
)(
4982 ICreateTypeLib
* This
);
4984 /*** ICreateTypeLib methods ***/
4985 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
4986 ICreateTypeLib
* This
,
4989 ICreateTypeInfo
** ppCTInfo
);
4991 HRESULT (STDMETHODCALLTYPE
*SetName
)(
4992 ICreateTypeLib
* This
,
4995 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4996 ICreateTypeLib
* This
,
5000 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
5001 ICreateTypeLib
* This
,
5004 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
5005 ICreateTypeLib
* This
,
5008 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5009 ICreateTypeLib
* This
,
5010 LPOLESTR szHelpFileName
);
5012 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5013 ICreateTypeLib
* This
,
5014 DWORD dwHelpContext
);
5016 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5017 ICreateTypeLib
* This
,
5020 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5021 ICreateTypeLib
* This
,
5024 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5025 ICreateTypeLib
* This
);
5029 /*** IUnknown methods ***/
5030 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5031 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
5032 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
5033 /*** ICreateTypeLib methods ***/
5034 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5035 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5036 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5037 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5038 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5039 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5040 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5041 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5042 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5043 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5047 #define ICreateTypeLib_METHODS \
5048 ICOM_MSVTABLE_COMPAT_FIELDS \
5049 /*** IUnknown methods ***/ \
5050 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5051 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5052 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5053 /*** ICreateTypeLib methods ***/ \
5054 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5055 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5056 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5057 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5058 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5059 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5060 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5061 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5062 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5063 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
5065 HRESULT CALLBACK
ICreateTypeLib_CreateTypeInfo_Proxy(
5066 ICreateTypeLib
* This
,
5069 ICreateTypeInfo
** ppCTInfo
);
5070 void __RPC_STUB
ICreateTypeLib_CreateTypeInfo_Stub(
5071 struct IRpcStubBuffer
* This
,
5072 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5073 PRPC_MESSAGE pRpcMessage
,
5074 DWORD
* pdwStubPhase
);
5075 HRESULT CALLBACK
ICreateTypeLib_SetName_Proxy(
5076 ICreateTypeLib
* This
,
5078 void __RPC_STUB
ICreateTypeLib_SetName_Stub(
5079 struct IRpcStubBuffer
* This
,
5080 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5081 PRPC_MESSAGE pRpcMessage
,
5082 DWORD
* pdwStubPhase
);
5083 HRESULT CALLBACK
ICreateTypeLib_SetVersion_Proxy(
5084 ICreateTypeLib
* This
,
5087 void __RPC_STUB
ICreateTypeLib_SetVersion_Stub(
5088 struct IRpcStubBuffer
* This
,
5089 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5090 PRPC_MESSAGE pRpcMessage
,
5091 DWORD
* pdwStubPhase
);
5092 HRESULT CALLBACK
ICreateTypeLib_SetGuid_Proxy(
5093 ICreateTypeLib
* This
,
5095 void __RPC_STUB
ICreateTypeLib_SetGuid_Stub(
5096 struct IRpcStubBuffer
* This
,
5097 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5098 PRPC_MESSAGE pRpcMessage
,
5099 DWORD
* pdwStubPhase
);
5100 HRESULT CALLBACK
ICreateTypeLib_SetDocString_Proxy(
5101 ICreateTypeLib
* This
,
5103 void __RPC_STUB
ICreateTypeLib_SetDocString_Stub(
5104 struct IRpcStubBuffer
* This
,
5105 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5106 PRPC_MESSAGE pRpcMessage
,
5107 DWORD
* pdwStubPhase
);
5108 HRESULT CALLBACK
ICreateTypeLib_SetHelpFileName_Proxy(
5109 ICreateTypeLib
* This
,
5110 LPOLESTR szHelpFileName
);
5111 void __RPC_STUB
ICreateTypeLib_SetHelpFileName_Stub(
5112 struct IRpcStubBuffer
* This
,
5113 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5114 PRPC_MESSAGE pRpcMessage
,
5115 DWORD
* pdwStubPhase
);
5116 HRESULT CALLBACK
ICreateTypeLib_SetHelpContext_Proxy(
5117 ICreateTypeLib
* This
,
5118 DWORD dwHelpContext
);
5119 void __RPC_STUB
ICreateTypeLib_SetHelpContext_Stub(
5120 struct IRpcStubBuffer
* This
,
5121 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5122 PRPC_MESSAGE pRpcMessage
,
5123 DWORD
* pdwStubPhase
);
5124 HRESULT CALLBACK
ICreateTypeLib_SetLcid_Proxy(
5125 ICreateTypeLib
* This
,
5127 void __RPC_STUB
ICreateTypeLib_SetLcid_Stub(
5128 struct IRpcStubBuffer
* This
,
5129 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5130 PRPC_MESSAGE pRpcMessage
,
5131 DWORD
* pdwStubPhase
);
5132 HRESULT CALLBACK
ICreateTypeLib_SetLibFlags_Proxy(
5133 ICreateTypeLib
* This
,
5135 void __RPC_STUB
ICreateTypeLib_SetLibFlags_Stub(
5136 struct IRpcStubBuffer
* This
,
5137 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5138 PRPC_MESSAGE pRpcMessage
,
5139 DWORD
* pdwStubPhase
);
5140 HRESULT CALLBACK
ICreateTypeLib_SaveAllChanges_Proxy(
5141 ICreateTypeLib
* This
);
5142 void __RPC_STUB
ICreateTypeLib_SaveAllChanges_Stub(
5143 struct IRpcStubBuffer
* This
,
5144 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5145 PRPC_MESSAGE pRpcMessage
,
5146 DWORD
* pdwStubPhase
);
5148 #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
5150 #ifndef __ICreateTypeLib2_FWD_DEFINED__
5151 #define __ICreateTypeLib2_FWD_DEFINED__
5152 typedef struct ICreateTypeLib2 ICreateTypeLib2
;
5155 typedef ICreateTypeLib2
*LPCREATETYPELIB2
;
5157 /*****************************************************************************
5158 * ICreateTypeLib2 interface
5160 #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
5161 #define __ICreateTypeLib2_INTERFACE_DEFINED__
5163 DEFINE_GUID(IID_ICreateTypeLib2
, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5164 #if defined(__cplusplus) && !defined(CINTERFACE)
5165 struct ICreateTypeLib2
: public ICreateTypeLib
5167 virtual HRESULT STDMETHODCALLTYPE
DeleteTypeInfo(
5168 LPOLESTR szName
) = 0;
5170 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
5172 VARIANT
* pVarVal
) = 0;
5174 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
5175 ULONG dwHelpStringContext
) = 0;
5177 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringDll(
5178 LPOLESTR szFileName
) = 0;
5182 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl
;
5183 struct ICreateTypeLib2
{
5184 const ICreateTypeLib2Vtbl
* lpVtbl
;
5186 struct ICreateTypeLib2Vtbl
{
5187 ICOM_MSVTABLE_COMPAT_FIELDS
5189 /*** IUnknown methods ***/
5190 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5191 ICreateTypeLib2
* This
,
5195 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5196 ICreateTypeLib2
* This
);
5198 ULONG (STDMETHODCALLTYPE
*Release
)(
5199 ICreateTypeLib2
* This
);
5201 /*** ICreateTypeLib methods ***/
5202 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
5203 ICreateTypeLib2
* This
,
5206 ICreateTypeInfo
** ppCTInfo
);
5208 HRESULT (STDMETHODCALLTYPE
*SetName
)(
5209 ICreateTypeLib2
* This
,
5212 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
5213 ICreateTypeLib2
* This
,
5217 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
5218 ICreateTypeLib2
* This
,
5221 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
5222 ICreateTypeLib2
* This
,
5225 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5226 ICreateTypeLib2
* This
,
5227 LPOLESTR szHelpFileName
);
5229 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5230 ICreateTypeLib2
* This
,
5231 DWORD dwHelpContext
);
5233 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5234 ICreateTypeLib2
* This
,
5237 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5238 ICreateTypeLib2
* This
,
5241 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5242 ICreateTypeLib2
* This
);
5244 /*** ICreateTypeLib2 methods ***/
5245 HRESULT (STDMETHODCALLTYPE
*DeleteTypeInfo
)(
5246 ICreateTypeLib2
* This
,
5249 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
5250 ICreateTypeLib2
* This
,
5254 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
5255 ICreateTypeLib2
* This
,
5256 ULONG dwHelpStringContext
);
5258 HRESULT (STDMETHODCALLTYPE
*SetHelpStringDll
)(
5259 ICreateTypeLib2
* This
,
5260 LPOLESTR szFileName
);
5264 /*** IUnknown methods ***/
5265 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5266 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5267 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5268 /*** ICreateTypeLib methods ***/
5269 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5270 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5271 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5272 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5273 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5274 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5275 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5276 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5277 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5278 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5279 /*** ICreateTypeLib2 methods ***/
5280 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5281 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5282 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5283 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5287 #define ICreateTypeLib2_METHODS \
5288 ICOM_MSVTABLE_COMPAT_FIELDS \
5289 /*** IUnknown methods ***/ \
5290 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5291 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5292 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5293 /*** ICreateTypeLib methods ***/ \
5294 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5295 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5296 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5297 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5298 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5299 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5300 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5301 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5302 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5303 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
5304 /*** ICreateTypeLib2 methods ***/ \
5305 STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
5306 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
5307 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
5308 STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
5310 HRESULT CALLBACK
ICreateTypeLib2_DeleteTypeInfo_Proxy(
5311 ICreateTypeLib2
* This
,
5313 void __RPC_STUB
ICreateTypeLib2_DeleteTypeInfo_Stub(
5314 struct IRpcStubBuffer
* This
,
5315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5316 PRPC_MESSAGE pRpcMessage
,
5317 DWORD
* pdwStubPhase
);
5318 HRESULT CALLBACK
ICreateTypeLib2_SetCustData_Proxy(
5319 ICreateTypeLib2
* This
,
5322 void __RPC_STUB
ICreateTypeLib2_SetCustData_Stub(
5323 struct IRpcStubBuffer
* This
,
5324 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5325 PRPC_MESSAGE pRpcMessage
,
5326 DWORD
* pdwStubPhase
);
5327 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringContext_Proxy(
5328 ICreateTypeLib2
* This
,
5329 ULONG dwHelpStringContext
);
5330 void __RPC_STUB
ICreateTypeLib2_SetHelpStringContext_Stub(
5331 struct IRpcStubBuffer
* This
,
5332 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5333 PRPC_MESSAGE pRpcMessage
,
5334 DWORD
* pdwStubPhase
);
5335 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringDll_Proxy(
5336 ICreateTypeLib2
* This
,
5337 LPOLESTR szFileName
);
5338 void __RPC_STUB
ICreateTypeLib2_SetHelpStringDll_Stub(
5339 struct IRpcStubBuffer
* This
,
5340 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5341 PRPC_MESSAGE pRpcMessage
,
5342 DWORD
* pdwStubPhase
);
5344 #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
5346 #ifndef __IErrorLog_FWD_DEFINED__
5347 #define __IErrorLog_FWD_DEFINED__
5348 typedef struct IErrorLog IErrorLog
;
5351 typedef IErrorLog
*LPERRORLOG
;
5353 /*****************************************************************************
5354 * IErrorLog interface
5356 #ifndef __IErrorLog_INTERFACE_DEFINED__
5357 #define __IErrorLog_INTERFACE_DEFINED__
5359 DEFINE_GUID(IID_IErrorLog
, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
5360 #if defined(__cplusplus) && !defined(CINTERFACE)
5361 struct IErrorLog
: public IUnknown
5363 virtual HRESULT STDMETHODCALLTYPE
AddError(
5364 LPCOLESTR pszPropName
,
5365 EXCEPINFO
* pExcepInfo
) = 0;
5369 typedef struct IErrorLogVtbl IErrorLogVtbl
;
5371 const IErrorLogVtbl
* lpVtbl
;
5373 struct IErrorLogVtbl
{
5374 ICOM_MSVTABLE_COMPAT_FIELDS
5376 /*** IUnknown methods ***/
5377 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5382 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5385 ULONG (STDMETHODCALLTYPE
*Release
)(
5388 /*** IErrorLog methods ***/
5389 HRESULT (STDMETHODCALLTYPE
*AddError
)(
5391 LPCOLESTR pszPropName
,
5392 EXCEPINFO
* pExcepInfo
);
5396 /*** IUnknown methods ***/
5397 #define IErrorLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5398 #define IErrorLog_AddRef(p) (p)->lpVtbl->AddRef(p)
5399 #define IErrorLog_Release(p) (p)->lpVtbl->Release(p)
5400 /*** IErrorLog methods ***/
5401 #define IErrorLog_AddError(p,a,b) (p)->lpVtbl->AddError(p,a,b)
5405 #define IErrorLog_METHODS \
5406 ICOM_MSVTABLE_COMPAT_FIELDS \
5407 /*** IUnknown methods ***/ \
5408 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5409 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5410 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5411 /*** IErrorLog methods ***/ \
5412 STDMETHOD_(HRESULT,AddError)(THIS_ LPCOLESTR pszPropName, EXCEPINFO* pExcepInfo) PURE;
5414 HRESULT CALLBACK
IErrorLog_AddError_Proxy(
5416 LPCOLESTR pszPropName
,
5417 EXCEPINFO
* pExcepInfo
);
5418 void __RPC_STUB
IErrorLog_AddError_Stub(
5419 struct IRpcStubBuffer
* This
,
5420 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5421 PRPC_MESSAGE pRpcMessage
,
5422 DWORD
* pdwStubPhase
);
5424 #endif /* __IErrorLog_INTERFACE_DEFINED__ */
5426 #ifndef __IPropertyBag_FWD_DEFINED__
5427 #define __IPropertyBag_FWD_DEFINED__
5428 typedef struct IPropertyBag IPropertyBag
;
5431 typedef IPropertyBag
*LPPROPERTYBAG
;
5433 /*****************************************************************************
5434 * IPropertyBag interface
5436 #ifndef __IPropertyBag_INTERFACE_DEFINED__
5437 #define __IPropertyBag_INTERFACE_DEFINED__
5439 DEFINE_GUID(IID_IPropertyBag
, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
5440 #if defined(__cplusplus) && !defined(CINTERFACE)
5441 struct IPropertyBag
: public IUnknown
5443 virtual HRESULT STDMETHODCALLTYPE
Read(
5444 LPCOLESTR pszPropName
,
5446 IErrorLog
* pErrorLog
) = 0;
5448 virtual HRESULT STDMETHODCALLTYPE
Write(
5449 LPCOLESTR pszPropName
,
5454 typedef struct IPropertyBagVtbl IPropertyBagVtbl
;
5455 struct IPropertyBag
{
5456 const IPropertyBagVtbl
* lpVtbl
;
5458 struct IPropertyBagVtbl
{
5459 ICOM_MSVTABLE_COMPAT_FIELDS
5461 /*** IUnknown methods ***/
5462 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5467 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5468 IPropertyBag
* This
);
5470 ULONG (STDMETHODCALLTYPE
*Release
)(
5471 IPropertyBag
* This
);
5473 /*** IPropertyBag methods ***/
5474 HRESULT (STDMETHODCALLTYPE
*Read
)(
5476 LPCOLESTR pszPropName
,
5478 IErrorLog
* pErrorLog
);
5480 HRESULT (STDMETHODCALLTYPE
*Write
)(
5482 LPCOLESTR pszPropName
,
5487 /*** IUnknown methods ***/
5488 #define IPropertyBag_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5489 #define IPropertyBag_AddRef(p) (p)->lpVtbl->AddRef(p)
5490 #define IPropertyBag_Release(p) (p)->lpVtbl->Release(p)
5491 /*** IPropertyBag methods ***/
5492 #define IPropertyBag_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
5493 #define IPropertyBag_Write(p,a,b) (p)->lpVtbl->Write(p,a,b)
5497 #define IPropertyBag_METHODS \
5498 ICOM_MSVTABLE_COMPAT_FIELDS \
5499 /*** IUnknown methods ***/ \
5500 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5501 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5502 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5503 /*** IPropertyBag methods ***/ \
5504 STDMETHOD_(HRESULT,Read)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog) PURE; \
5505 STDMETHOD_(HRESULT,Write)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar) PURE;
5507 HRESULT CALLBACK
IPropertyBag_RemoteRead_Proxy(
5509 LPCOLESTR pszPropName
,
5511 IErrorLog
* pErrorLog
,
5514 void __RPC_STUB
IPropertyBag_RemoteRead_Stub(
5515 struct IRpcStubBuffer
* This
,
5516 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5517 PRPC_MESSAGE pRpcMessage
,
5518 DWORD
* pdwStubPhase
);
5519 HRESULT CALLBACK
IPropertyBag_Read_Proxy(
5521 LPCOLESTR pszPropName
,
5523 IErrorLog
* pErrorLog
);
5524 HRESULT __RPC_STUB
IPropertyBag_Read_Stub(
5526 LPCOLESTR pszPropName
,
5528 IErrorLog
* pErrorLog
,
5531 HRESULT CALLBACK
IPropertyBag_Write_Proxy(
5533 LPCOLESTR pszPropName
,
5535 void __RPC_STUB
IPropertyBag_Write_Stub(
5536 struct IRpcStubBuffer
* This
,
5537 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5538 PRPC_MESSAGE pRpcMessage
,
5539 DWORD
* pdwStubPhase
);
5541 #endif /* __IPropertyBag_INTERFACE_DEFINED__ */
5546 #endif /* __WIDL_OAIDL_H */