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_CREATEVECTOR (0x2000)
155 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
156 #define __VARIANT_NAME_1 n1
157 #define __VARIANT_NAME_2 n2
158 #define __VARIANT_NAME_3 n3
159 #define __VARIANT_NAME_4 brecVal
162 #define __VARIANT_NAME_1
163 #define __VARIANT_NAME_2
164 #define __VARIANT_NAME_3
166 #define __VARIANT_NAME_4
168 typedef struct tagVARIANT VARIANT
;
169 unsigned long __RPC_USER
VARIANT_UserSize (unsigned long *, unsigned long, VARIANT
*);
170 unsigned char * __RPC_USER
VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT
*);
171 unsigned char * __RPC_USER
VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT
*);
172 void __RPC_USER
VARIANT_UserFree (unsigned long *, VARIANT
*);
176 struct __tagVARIANT
{
192 VARIANT_BOOL boolVal
;
210 VARIANT_BOOL
*pboolVal
;
219 IDispatch
**ppdispVal
;
221 struct __tagBRECORD
{
223 IRecordInfo
*pRecInfo
;
231 typedef VARIANT
*LPVARIANT
;
233 typedef VARIANT VARIANTARG
;
235 typedef VARIANTARG
*LPVARIANTARG
;
237 struct _wireBRECORD
{
240 IRecordInfo
*pRecInfo
;
244 struct _wireVARIANT
{
262 VARIANT_BOOL boolVal
;
270 wireSAFEARRAY parray
;
281 VARIANT_BOOL
*pboolVal
;
285 wireVARIANT
*pvarVal
;
289 IDispatch
**ppdispVal
;
290 wireSAFEARRAY
*pparray
;
297 typedef DWORD HREFTYPE
;
299 typedef DISPID MEMBERID
;
301 typedef enum tagTYPEKIND
{
313 typedef struct tagTYPEDESC
{
315 struct tagTYPEDESC
*lptdesc
;
316 struct tagARRAYDESC
*lpadesc
;
322 typedef struct tagARRAYDESC
{
325 SAFEARRAYBOUND rgbounds
[1];
328 typedef struct tagPARAMDESCEX
{
330 VARIANTARG varDefaultValue
;
331 } PARAMDESCEX
, *LPPARAMDESCEX
;
333 typedef struct tagPARAMDESC
{
334 LPPARAMDESCEX pparamdescex
;
336 } PARAMDESC
, *LPPARAMDESC
;
338 #define PARAMFLAG_NONE (0x0)
340 #define PARAMFLAG_FIN (0x1)
342 #define PARAMFLAG_FOUT (0x2)
344 #define PARAMFLAG_FLCID (0x4)
346 #define PARAMFLAG_FRETVAL (0x8)
348 #define PARAMFLAG_FOPT (0x10)
350 #define PARAMFLAG_FHASDEFAULT (0x20)
352 #define PARAMFLAG_FHASCUSTDATA (0x40)
354 typedef struct tagIDLDESC
{
357 } IDLDESC
, *LPIDLDESC
;
359 #define IDLFLAG_NONE (PARAMFLAG_NONE)
361 #define IDLFLAG_FIN (PARAMFLAG_FIN)
363 #define IDLFLAG_FOUT (PARAMFLAG_FOUT)
365 #define IDLFLAG_FLCID (PARAMFLAG_FLCID)
367 #define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL)
370 typedef struct tagELEMDESC
{
376 typedef struct tagELEMDESC
{
382 } ELEMDESC
, *LPELEMDESC
;
384 typedef struct tagTYPEATTR
{
388 MEMBERID memidConstructor
;
389 MEMBERID memidDestructor
;
390 LPOLESTR lpstrSchema
;
391 ULONG cbSizeInstance
;
403 } TYPEATTR
, *LPTYPEATTR
;
405 typedef struct tagDISPPARAMS
{
407 DISPID
*rgdispidNamedArgs
;
413 typedef struct tagEXCEPINFO
{
417 BSTR bstrDescription
;
421 ULONG pfnDeferredFillIn
;
426 typedef struct tagEXCEPINFO
{
430 BSTR bstrDescription
;
434 HRESULT (__stdcall
*pfnDeferredFillIn
)(struct tagEXCEPINFO
*);
436 } EXCEPINFO
, *LPEXCEPINFO
;
438 typedef enum tagCALLCONV
{
442 CC_PASCAL
= CC_MSCPASCAL
,
452 typedef enum tagFUNCKIND
{
460 typedef enum tagINVOKEKIND
{
462 INVOKE_PROPERTYGET
= 2,
463 INVOKE_PROPERTYPUT
= 4,
464 INVOKE_PROPERTYPUTREF
= 8
467 typedef struct tagFUNCDESC
{
470 ELEMDESC
*lprgelemdescParam
;
478 ELEMDESC elemdescFunc
;
480 } FUNCDESC
, *LPFUNCDESC
;
482 typedef enum tagVARKIND
{
489 #define IMPLTYPEFLAG_FDEFAULT (0x1)
491 #define IMPLTYPEFLAG_FSOURCE (0x2)
493 #define IMPLTYPEFLAG_FRESTRICTED (0x4)
495 #define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8)
497 typedef struct tagVARDESC
{
499 LPOLESTR lpstrSchema
;
504 ELEMDESC elemdescVar
;
507 } VARDESC
, *LPVARDESC
;
509 typedef enum tagTYPEFLAGS
{
510 TYPEFLAG_FAPPOBJECT
= 0x1,
511 TYPEFLAG_FCANCREATE
= 0x2,
512 TYPEFLAG_FLICENSED
= 0x4,
513 TYPEFLAG_FPREDECLID
= 0x8,
514 TYPEFLAG_FHIDDEN
= 0x10,
515 TYPEFLAG_FCONTROL
= 0x20,
516 TYPEFLAG_FDUAL
= 0x40,
517 TYPEFLAG_FNONEXTENSIBLE
= 0x80,
518 TYPEFLAG_FOLEAUTOMATION
= 0x100,
519 TYPEFLAG_FRESTRICTED
= 0x200,
520 TYPEFLAG_FAGGREGATABLE
= 0x400,
521 TYPEFLAG_FREPLACEABLE
= 0x800,
522 TYPEFLAG_FDISPATCHABLE
= 0x1000,
523 TYPEFLAG_FREVERSEBIND
= 0x2000,
524 TYPEFLAG_FPROXY
= 0x4000
527 typedef enum tagFUNCFLAGS
{
528 FUNCFLAG_FRESTRICTED
= 0x1,
529 FUNCFLAG_FSOURCE
= 0x2,
530 FUNCFLAG_FBINDABLE
= 0x4,
531 FUNCFLAG_FREQUESTEDIT
= 0x8,
532 FUNCFLAG_FDISPLAYBIND
= 0x10,
533 FUNCFLAG_FDEFAULTBIND
= 0x20,
534 FUNCFLAG_FHIDDEN
= 0x40,
535 FUNCFLAG_FUSESGETLASTERROR
= 0x80,
536 FUNCFLAG_FDEFAULTCOLLELEM
= 0x100,
537 FUNCFLAG_FUIDEFAULT
= 0x200,
538 FUNCFLAG_FNONBROWSABLE
= 0x400,
539 FUNCFLAG_FREPLACEABLE
= 0x800,
540 FUNCFLAG_FIMMEDIATEBIND
= 0x1000
543 typedef enum tagVARFLAGS
{
544 VARFLAG_FREADONLY
= 0x1,
545 VARFLAG_FSOURCE
= 0x2,
546 VARFLAG_FBINDABLE
= 0x4,
547 VARFLAG_FREQUESTEDIT
= 0x8,
548 VARFLAG_FDISPLAYBIND
= 0x10,
549 VARFLAG_FDEFAULTBIND
= 0x20,
550 VARFLAG_FHIDDEN
= 0x40,
551 VARFLAG_FRESTRICTED
= 0x80,
552 VARFLAG_FDEFAULTCOLLELEM
= 0x100,
553 VARFLAG_FUIDEFAULT
= 0x200,
554 VARFLAG_FNONBROWSABLE
= 0x400,
555 VARFLAG_FREPLACEABLE
= 0x800,
556 VARFLAG_FIMMEDIATEBIND
= 0x1000
559 typedef struct tagCLEANLOCALSTORAGE
{
560 IUnknown
*pInterface
;
564 unsigned long __RPC_USER
CLEANLOCALSTORAGE_UserSize (unsigned long *, unsigned long, CLEANLOCALSTORAGE
*);
565 unsigned char * __RPC_USER
CLEANLOCALSTORAGE_UserMarshal (unsigned long *, unsigned char *, CLEANLOCALSTORAGE
*);
566 unsigned char * __RPC_USER
CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE
*);
567 void __RPC_USER
CLEANLOCALSTORAGE_UserFree (unsigned long *, CLEANLOCALSTORAGE
*);
569 typedef struct tagCUSTDATAITEM
{
572 } CUSTDATAITEM
, *LPCUSTDATAITEM
;
574 typedef struct tagCUSTDATA
{
576 LPCUSTDATAITEM prgCustData
;
577 } CUSTDATA
, *LPCUSTDATA
;
579 typedef IDispatch
*LPDISPATCH
;
581 #define DISPID_UNKNOWN (-1)
583 #define DISPID_VALUE (0)
585 #define DISPID_PROPERTYPUT (-3)
587 #define DISPID_NEWENUM (-4)
589 #define DISPID_EVALUATE (-5)
591 #define DISPID_CONSTRUCTOR (-6)
593 #define DISPID_DESTRUCTOR (-7)
595 #define DISPID_COLLECT (-8)
597 /*****************************************************************************
598 * IDispatch interface
600 #ifndef __IDispatch_INTERFACE_DEFINED__
601 #define __IDispatch_INTERFACE_DEFINED__
603 DEFINE_GUID(IID_IDispatch
, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
604 #if defined(__cplusplus) && !defined(CINTERFACE)
605 struct IDispatch
: public IUnknown
607 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoCount(
610 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
613 ITypeInfo
** ppTInfo
) = 0;
615 virtual HRESULT STDMETHODCALLTYPE
GetIDsOfNames(
620 DISPID
* rgDispId
) = 0;
622 virtual HRESULT STDMETHODCALLTYPE
Invoke(
627 DISPPARAMS
* pDispParams
,
629 EXCEPINFO
* pExcepInfo
,
634 typedef struct IDispatchVtbl IDispatchVtbl
;
636 const IDispatchVtbl
* lpVtbl
;
638 struct IDispatchVtbl
{
639 ICOM_MSVTABLE_COMPAT_FIELDS
641 /*** IUnknown methods ***/
642 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
647 ULONG (STDMETHODCALLTYPE
*AddRef
)(
650 ULONG (STDMETHODCALLTYPE
*Release
)(
653 /*** IDispatch methods ***/
654 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
658 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
662 ITypeInfo
** ppTInfo
);
664 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
672 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
678 DISPPARAMS
* pDispParams
,
680 EXCEPINFO
* pExcepInfo
,
685 /*** IUnknown methods ***/
686 #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
687 #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
688 #define IDispatch_Release(p) (p)->lpVtbl->Release(p)
689 /*** IDispatch methods ***/
690 #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
691 #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
692 #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
693 #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
697 #define IDispatch_METHODS \
698 ICOM_MSVTABLE_COMPAT_FIELDS \
699 /*** IUnknown methods ***/ \
700 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
701 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
702 STDMETHOD_(ULONG,Release)(THIS) PURE; \
703 /*** IDispatch methods ***/ \
704 STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
705 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
706 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
707 STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
709 HRESULT CALLBACK
IDispatch_GetTypeInfoCount_Proxy(
712 void __RPC_STUB
IDispatch_GetTypeInfoCount_Stub(
713 struct IRpcStubBuffer
* This
,
714 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
715 PRPC_MESSAGE pRpcMessage
,
716 DWORD
* pdwStubPhase
);
717 HRESULT CALLBACK
IDispatch_GetTypeInfo_Proxy(
721 ITypeInfo
** ppTInfo
);
722 void __RPC_STUB
IDispatch_GetTypeInfo_Stub(
723 struct IRpcStubBuffer
* This
,
724 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
725 PRPC_MESSAGE pRpcMessage
,
726 DWORD
* pdwStubPhase
);
727 HRESULT CALLBACK
IDispatch_GetIDsOfNames_Proxy(
734 void __RPC_STUB
IDispatch_GetIDsOfNames_Stub(
735 struct IRpcStubBuffer
* This
,
736 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
737 PRPC_MESSAGE pRpcMessage
,
738 DWORD
* pdwStubPhase
);
739 HRESULT CALLBACK
IDispatch_RemoteInvoke_Proxy(
745 DISPPARAMS
* pDispParams
,
747 EXCEPINFO
* pExcepInfo
,
751 VARIANTARG
* rgVarRef
);
752 void __RPC_STUB
IDispatch_RemoteInvoke_Stub(
753 struct IRpcStubBuffer
* This
,
754 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
755 PRPC_MESSAGE pRpcMessage
,
756 DWORD
* pdwStubPhase
);
757 HRESULT CALLBACK
IDispatch_Invoke_Proxy(
763 DISPPARAMS
* pDispParams
,
765 EXCEPINFO
* pExcepInfo
,
767 HRESULT __RPC_STUB
IDispatch_Invoke_Stub(
773 DISPPARAMS
* pDispParams
,
775 EXCEPINFO
* pExcepInfo
,
779 VARIANTARG
* rgVarRef
);
781 #endif /* __IDispatch_INTERFACE_DEFINED__ */
783 #ifndef __IEnumVARIANT_FWD_DEFINED__
784 #define __IEnumVARIANT_FWD_DEFINED__
785 typedef struct IEnumVARIANT IEnumVARIANT
;
788 typedef IEnumVARIANT
*LPENUMVARIANT
;
790 /*****************************************************************************
791 * IEnumVARIANT interface
793 #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
794 #define __IEnumVARIANT_INTERFACE_DEFINED__
796 DEFINE_GUID(IID_IEnumVARIANT
, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
797 #if defined(__cplusplus) && !defined(CINTERFACE)
798 struct IEnumVARIANT
: public IUnknown
800 virtual HRESULT STDMETHODCALLTYPE
Next(
803 ULONG
* pCeltFetched
) = 0;
805 virtual HRESULT STDMETHODCALLTYPE
Skip(
808 virtual HRESULT STDMETHODCALLTYPE
Reset(
811 virtual HRESULT STDMETHODCALLTYPE
Clone(
812 IEnumVARIANT
** ppEnum
) = 0;
816 typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl
;
817 struct IEnumVARIANT
{
818 const IEnumVARIANTVtbl
* lpVtbl
;
820 struct IEnumVARIANTVtbl
{
821 ICOM_MSVTABLE_COMPAT_FIELDS
823 /*** IUnknown methods ***/
824 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
829 ULONG (STDMETHODCALLTYPE
*AddRef
)(
832 ULONG (STDMETHODCALLTYPE
*Release
)(
835 /*** IEnumVARIANT methods ***/
836 HRESULT (STDMETHODCALLTYPE
*Next
)(
840 ULONG
* pCeltFetched
);
842 HRESULT (STDMETHODCALLTYPE
*Skip
)(
846 HRESULT (STDMETHODCALLTYPE
*Reset
)(
849 HRESULT (STDMETHODCALLTYPE
*Clone
)(
851 IEnumVARIANT
** ppEnum
);
855 /*** IUnknown methods ***/
856 #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
857 #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
858 #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p)
859 /*** IEnumVARIANT methods ***/
860 #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
861 #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a)
862 #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p)
863 #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a)
867 #define IEnumVARIANT_METHODS \
868 ICOM_MSVTABLE_COMPAT_FIELDS \
869 /*** IUnknown methods ***/ \
870 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
871 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
872 STDMETHOD_(ULONG,Release)(THIS) PURE; \
873 /*** IEnumVARIANT methods ***/ \
874 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
875 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
876 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
877 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
879 HRESULT CALLBACK
IEnumVARIANT_RemoteNext_Proxy(
883 ULONG
* pCeltFetched
);
884 void __RPC_STUB
IEnumVARIANT_RemoteNext_Stub(
885 struct IRpcStubBuffer
* This
,
886 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
887 PRPC_MESSAGE pRpcMessage
,
888 DWORD
* pdwStubPhase
);
889 HRESULT CALLBACK
IEnumVARIANT_Next_Proxy(
893 ULONG
* pCeltFetched
);
894 HRESULT __RPC_STUB
IEnumVARIANT_Next_Stub(
898 ULONG
* pCeltFetched
);
899 HRESULT CALLBACK
IEnumVARIANT_Skip_Proxy(
902 void __RPC_STUB
IEnumVARIANT_Skip_Stub(
903 struct IRpcStubBuffer
* This
,
904 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
905 PRPC_MESSAGE pRpcMessage
,
906 DWORD
* pdwStubPhase
);
907 HRESULT CALLBACK
IEnumVARIANT_Reset_Proxy(
909 void __RPC_STUB
IEnumVARIANT_Reset_Stub(
910 struct IRpcStubBuffer
* This
,
911 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
912 PRPC_MESSAGE pRpcMessage
,
913 DWORD
* pdwStubPhase
);
914 HRESULT CALLBACK
IEnumVARIANT_Clone_Proxy(
916 IEnumVARIANT
** ppEnum
);
917 void __RPC_STUB
IEnumVARIANT_Clone_Stub(
918 struct IRpcStubBuffer
* This
,
919 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
920 PRPC_MESSAGE pRpcMessage
,
921 DWORD
* pdwStubPhase
);
923 #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
925 #ifndef __ITypeComp_FWD_DEFINED__
926 #define __ITypeComp_FWD_DEFINED__
927 typedef struct ITypeComp ITypeComp
;
930 typedef ITypeComp
*LPTYPECOMP
;
932 typedef enum tagDESCKIND
{
937 DESCKIND_IMPLICITAPPOBJ
,
941 typedef union tagBINDPTR
{
942 FUNCDESC
*lpfuncdesc
;
945 } BINDPTR
, *LPBINDPTR
;
947 /*****************************************************************************
948 * ITypeComp interface
950 #ifndef __ITypeComp_INTERFACE_DEFINED__
951 #define __ITypeComp_INTERFACE_DEFINED__
953 DEFINE_GUID(IID_ITypeComp
, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
954 #if defined(__cplusplus) && !defined(CINTERFACE)
955 struct ITypeComp
: public IUnknown
957 virtual HRESULT STDMETHODCALLTYPE
Bind(
963 BINDPTR
* pBindPtr
) = 0;
965 virtual HRESULT STDMETHODCALLTYPE
BindType(
969 ITypeComp
** ppTComp
) = 0;
973 typedef struct ITypeCompVtbl ITypeCompVtbl
;
975 const ITypeCompVtbl
* lpVtbl
;
977 struct ITypeCompVtbl
{
978 ICOM_MSVTABLE_COMPAT_FIELDS
980 /*** IUnknown methods ***/
981 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
986 ULONG (STDMETHODCALLTYPE
*AddRef
)(
989 ULONG (STDMETHODCALLTYPE
*Release
)(
992 /*** ITypeComp methods ***/
993 HRESULT (STDMETHODCALLTYPE
*Bind
)(
1002 HRESULT (STDMETHODCALLTYPE
*BindType
)(
1006 ITypeInfo
** ppTInfo
,
1007 ITypeComp
** ppTComp
);
1011 /*** IUnknown methods ***/
1012 #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1013 #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
1014 #define ITypeComp_Release(p) (p)->lpVtbl->Release(p)
1015 /*** ITypeComp methods ***/
1016 #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f)
1017 #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d)
1021 #define ITypeComp_METHODS \
1022 ICOM_MSVTABLE_COMPAT_FIELDS \
1023 /*** IUnknown methods ***/ \
1024 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1025 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1026 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1027 /*** ITypeComp methods ***/ \
1028 STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
1029 STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
1031 HRESULT CALLBACK
ITypeComp_RemoteBind_Proxy(
1036 ITypeInfo
** ppTInfo
,
1037 DESCKIND
* pDescKind
,
1038 LPFUNCDESC
* ppFuncDesc
,
1039 LPVARDESC
* ppVarDesc
,
1040 ITypeComp
** ppTypeComp
,
1041 CLEANLOCALSTORAGE
* pDummy
);
1042 void __RPC_STUB
ITypeComp_RemoteBind_Stub(
1043 struct IRpcStubBuffer
* This
,
1044 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1045 PRPC_MESSAGE pRpcMessage
,
1046 DWORD
* pdwStubPhase
);
1047 HRESULT CALLBACK
ITypeComp_Bind_Proxy(
1052 ITypeInfo
** ppTInfo
,
1053 DESCKIND
* pDescKind
,
1055 HRESULT __RPC_STUB
ITypeComp_Bind_Stub(
1060 ITypeInfo
** ppTInfo
,
1061 DESCKIND
* pDescKind
,
1062 LPFUNCDESC
* ppFuncDesc
,
1063 LPVARDESC
* ppVarDesc
,
1064 ITypeComp
** ppTypeComp
,
1065 CLEANLOCALSTORAGE
* pDummy
);
1066 HRESULT CALLBACK
ITypeComp_RemoteBindType_Proxy(
1070 ITypeInfo
** ppTInfo
);
1071 void __RPC_STUB
ITypeComp_RemoteBindType_Stub(
1072 struct IRpcStubBuffer
* This
,
1073 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1074 PRPC_MESSAGE pRpcMessage
,
1075 DWORD
* pdwStubPhase
);
1076 HRESULT CALLBACK
ITypeComp_BindType_Proxy(
1080 ITypeInfo
** ppTInfo
,
1081 ITypeComp
** ppTComp
);
1082 HRESULT __RPC_STUB
ITypeComp_BindType_Stub(
1086 ITypeInfo
** ppTInfo
);
1088 #endif /* __ITypeComp_INTERFACE_DEFINED__ */
1090 typedef ITypeInfo
*LPTYPEINFO
;
1092 /*****************************************************************************
1093 * ITypeInfo interface
1095 #ifndef __ITypeInfo_INTERFACE_DEFINED__
1096 #define __ITypeInfo_INTERFACE_DEFINED__
1098 DEFINE_GUID(IID_ITypeInfo
, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1099 #if defined(__cplusplus) && !defined(CINTERFACE)
1100 struct ITypeInfo
: public IUnknown
1102 virtual HRESULT STDMETHODCALLTYPE
GetTypeAttr(
1103 TYPEATTR
** ppTypeAttr
) = 0;
1105 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
1106 ITypeComp
** ppTComp
) = 0;
1108 virtual HRESULT STDMETHODCALLTYPE
GetFuncDesc(
1110 FUNCDESC
** ppFuncDesc
) = 0;
1112 virtual HRESULT STDMETHODCALLTYPE
GetVarDesc(
1114 VARDESC
** ppVarDesc
) = 0;
1116 virtual HRESULT STDMETHODCALLTYPE
GetNames(
1122 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeOfImplType(
1124 HREFTYPE
* pRefType
) = 0;
1126 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeFlags(
1128 INT
* pImplTypeFlags
) = 0;
1130 virtual HRESULT STDMETHODCALLTYPE
GetIDsOfNames(
1131 LPOLESTR
* rgszNames
,
1133 MEMBERID
* pMemId
) = 0;
1135 virtual HRESULT STDMETHODCALLTYPE
Invoke(
1139 DISPPARAMS
* pDispParams
,
1140 VARIANT
* pVarResult
,
1141 EXCEPINFO
* pExcepInfo
,
1142 UINT
* puArgErr
) = 0;
1144 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
1147 BSTR
* pBstrDocString
,
1148 DWORD
* pdwHelpContext
,
1149 BSTR
* pBstrHelpFile
) = 0;
1151 virtual HRESULT STDMETHODCALLTYPE
GetDllEntry(
1156 WORD
* pwOrdinal
) = 0;
1158 virtual HRESULT STDMETHODCALLTYPE
GetRefTypeInfo(
1160 ITypeInfo
** ppTInfo
) = 0;
1162 virtual HRESULT STDMETHODCALLTYPE
AddressOfMember(
1167 virtual HRESULT STDMETHODCALLTYPE
CreateInstance(
1168 IUnknown
* pUnkOuter
,
1172 virtual HRESULT STDMETHODCALLTYPE
GetMops(
1174 BSTR
* pBstrMops
) = 0;
1176 virtual HRESULT STDMETHODCALLTYPE
GetContainingTypeLib(
1180 virtual void STDMETHODCALLTYPE
ReleaseTypeAttr(
1181 TYPEATTR
* pTypeAttr
) = 0;
1183 virtual void STDMETHODCALLTYPE
ReleaseFuncDesc(
1184 FUNCDESC
* pFuncDesc
) = 0;
1186 virtual void STDMETHODCALLTYPE
ReleaseVarDesc(
1187 VARDESC
* pVarDesc
) = 0;
1191 typedef struct ITypeInfoVtbl ITypeInfoVtbl
;
1193 const ITypeInfoVtbl
* lpVtbl
;
1195 struct ITypeInfoVtbl
{
1196 ICOM_MSVTABLE_COMPAT_FIELDS
1198 /*** IUnknown methods ***/
1199 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1204 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1207 ULONG (STDMETHODCALLTYPE
*Release
)(
1210 /*** ITypeInfo methods ***/
1211 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1213 TYPEATTR
** ppTypeAttr
);
1215 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1217 ITypeComp
** ppTComp
);
1219 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1222 FUNCDESC
** ppFuncDesc
);
1224 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1227 VARDESC
** ppVarDesc
);
1229 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1236 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1239 HREFTYPE
* pRefType
);
1241 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1244 INT
* pImplTypeFlags
);
1246 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1248 LPOLESTR
* rgszNames
,
1252 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1257 DISPPARAMS
* pDispParams
,
1258 VARIANT
* pVarResult
,
1259 EXCEPINFO
* pExcepInfo
,
1262 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1266 BSTR
* pBstrDocString
,
1267 DWORD
* pdwHelpContext
,
1268 BSTR
* pBstrHelpFile
);
1270 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1278 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1281 ITypeInfo
** ppTInfo
);
1283 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1289 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1291 IUnknown
* pUnkOuter
,
1295 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1300 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1305 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1307 TYPEATTR
* pTypeAttr
);
1309 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1311 FUNCDESC
* pFuncDesc
);
1313 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1319 /*** IUnknown methods ***/
1320 #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1321 #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1322 #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
1323 /*** ITypeInfo methods ***/
1324 #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1325 #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1326 #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1327 #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1328 #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1329 #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1330 #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1331 #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1332 #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1333 #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1334 #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1335 #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1336 #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1337 #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1338 #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1339 #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1340 #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1341 #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1342 #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1346 #define ITypeInfo_METHODS \
1347 ICOM_MSVTABLE_COMPAT_FIELDS \
1348 /*** IUnknown methods ***/ \
1349 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1350 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1351 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1352 /*** ITypeInfo methods ***/ \
1353 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
1354 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
1355 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
1356 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
1357 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
1358 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
1359 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
1360 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
1361 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
1362 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
1363 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
1364 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
1365 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
1366 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
1367 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
1368 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
1369 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
1370 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
1371 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
1373 HRESULT CALLBACK
ITypeInfo_RemoteGetTypeAttr_Proxy(
1375 LPTYPEATTR
* ppTypeAttr
,
1376 CLEANLOCALSTORAGE
* pDummy
);
1377 void __RPC_STUB
ITypeInfo_RemoteGetTypeAttr_Stub(
1378 struct IRpcStubBuffer
* This
,
1379 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1380 PRPC_MESSAGE pRpcMessage
,
1381 DWORD
* pdwStubPhase
);
1382 HRESULT CALLBACK
ITypeInfo_GetTypeAttr_Proxy(
1384 TYPEATTR
** ppTypeAttr
);
1385 HRESULT __RPC_STUB
ITypeInfo_GetTypeAttr_Stub(
1387 LPTYPEATTR
* ppTypeAttr
,
1388 CLEANLOCALSTORAGE
* pDummy
);
1389 HRESULT CALLBACK
ITypeInfo_GetTypeComp_Proxy(
1391 ITypeComp
** ppTComp
);
1392 void __RPC_STUB
ITypeInfo_GetTypeComp_Stub(
1393 struct IRpcStubBuffer
* This
,
1394 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1395 PRPC_MESSAGE pRpcMessage
,
1396 DWORD
* pdwStubPhase
);
1397 HRESULT CALLBACK
ITypeInfo_RemoteGetFuncDesc_Proxy(
1400 LPFUNCDESC
* ppFuncDesc
,
1401 CLEANLOCALSTORAGE
* pDummy
);
1402 void __RPC_STUB
ITypeInfo_RemoteGetFuncDesc_Stub(
1403 struct IRpcStubBuffer
* This
,
1404 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1405 PRPC_MESSAGE pRpcMessage
,
1406 DWORD
* pdwStubPhase
);
1407 HRESULT CALLBACK
ITypeInfo_GetFuncDesc_Proxy(
1410 FUNCDESC
** ppFuncDesc
);
1411 HRESULT __RPC_STUB
ITypeInfo_GetFuncDesc_Stub(
1414 LPFUNCDESC
* ppFuncDesc
,
1415 CLEANLOCALSTORAGE
* pDummy
);
1416 HRESULT CALLBACK
ITypeInfo_RemoteGetVarDesc_Proxy(
1419 LPVARDESC
* ppVarDesc
,
1420 CLEANLOCALSTORAGE
* pDummy
);
1421 void __RPC_STUB
ITypeInfo_RemoteGetVarDesc_Stub(
1422 struct IRpcStubBuffer
* This
,
1423 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1424 PRPC_MESSAGE pRpcMessage
,
1425 DWORD
* pdwStubPhase
);
1426 HRESULT CALLBACK
ITypeInfo_GetVarDesc_Proxy(
1429 VARDESC
** ppVarDesc
);
1430 HRESULT __RPC_STUB
ITypeInfo_GetVarDesc_Stub(
1433 LPVARDESC
* ppVarDesc
,
1434 CLEANLOCALSTORAGE
* pDummy
);
1435 HRESULT CALLBACK
ITypeInfo_RemoteGetNames_Proxy(
1441 void __RPC_STUB
ITypeInfo_RemoteGetNames_Stub(
1442 struct IRpcStubBuffer
* This
,
1443 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1444 PRPC_MESSAGE pRpcMessage
,
1445 DWORD
* pdwStubPhase
);
1446 HRESULT CALLBACK
ITypeInfo_GetNames_Proxy(
1452 HRESULT __RPC_STUB
ITypeInfo_GetNames_Stub(
1458 HRESULT CALLBACK
ITypeInfo_GetRefTypeOfImplType_Proxy(
1461 HREFTYPE
* pRefType
);
1462 void __RPC_STUB
ITypeInfo_GetRefTypeOfImplType_Stub(
1463 struct IRpcStubBuffer
* This
,
1464 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1465 PRPC_MESSAGE pRpcMessage
,
1466 DWORD
* pdwStubPhase
);
1467 HRESULT CALLBACK
ITypeInfo_GetImplTypeFlags_Proxy(
1470 INT
* pImplTypeFlags
);
1471 void __RPC_STUB
ITypeInfo_GetImplTypeFlags_Stub(
1472 struct IRpcStubBuffer
* This
,
1473 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1474 PRPC_MESSAGE pRpcMessage
,
1475 DWORD
* pdwStubPhase
);
1476 HRESULT CALLBACK
ITypeInfo_LocalGetIDsOfNames_Proxy(
1478 void __RPC_STUB
ITypeInfo_LocalGetIDsOfNames_Stub(
1479 struct IRpcStubBuffer
* This
,
1480 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1481 PRPC_MESSAGE pRpcMessage
,
1482 DWORD
* pdwStubPhase
);
1483 HRESULT CALLBACK
ITypeInfo_GetIDsOfNames_Proxy(
1485 LPOLESTR
* rgszNames
,
1488 HRESULT __RPC_STUB
ITypeInfo_GetIDsOfNames_Stub(
1490 HRESULT CALLBACK
ITypeInfo_LocalInvoke_Proxy(
1492 void __RPC_STUB
ITypeInfo_LocalInvoke_Stub(
1493 struct IRpcStubBuffer
* This
,
1494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1495 PRPC_MESSAGE pRpcMessage
,
1496 DWORD
* pdwStubPhase
);
1497 HRESULT CALLBACK
ITypeInfo_Invoke_Proxy(
1502 DISPPARAMS
* pDispParams
,
1503 VARIANT
* pVarResult
,
1504 EXCEPINFO
* pExcepInfo
,
1506 HRESULT __RPC_STUB
ITypeInfo_Invoke_Stub(
1508 HRESULT CALLBACK
ITypeInfo_RemoteGetDocumentation_Proxy(
1513 BSTR
* pBstrDocString
,
1514 DWORD
* pdwHelpContext
,
1515 BSTR
* pBstrHelpFile
);
1516 void __RPC_STUB
ITypeInfo_RemoteGetDocumentation_Stub(
1517 struct IRpcStubBuffer
* This
,
1518 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1519 PRPC_MESSAGE pRpcMessage
,
1520 DWORD
* pdwStubPhase
);
1521 HRESULT CALLBACK
ITypeInfo_GetDocumentation_Proxy(
1525 BSTR
* pBstrDocString
,
1526 DWORD
* pdwHelpContext
,
1527 BSTR
* pBstrHelpFile
);
1528 HRESULT __RPC_STUB
ITypeInfo_GetDocumentation_Stub(
1533 BSTR
* pBstrDocString
,
1534 DWORD
* pdwHelpContext
,
1535 BSTR
* pBstrHelpFile
);
1536 HRESULT CALLBACK
ITypeInfo_RemoteGetDllEntry_Proxy(
1544 void __RPC_STUB
ITypeInfo_RemoteGetDllEntry_Stub(
1545 struct IRpcStubBuffer
* This
,
1546 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1547 PRPC_MESSAGE pRpcMessage
,
1548 DWORD
* pdwStubPhase
);
1549 HRESULT CALLBACK
ITypeInfo_GetDllEntry_Proxy(
1556 HRESULT __RPC_STUB
ITypeInfo_GetDllEntry_Stub(
1564 HRESULT CALLBACK
ITypeInfo_GetRefTypeInfo_Proxy(
1567 ITypeInfo
** ppTInfo
);
1568 void __RPC_STUB
ITypeInfo_GetRefTypeInfo_Stub(
1569 struct IRpcStubBuffer
* This
,
1570 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1571 PRPC_MESSAGE pRpcMessage
,
1572 DWORD
* pdwStubPhase
);
1573 HRESULT CALLBACK
ITypeInfo_LocalAddressOfMember_Proxy(
1575 void __RPC_STUB
ITypeInfo_LocalAddressOfMember_Stub(
1576 struct IRpcStubBuffer
* This
,
1577 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1578 PRPC_MESSAGE pRpcMessage
,
1579 DWORD
* pdwStubPhase
);
1580 HRESULT CALLBACK
ITypeInfo_AddressOfMember_Proxy(
1585 HRESULT __RPC_STUB
ITypeInfo_AddressOfMember_Stub(
1587 HRESULT CALLBACK
ITypeInfo_RemoteCreateInstance_Proxy(
1591 void __RPC_STUB
ITypeInfo_RemoteCreateInstance_Stub(
1592 struct IRpcStubBuffer
* This
,
1593 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1594 PRPC_MESSAGE pRpcMessage
,
1595 DWORD
* pdwStubPhase
);
1596 HRESULT CALLBACK
ITypeInfo_CreateInstance_Proxy(
1598 IUnknown
* pUnkOuter
,
1601 HRESULT __RPC_STUB
ITypeInfo_CreateInstance_Stub(
1605 HRESULT CALLBACK
ITypeInfo_GetMops_Proxy(
1609 void __RPC_STUB
ITypeInfo_GetMops_Stub(
1610 struct IRpcStubBuffer
* This
,
1611 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1612 PRPC_MESSAGE pRpcMessage
,
1613 DWORD
* pdwStubPhase
);
1614 HRESULT CALLBACK
ITypeInfo_RemoteGetContainingTypeLib_Proxy(
1618 void __RPC_STUB
ITypeInfo_RemoteGetContainingTypeLib_Stub(
1619 struct IRpcStubBuffer
* This
,
1620 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1621 PRPC_MESSAGE pRpcMessage
,
1622 DWORD
* pdwStubPhase
);
1623 HRESULT CALLBACK
ITypeInfo_GetContainingTypeLib_Proxy(
1627 HRESULT __RPC_STUB
ITypeInfo_GetContainingTypeLib_Stub(
1631 HRESULT CALLBACK
ITypeInfo_LocalReleaseTypeAttr_Proxy(
1633 void __RPC_STUB
ITypeInfo_LocalReleaseTypeAttr_Stub(
1634 struct IRpcStubBuffer
* This
,
1635 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1636 PRPC_MESSAGE pRpcMessage
,
1637 DWORD
* pdwStubPhase
);
1638 void CALLBACK
ITypeInfo_ReleaseTypeAttr_Proxy(
1640 TYPEATTR
* pTypeAttr
);
1641 HRESULT __RPC_STUB
ITypeInfo_ReleaseTypeAttr_Stub(
1643 HRESULT CALLBACK
ITypeInfo_LocalReleaseFuncDesc_Proxy(
1645 void __RPC_STUB
ITypeInfo_LocalReleaseFuncDesc_Stub(
1646 struct IRpcStubBuffer
* This
,
1647 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1648 PRPC_MESSAGE pRpcMessage
,
1649 DWORD
* pdwStubPhase
);
1650 void CALLBACK
ITypeInfo_ReleaseFuncDesc_Proxy(
1652 FUNCDESC
* pFuncDesc
);
1653 HRESULT __RPC_STUB
ITypeInfo_ReleaseFuncDesc_Stub(
1655 HRESULT CALLBACK
ITypeInfo_LocalReleaseVarDesc_Proxy(
1657 void __RPC_STUB
ITypeInfo_LocalReleaseVarDesc_Stub(
1658 struct IRpcStubBuffer
* This
,
1659 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1660 PRPC_MESSAGE pRpcMessage
,
1661 DWORD
* pdwStubPhase
);
1662 void CALLBACK
ITypeInfo_ReleaseVarDesc_Proxy(
1665 HRESULT __RPC_STUB
ITypeInfo_ReleaseVarDesc_Stub(
1668 #endif /* __ITypeInfo_INTERFACE_DEFINED__ */
1670 #ifndef __ITypeInfo2_FWD_DEFINED__
1671 #define __ITypeInfo2_FWD_DEFINED__
1672 typedef struct ITypeInfo2 ITypeInfo2
;
1675 typedef ITypeInfo2
*LPTYPEINFO2
;
1677 /*****************************************************************************
1678 * ITypeInfo2 interface
1680 #ifndef __ITypeInfo2_INTERFACE_DEFINED__
1681 #define __ITypeInfo2_INTERFACE_DEFINED__
1683 DEFINE_GUID(IID_ITypeInfo2
, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1684 #if defined(__cplusplus) && !defined(CINTERFACE)
1685 struct ITypeInfo2
: public ITypeInfo
1687 virtual HRESULT STDMETHODCALLTYPE
GetTypeKind(
1688 TYPEKIND
* pTypeKind
) = 0;
1690 virtual HRESULT STDMETHODCALLTYPE
GetTypeFlags(
1691 ULONG
* pTypeFlags
) = 0;
1693 virtual HRESULT STDMETHODCALLTYPE
GetFuncIndexOfMemId(
1696 UINT
* pFuncIndex
) = 0;
1698 virtual HRESULT STDMETHODCALLTYPE
GetVarIndexOfMemId(
1700 UINT
* pVarIndex
) = 0;
1702 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
1704 VARIANT
* pVarVal
) = 0;
1706 virtual HRESULT STDMETHODCALLTYPE
GetFuncCustData(
1709 VARIANT
* pVarVal
) = 0;
1711 virtual HRESULT STDMETHODCALLTYPE
GetParamCustData(
1715 VARIANT
* pVarVal
) = 0;
1717 virtual HRESULT STDMETHODCALLTYPE
GetVarCustData(
1720 VARIANT
* pVarVal
) = 0;
1722 virtual HRESULT STDMETHODCALLTYPE
GetImplTypeCustData(
1725 VARIANT
* pVarVal
) = 0;
1727 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
1730 BSTR
* pbstrHelpString
,
1731 DWORD
* pdwHelpStringContext
,
1732 BSTR
* pbstrHelpStringDll
) = 0;
1734 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
1735 CUSTDATA
* pCustData
) = 0;
1737 virtual HRESULT STDMETHODCALLTYPE
GetAllFuncCustData(
1739 CUSTDATA
* pCustData
) = 0;
1741 virtual HRESULT STDMETHODCALLTYPE
GetAllParamCustData(
1744 CUSTDATA
* pCustData
) = 0;
1746 virtual HRESULT STDMETHODCALLTYPE
GetAllVarCustData(
1748 CUSTDATA
* pCustData
) = 0;
1750 virtual HRESULT STDMETHODCALLTYPE
GetAllImplTypeCustData(
1752 CUSTDATA
* pCustData
) = 0;
1756 typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl
;
1758 const ITypeInfo2Vtbl
* lpVtbl
;
1760 struct ITypeInfo2Vtbl
{
1761 ICOM_MSVTABLE_COMPAT_FIELDS
1763 /*** IUnknown methods ***/
1764 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1769 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1772 ULONG (STDMETHODCALLTYPE
*Release
)(
1775 /*** ITypeInfo methods ***/
1776 HRESULT (STDMETHODCALLTYPE
*GetTypeAttr
)(
1778 TYPEATTR
** ppTypeAttr
);
1780 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
1782 ITypeComp
** ppTComp
);
1784 HRESULT (STDMETHODCALLTYPE
*GetFuncDesc
)(
1787 FUNCDESC
** ppFuncDesc
);
1789 HRESULT (STDMETHODCALLTYPE
*GetVarDesc
)(
1792 VARDESC
** ppVarDesc
);
1794 HRESULT (STDMETHODCALLTYPE
*GetNames
)(
1801 HRESULT (STDMETHODCALLTYPE
*GetRefTypeOfImplType
)(
1804 HREFTYPE
* pRefType
);
1806 HRESULT (STDMETHODCALLTYPE
*GetImplTypeFlags
)(
1809 INT
* pImplTypeFlags
);
1811 HRESULT (STDMETHODCALLTYPE
*GetIDsOfNames
)(
1813 LPOLESTR
* rgszNames
,
1817 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
1822 DISPPARAMS
* pDispParams
,
1823 VARIANT
* pVarResult
,
1824 EXCEPINFO
* pExcepInfo
,
1827 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
1831 BSTR
* pBstrDocString
,
1832 DWORD
* pdwHelpContext
,
1833 BSTR
* pBstrHelpFile
);
1835 HRESULT (STDMETHODCALLTYPE
*GetDllEntry
)(
1843 HRESULT (STDMETHODCALLTYPE
*GetRefTypeInfo
)(
1846 ITypeInfo
** ppTInfo
);
1848 HRESULT (STDMETHODCALLTYPE
*AddressOfMember
)(
1854 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
1856 IUnknown
* pUnkOuter
,
1860 HRESULT (STDMETHODCALLTYPE
*GetMops
)(
1865 HRESULT (STDMETHODCALLTYPE
*GetContainingTypeLib
)(
1870 void (STDMETHODCALLTYPE
*ReleaseTypeAttr
)(
1872 TYPEATTR
* pTypeAttr
);
1874 void (STDMETHODCALLTYPE
*ReleaseFuncDesc
)(
1876 FUNCDESC
* pFuncDesc
);
1878 void (STDMETHODCALLTYPE
*ReleaseVarDesc
)(
1882 /*** ITypeInfo2 methods ***/
1883 HRESULT (STDMETHODCALLTYPE
*GetTypeKind
)(
1885 TYPEKIND
* pTypeKind
);
1887 HRESULT (STDMETHODCALLTYPE
*GetTypeFlags
)(
1891 HRESULT (STDMETHODCALLTYPE
*GetFuncIndexOfMemId
)(
1897 HRESULT (STDMETHODCALLTYPE
*GetVarIndexOfMemId
)(
1902 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
1907 HRESULT (STDMETHODCALLTYPE
*GetFuncCustData
)(
1913 HRESULT (STDMETHODCALLTYPE
*GetParamCustData
)(
1920 HRESULT (STDMETHODCALLTYPE
*GetVarCustData
)(
1926 HRESULT (STDMETHODCALLTYPE
*GetImplTypeCustData
)(
1932 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
1936 BSTR
* pbstrHelpString
,
1937 DWORD
* pdwHelpStringContext
,
1938 BSTR
* pbstrHelpStringDll
);
1940 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
1942 CUSTDATA
* pCustData
);
1944 HRESULT (STDMETHODCALLTYPE
*GetAllFuncCustData
)(
1947 CUSTDATA
* pCustData
);
1949 HRESULT (STDMETHODCALLTYPE
*GetAllParamCustData
)(
1953 CUSTDATA
* pCustData
);
1955 HRESULT (STDMETHODCALLTYPE
*GetAllVarCustData
)(
1958 CUSTDATA
* pCustData
);
1960 HRESULT (STDMETHODCALLTYPE
*GetAllImplTypeCustData
)(
1963 CUSTDATA
* pCustData
);
1967 /*** IUnknown methods ***/
1968 #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1969 #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
1970 #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p)
1971 /*** ITypeInfo methods ***/
1972 #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
1973 #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
1974 #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
1975 #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
1976 #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
1977 #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
1978 #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
1979 #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
1980 #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
1981 #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
1982 #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
1983 #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
1984 #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
1985 #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
1986 #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
1987 #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
1988 #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
1989 #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
1990 #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
1991 /*** ITypeInfo2 methods ***/
1992 #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a)
1993 #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a)
1994 #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c)
1995 #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b)
1996 #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
1997 #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c)
1998 #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d)
1999 #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c)
2000 #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c)
2001 #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2002 #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2003 #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b)
2004 #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c)
2005 #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b)
2006 #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b)
2010 #define ITypeInfo2_METHODS \
2011 ICOM_MSVTABLE_COMPAT_FIELDS \
2012 /*** IUnknown methods ***/ \
2013 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2014 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2015 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2016 /*** ITypeInfo methods ***/ \
2017 STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
2018 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2019 STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
2020 STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
2021 STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
2022 STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
2023 STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
2024 STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
2025 STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
2026 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2027 STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
2028 STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
2029 STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
2030 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
2031 STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
2032 STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
2033 STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
2034 STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
2035 STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
2036 /*** ITypeInfo2 methods ***/ \
2037 STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
2038 STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
2039 STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
2040 STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
2041 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2042 STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2043 STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
2044 STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2045 STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
2046 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2047 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
2048 STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2049 STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
2050 STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
2051 STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
2053 HRESULT CALLBACK
ITypeInfo2_GetTypeKind_Proxy(
2055 TYPEKIND
* pTypeKind
);
2056 void __RPC_STUB
ITypeInfo2_GetTypeKind_Stub(
2057 struct IRpcStubBuffer
* This
,
2058 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2059 PRPC_MESSAGE pRpcMessage
,
2060 DWORD
* pdwStubPhase
);
2061 HRESULT CALLBACK
ITypeInfo2_GetTypeFlags_Proxy(
2064 void __RPC_STUB
ITypeInfo2_GetTypeFlags_Stub(
2065 struct IRpcStubBuffer
* This
,
2066 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2067 PRPC_MESSAGE pRpcMessage
,
2068 DWORD
* pdwStubPhase
);
2069 HRESULT CALLBACK
ITypeInfo2_GetFuncIndexOfMemId_Proxy(
2074 void __RPC_STUB
ITypeInfo2_GetFuncIndexOfMemId_Stub(
2075 struct IRpcStubBuffer
* This
,
2076 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2077 PRPC_MESSAGE pRpcMessage
,
2078 DWORD
* pdwStubPhase
);
2079 HRESULT CALLBACK
ITypeInfo2_GetVarIndexOfMemId_Proxy(
2083 void __RPC_STUB
ITypeInfo2_GetVarIndexOfMemId_Stub(
2084 struct IRpcStubBuffer
* This
,
2085 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2086 PRPC_MESSAGE pRpcMessage
,
2087 DWORD
* pdwStubPhase
);
2088 HRESULT CALLBACK
ITypeInfo2_GetCustData_Proxy(
2092 void __RPC_STUB
ITypeInfo2_GetCustData_Stub(
2093 struct IRpcStubBuffer
* This
,
2094 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2095 PRPC_MESSAGE pRpcMessage
,
2096 DWORD
* pdwStubPhase
);
2097 HRESULT CALLBACK
ITypeInfo2_GetFuncCustData_Proxy(
2102 void __RPC_STUB
ITypeInfo2_GetFuncCustData_Stub(
2103 struct IRpcStubBuffer
* This
,
2104 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2105 PRPC_MESSAGE pRpcMessage
,
2106 DWORD
* pdwStubPhase
);
2107 HRESULT CALLBACK
ITypeInfo2_GetParamCustData_Proxy(
2113 void __RPC_STUB
ITypeInfo2_GetParamCustData_Stub(
2114 struct IRpcStubBuffer
* This
,
2115 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2116 PRPC_MESSAGE pRpcMessage
,
2117 DWORD
* pdwStubPhase
);
2118 HRESULT CALLBACK
ITypeInfo2_GetVarCustData_Proxy(
2123 void __RPC_STUB
ITypeInfo2_GetVarCustData_Stub(
2124 struct IRpcStubBuffer
* This
,
2125 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2126 PRPC_MESSAGE pRpcMessage
,
2127 DWORD
* pdwStubPhase
);
2128 HRESULT CALLBACK
ITypeInfo2_GetImplTypeCustData_Proxy(
2133 void __RPC_STUB
ITypeInfo2_GetImplTypeCustData_Stub(
2134 struct IRpcStubBuffer
* This
,
2135 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2136 PRPC_MESSAGE pRpcMessage
,
2137 DWORD
* pdwStubPhase
);
2138 HRESULT CALLBACK
ITypeInfo2_RemoteGetDocumentation2_Proxy(
2143 BSTR
* pbstrHelpString
,
2144 DWORD
* pdwHelpStringContext
,
2145 BSTR
* pbstrHelpStringDll
);
2146 void __RPC_STUB
ITypeInfo2_RemoteGetDocumentation2_Stub(
2147 struct IRpcStubBuffer
* This
,
2148 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2149 PRPC_MESSAGE pRpcMessage
,
2150 DWORD
* pdwStubPhase
);
2151 HRESULT CALLBACK
ITypeInfo2_GetDocumentation2_Proxy(
2155 BSTR
* pbstrHelpString
,
2156 DWORD
* pdwHelpStringContext
,
2157 BSTR
* pbstrHelpStringDll
);
2158 HRESULT __RPC_STUB
ITypeInfo2_GetDocumentation2_Stub(
2163 BSTR
* pbstrHelpString
,
2164 DWORD
* pdwHelpStringContext
,
2165 BSTR
* pbstrHelpStringDll
);
2166 HRESULT CALLBACK
ITypeInfo2_GetAllCustData_Proxy(
2168 CUSTDATA
* pCustData
);
2169 void __RPC_STUB
ITypeInfo2_GetAllCustData_Stub(
2170 struct IRpcStubBuffer
* This
,
2171 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2172 PRPC_MESSAGE pRpcMessage
,
2173 DWORD
* pdwStubPhase
);
2174 HRESULT CALLBACK
ITypeInfo2_GetAllFuncCustData_Proxy(
2177 CUSTDATA
* pCustData
);
2178 void __RPC_STUB
ITypeInfo2_GetAllFuncCustData_Stub(
2179 struct IRpcStubBuffer
* This
,
2180 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2181 PRPC_MESSAGE pRpcMessage
,
2182 DWORD
* pdwStubPhase
);
2183 HRESULT CALLBACK
ITypeInfo2_GetAllParamCustData_Proxy(
2187 CUSTDATA
* pCustData
);
2188 void __RPC_STUB
ITypeInfo2_GetAllParamCustData_Stub(
2189 struct IRpcStubBuffer
* This
,
2190 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2191 PRPC_MESSAGE pRpcMessage
,
2192 DWORD
* pdwStubPhase
);
2193 HRESULT CALLBACK
ITypeInfo2_GetAllVarCustData_Proxy(
2196 CUSTDATA
* pCustData
);
2197 void __RPC_STUB
ITypeInfo2_GetAllVarCustData_Stub(
2198 struct IRpcStubBuffer
* This
,
2199 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2200 PRPC_MESSAGE pRpcMessage
,
2201 DWORD
* pdwStubPhase
);
2202 HRESULT CALLBACK
ITypeInfo2_GetAllImplTypeCustData_Proxy(
2205 CUSTDATA
* pCustData
);
2206 void __RPC_STUB
ITypeInfo2_GetAllImplTypeCustData_Stub(
2207 struct IRpcStubBuffer
* This
,
2208 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2209 PRPC_MESSAGE pRpcMessage
,
2210 DWORD
* pdwStubPhase
);
2212 #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
2214 typedef ITypeLib
*LPTYPELIB
;
2216 typedef enum tagSYSKIND
{
2222 typedef enum tagLIBFLAGS
{
2223 LIBFLAG_FRESTRICTED
= 0x1,
2224 LIBFLAG_FCONTROL
= 0x2,
2225 LIBFLAG_FHIDDEN
= 0x4,
2226 LIBFLAG_FHASDISKIMAGE
= 0x8
2229 typedef struct tagTLIBATTR
{
2236 } TLIBATTR
, *LPTLIBATTR
;
2238 /*****************************************************************************
2239 * ITypeLib interface
2241 #ifndef __ITypeLib_INTERFACE_DEFINED__
2242 #define __ITypeLib_INTERFACE_DEFINED__
2244 DEFINE_GUID(IID_ITypeLib
, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2245 #if defined(__cplusplus) && !defined(CINTERFACE)
2246 struct ITypeLib
: public IUnknown
2248 virtual UINT STDMETHODCALLTYPE
GetTypeInfoCount(
2251 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
2253 ITypeInfo
** ppTInfo
) = 0;
2255 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoType(
2257 TYPEKIND
* pTKind
) = 0;
2259 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfoOfGuid(
2261 ITypeInfo
** ppTinfo
) = 0;
2263 virtual HRESULT STDMETHODCALLTYPE
GetLibAttr(
2264 TLIBATTR
** ppTLibAttr
) = 0;
2266 virtual HRESULT STDMETHODCALLTYPE
GetTypeComp(
2267 ITypeComp
** ppTComp
) = 0;
2269 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation(
2272 BSTR
* pBstrDocString
,
2273 DWORD
* pdwHelpContext
,
2274 BSTR
* pBstrHelpFile
) = 0;
2276 virtual HRESULT STDMETHODCALLTYPE
IsName(
2281 virtual HRESULT STDMETHODCALLTYPE
FindName(
2284 ITypeInfo
** ppTInfo
,
2286 USHORT
* pcFound
) = 0;
2288 virtual void STDMETHODCALLTYPE
ReleaseTLibAttr(
2289 TLIBATTR
* pTLibAttr
) = 0;
2293 typedef struct ITypeLibVtbl ITypeLibVtbl
;
2295 const ITypeLibVtbl
* lpVtbl
;
2297 struct ITypeLibVtbl
{
2298 ICOM_MSVTABLE_COMPAT_FIELDS
2300 /*** IUnknown methods ***/
2301 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2306 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2309 ULONG (STDMETHODCALLTYPE
*Release
)(
2312 /*** ITypeLib methods ***/
2313 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2316 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2319 ITypeInfo
** ppTInfo
);
2321 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2326 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2329 ITypeInfo
** ppTinfo
);
2331 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2333 TLIBATTR
** ppTLibAttr
);
2335 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2337 ITypeComp
** ppTComp
);
2339 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2343 BSTR
* pBstrDocString
,
2344 DWORD
* pdwHelpContext
,
2345 BSTR
* pBstrHelpFile
);
2347 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2353 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2357 ITypeInfo
** ppTInfo
,
2361 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2363 TLIBATTR
* pTLibAttr
);
2367 /*** IUnknown methods ***/
2368 #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2369 #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
2370 #define ITypeLib_Release(p) (p)->lpVtbl->Release(p)
2371 /*** ITypeLib methods ***/
2372 #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2373 #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2374 #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2375 #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2376 #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2377 #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2378 #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2379 #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2380 #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2381 #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2385 #define ITypeLib_METHODS \
2386 ICOM_MSVTABLE_COMPAT_FIELDS \
2387 /*** IUnknown methods ***/ \
2388 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2389 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2390 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2391 /*** ITypeLib methods ***/ \
2392 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2393 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2394 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2395 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2396 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2397 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2398 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2399 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2400 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2401 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
2403 HRESULT CALLBACK
ITypeLib_RemoteGetTypeInfoCount_Proxy(
2406 void __RPC_STUB
ITypeLib_RemoteGetTypeInfoCount_Stub(
2407 struct IRpcStubBuffer
* This
,
2408 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2409 PRPC_MESSAGE pRpcMessage
,
2410 DWORD
* pdwStubPhase
);
2411 UINT CALLBACK
ITypeLib_GetTypeInfoCount_Proxy(
2413 HRESULT __RPC_STUB
ITypeLib_GetTypeInfoCount_Stub(
2416 HRESULT CALLBACK
ITypeLib_GetTypeInfo_Proxy(
2419 ITypeInfo
** ppTInfo
);
2420 void __RPC_STUB
ITypeLib_GetTypeInfo_Stub(
2421 struct IRpcStubBuffer
* This
,
2422 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2423 PRPC_MESSAGE pRpcMessage
,
2424 DWORD
* pdwStubPhase
);
2425 HRESULT CALLBACK
ITypeLib_GetTypeInfoType_Proxy(
2429 void __RPC_STUB
ITypeLib_GetTypeInfoType_Stub(
2430 struct IRpcStubBuffer
* This
,
2431 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2432 PRPC_MESSAGE pRpcMessage
,
2433 DWORD
* pdwStubPhase
);
2434 HRESULT CALLBACK
ITypeLib_GetTypeInfoOfGuid_Proxy(
2437 ITypeInfo
** ppTinfo
);
2438 void __RPC_STUB
ITypeLib_GetTypeInfoOfGuid_Stub(
2439 struct IRpcStubBuffer
* This
,
2440 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2441 PRPC_MESSAGE pRpcMessage
,
2442 DWORD
* pdwStubPhase
);
2443 HRESULT CALLBACK
ITypeLib_RemoteGetLibAttr_Proxy(
2445 LPTLIBATTR
* ppTLibAttr
,
2446 CLEANLOCALSTORAGE
* pDummy
);
2447 void __RPC_STUB
ITypeLib_RemoteGetLibAttr_Stub(
2448 struct IRpcStubBuffer
* This
,
2449 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2450 PRPC_MESSAGE pRpcMessage
,
2451 DWORD
* pdwStubPhase
);
2452 HRESULT CALLBACK
ITypeLib_GetLibAttr_Proxy(
2454 TLIBATTR
** ppTLibAttr
);
2455 HRESULT __RPC_STUB
ITypeLib_GetLibAttr_Stub(
2457 LPTLIBATTR
* ppTLibAttr
,
2458 CLEANLOCALSTORAGE
* pDummy
);
2459 HRESULT CALLBACK
ITypeLib_GetTypeComp_Proxy(
2461 ITypeComp
** ppTComp
);
2462 void __RPC_STUB
ITypeLib_GetTypeComp_Stub(
2463 struct IRpcStubBuffer
* This
,
2464 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2465 PRPC_MESSAGE pRpcMessage
,
2466 DWORD
* pdwStubPhase
);
2467 HRESULT CALLBACK
ITypeLib_RemoteGetDocumentation_Proxy(
2472 BSTR
* pBstrDocString
,
2473 DWORD
* pdwHelpContext
,
2474 BSTR
* pBstrHelpFile
);
2475 void __RPC_STUB
ITypeLib_RemoteGetDocumentation_Stub(
2476 struct IRpcStubBuffer
* This
,
2477 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2478 PRPC_MESSAGE pRpcMessage
,
2479 DWORD
* pdwStubPhase
);
2480 HRESULT CALLBACK
ITypeLib_GetDocumentation_Proxy(
2484 BSTR
* pBstrDocString
,
2485 DWORD
* pdwHelpContext
,
2486 BSTR
* pBstrHelpFile
);
2487 HRESULT __RPC_STUB
ITypeLib_GetDocumentation_Stub(
2492 BSTR
* pBstrDocString
,
2493 DWORD
* pdwHelpContext
,
2494 BSTR
* pBstrHelpFile
);
2495 HRESULT CALLBACK
ITypeLib_RemoteIsName_Proxy(
2500 BSTR
* pBstrLibName
);
2501 void __RPC_STUB
ITypeLib_RemoteIsName_Stub(
2502 struct IRpcStubBuffer
* This
,
2503 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2504 PRPC_MESSAGE pRpcMessage
,
2505 DWORD
* pdwStubPhase
);
2506 HRESULT CALLBACK
ITypeLib_IsName_Proxy(
2511 HRESULT __RPC_STUB
ITypeLib_IsName_Stub(
2516 BSTR
* pBstrLibName
);
2517 HRESULT CALLBACK
ITypeLib_RemoteFindName_Proxy(
2521 ITypeInfo
** ppTInfo
,
2524 BSTR
* pBstrLibName
);
2525 void __RPC_STUB
ITypeLib_RemoteFindName_Stub(
2526 struct IRpcStubBuffer
* This
,
2527 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2528 PRPC_MESSAGE pRpcMessage
,
2529 DWORD
* pdwStubPhase
);
2530 HRESULT CALLBACK
ITypeLib_FindName_Proxy(
2534 ITypeInfo
** ppTInfo
,
2537 HRESULT __RPC_STUB
ITypeLib_FindName_Stub(
2541 ITypeInfo
** ppTInfo
,
2544 BSTR
* pBstrLibName
);
2545 HRESULT CALLBACK
ITypeLib_LocalReleaseTLibAttr_Proxy(
2547 void __RPC_STUB
ITypeLib_LocalReleaseTLibAttr_Stub(
2548 struct IRpcStubBuffer
* This
,
2549 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2550 PRPC_MESSAGE pRpcMessage
,
2551 DWORD
* pdwStubPhase
);
2552 void CALLBACK
ITypeLib_ReleaseTLibAttr_Proxy(
2554 TLIBATTR
* pTLibAttr
);
2555 HRESULT __RPC_STUB
ITypeLib_ReleaseTLibAttr_Stub(
2558 #endif /* __ITypeLib_INTERFACE_DEFINED__ */
2560 #ifndef __ITypeLib2_FWD_DEFINED__
2561 #define __ITypeLib2_FWD_DEFINED__
2562 typedef struct ITypeLib2 ITypeLib2
;
2565 typedef ITypeLib2
*LPTYPELIB2
;
2567 /*****************************************************************************
2568 * ITypeLib2 interface
2570 #ifndef __ITypeLib2_INTERFACE_DEFINED__
2571 #define __ITypeLib2_INTERFACE_DEFINED__
2573 DEFINE_GUID(IID_ITypeLib2
, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2574 #if defined(__cplusplus) && !defined(CINTERFACE)
2575 struct ITypeLib2
: public ITypeLib
2577 virtual HRESULT STDMETHODCALLTYPE
GetCustData(
2579 VARIANT
* pVarVal
) = 0;
2581 virtual HRESULT STDMETHODCALLTYPE
GetLibStatistics(
2582 ULONG
* pcUniqueNames
,
2583 ULONG
* pcchUniqueNames
) = 0;
2585 virtual HRESULT STDMETHODCALLTYPE
GetDocumentation2(
2588 BSTR
* pbstrHelpString
,
2589 DWORD
* pdwHelpStringContext
,
2590 BSTR
* pbstrHelpStringDll
) = 0;
2592 virtual HRESULT STDMETHODCALLTYPE
GetAllCustData(
2593 CUSTDATA
* pCustData
) = 0;
2597 typedef struct ITypeLib2Vtbl ITypeLib2Vtbl
;
2599 const ITypeLib2Vtbl
* lpVtbl
;
2601 struct ITypeLib2Vtbl
{
2602 ICOM_MSVTABLE_COMPAT_FIELDS
2604 /*** IUnknown methods ***/
2605 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2610 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2613 ULONG (STDMETHODCALLTYPE
*Release
)(
2616 /*** ITypeLib methods ***/
2617 UINT (STDMETHODCALLTYPE
*GetTypeInfoCount
)(
2620 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
2623 ITypeInfo
** ppTInfo
);
2625 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoType
)(
2630 HRESULT (STDMETHODCALLTYPE
*GetTypeInfoOfGuid
)(
2633 ITypeInfo
** ppTinfo
);
2635 HRESULT (STDMETHODCALLTYPE
*GetLibAttr
)(
2637 TLIBATTR
** ppTLibAttr
);
2639 HRESULT (STDMETHODCALLTYPE
*GetTypeComp
)(
2641 ITypeComp
** ppTComp
);
2643 HRESULT (STDMETHODCALLTYPE
*GetDocumentation
)(
2647 BSTR
* pBstrDocString
,
2648 DWORD
* pdwHelpContext
,
2649 BSTR
* pBstrHelpFile
);
2651 HRESULT (STDMETHODCALLTYPE
*IsName
)(
2657 HRESULT (STDMETHODCALLTYPE
*FindName
)(
2661 ITypeInfo
** ppTInfo
,
2665 void (STDMETHODCALLTYPE
*ReleaseTLibAttr
)(
2667 TLIBATTR
* pTLibAttr
);
2669 /*** ITypeLib2 methods ***/
2670 HRESULT (STDMETHODCALLTYPE
*GetCustData
)(
2675 HRESULT (STDMETHODCALLTYPE
*GetLibStatistics
)(
2677 ULONG
* pcUniqueNames
,
2678 ULONG
* pcchUniqueNames
);
2680 HRESULT (STDMETHODCALLTYPE
*GetDocumentation2
)(
2684 BSTR
* pbstrHelpString
,
2685 DWORD
* pdwHelpStringContext
,
2686 BSTR
* pbstrHelpStringDll
);
2688 HRESULT (STDMETHODCALLTYPE
*GetAllCustData
)(
2690 CUSTDATA
* pCustData
);
2694 /*** IUnknown methods ***/
2695 #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2696 #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
2697 #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p)
2698 /*** ITypeLib methods ***/
2699 #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p)
2700 #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b)
2701 #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b)
2702 #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b)
2703 #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a)
2704 #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
2705 #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
2706 #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c)
2707 #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e)
2708 #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a)
2709 /*** ITypeLib2 methods ***/
2710 #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b)
2711 #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b)
2712 #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e)
2713 #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a)
2717 #define ITypeLib2_METHODS \
2718 ICOM_MSVTABLE_COMPAT_FIELDS \
2719 /*** IUnknown methods ***/ \
2720 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2721 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2722 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2723 /*** ITypeLib methods ***/ \
2724 STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
2725 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
2726 STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
2727 STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
2728 STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
2729 STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
2730 STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
2731 STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
2732 STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
2733 STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
2734 /*** ITypeLib2 methods ***/ \
2735 STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
2736 STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
2737 STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
2738 STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
2740 HRESULT CALLBACK
ITypeLib2_GetCustData_Proxy(
2744 void __RPC_STUB
ITypeLib2_GetCustData_Stub(
2745 struct IRpcStubBuffer
* This
,
2746 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2747 PRPC_MESSAGE pRpcMessage
,
2748 DWORD
* pdwStubPhase
);
2749 HRESULT CALLBACK
ITypeLib2_RemoteGetLibStatistics_Proxy(
2751 ULONG
* pcUniqueNames
,
2752 ULONG
* pcchUniqueNames
);
2753 void __RPC_STUB
ITypeLib2_RemoteGetLibStatistics_Stub(
2754 struct IRpcStubBuffer
* This
,
2755 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2756 PRPC_MESSAGE pRpcMessage
,
2757 DWORD
* pdwStubPhase
);
2758 HRESULT CALLBACK
ITypeLib2_GetLibStatistics_Proxy(
2760 ULONG
* pcUniqueNames
,
2761 ULONG
* pcchUniqueNames
);
2762 HRESULT __RPC_STUB
ITypeLib2_GetLibStatistics_Stub(
2764 ULONG
* pcUniqueNames
,
2765 ULONG
* pcchUniqueNames
);
2766 HRESULT CALLBACK
ITypeLib2_RemoteGetDocumentation2_Proxy(
2771 BSTR
* pbstrHelpString
,
2772 DWORD
* pdwHelpStringContext
,
2773 BSTR
* pbstrHelpStringDll
);
2774 void __RPC_STUB
ITypeLib2_RemoteGetDocumentation2_Stub(
2775 struct IRpcStubBuffer
* This
,
2776 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2777 PRPC_MESSAGE pRpcMessage
,
2778 DWORD
* pdwStubPhase
);
2779 HRESULT CALLBACK
ITypeLib2_GetDocumentation2_Proxy(
2783 BSTR
* pbstrHelpString
,
2784 DWORD
* pdwHelpStringContext
,
2785 BSTR
* pbstrHelpStringDll
);
2786 HRESULT __RPC_STUB
ITypeLib2_GetDocumentation2_Stub(
2791 BSTR
* pbstrHelpString
,
2792 DWORD
* pdwHelpStringContext
,
2793 BSTR
* pbstrHelpStringDll
);
2794 HRESULT CALLBACK
ITypeLib2_GetAllCustData_Proxy(
2796 CUSTDATA
* pCustData
);
2797 void __RPC_STUB
ITypeLib2_GetAllCustData_Stub(
2798 struct IRpcStubBuffer
* This
,
2799 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2800 PRPC_MESSAGE pRpcMessage
,
2801 DWORD
* pdwStubPhase
);
2803 #endif /* __ITypeLib2_INTERFACE_DEFINED__ */
2805 #ifndef __ITypeChangeEvents_FWD_DEFINED__
2806 #define __ITypeChangeEvents_FWD_DEFINED__
2807 typedef struct ITypeChangeEvents ITypeChangeEvents
;
2810 typedef ITypeChangeEvents
*LPTYPECHANGEEVENTS
;
2812 typedef enum tagCHANGEKIND
{
2813 CHANGEKIND_ADDMEMBER
,
2814 CHANGEKIND_DELETEMEMBER
,
2815 CHANGEKIND_SETNAMES
,
2816 CHANGEKIND_SETDOCUMENTATION
,
2818 CHANGEKIND_INVALIDATE
,
2819 CHANGEKIND_CHANGEFAILED
,
2823 /*****************************************************************************
2824 * ITypeChangeEvents interface
2826 #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
2827 #define __ITypeChangeEvents_INTERFACE_DEFINED__
2829 DEFINE_GUID(IID_ITypeChangeEvents
, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2830 #if defined(__cplusplus) && !defined(CINTERFACE)
2831 struct ITypeChangeEvents
: public IUnknown
2833 virtual HRESULT STDMETHODCALLTYPE
RequestTypeChange(
2834 CHANGEKIND changeKind
,
2835 ITypeInfo
* pTInfoBefore
,
2839 virtual HRESULT STDMETHODCALLTYPE
AfterTypeChange(
2840 CHANGEKIND changeKind
,
2841 ITypeInfo
* pTInfoAfter
,
2842 LPOLESTR pStrName
) = 0;
2846 typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl
;
2847 struct ITypeChangeEvents
{
2848 const ITypeChangeEventsVtbl
* lpVtbl
;
2850 struct ITypeChangeEventsVtbl
{
2851 ICOM_MSVTABLE_COMPAT_FIELDS
2853 /*** IUnknown methods ***/
2854 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2855 ITypeChangeEvents
* This
,
2859 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2860 ITypeChangeEvents
* This
);
2862 ULONG (STDMETHODCALLTYPE
*Release
)(
2863 ITypeChangeEvents
* This
);
2865 /*** ITypeChangeEvents methods ***/
2866 HRESULT (STDMETHODCALLTYPE
*RequestTypeChange
)(
2867 ITypeChangeEvents
* This
,
2868 CHANGEKIND changeKind
,
2869 ITypeInfo
* pTInfoBefore
,
2873 HRESULT (STDMETHODCALLTYPE
*AfterTypeChange
)(
2874 ITypeChangeEvents
* This
,
2875 CHANGEKIND changeKind
,
2876 ITypeInfo
* pTInfoAfter
,
2881 /*** IUnknown methods ***/
2882 #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2883 #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
2884 #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p)
2885 /*** ITypeChangeEvents methods ***/
2886 #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d)
2887 #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c)
2891 #define ITypeChangeEvents_METHODS \
2892 ICOM_MSVTABLE_COMPAT_FIELDS \
2893 /*** IUnknown methods ***/ \
2894 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2895 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2896 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2897 /*** ITypeChangeEvents methods ***/ \
2898 STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
2899 STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
2901 HRESULT CALLBACK
ITypeChangeEvents_RequestTypeChange_Proxy(
2902 ITypeChangeEvents
* This
,
2903 CHANGEKIND changeKind
,
2904 ITypeInfo
* pTInfoBefore
,
2907 void __RPC_STUB
ITypeChangeEvents_RequestTypeChange_Stub(
2908 struct IRpcStubBuffer
* This
,
2909 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2910 PRPC_MESSAGE pRpcMessage
,
2911 DWORD
* pdwStubPhase
);
2912 HRESULT CALLBACK
ITypeChangeEvents_AfterTypeChange_Proxy(
2913 ITypeChangeEvents
* This
,
2914 CHANGEKIND changeKind
,
2915 ITypeInfo
* pTInfoAfter
,
2917 void __RPC_STUB
ITypeChangeEvents_AfterTypeChange_Stub(
2918 struct IRpcStubBuffer
* This
,
2919 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2920 PRPC_MESSAGE pRpcMessage
,
2921 DWORD
* pdwStubPhase
);
2923 #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
2925 #ifndef __IErrorInfo_FWD_DEFINED__
2926 #define __IErrorInfo_FWD_DEFINED__
2927 typedef struct IErrorInfo IErrorInfo
;
2930 typedef IErrorInfo
*LPERRORINFO
;
2932 /*****************************************************************************
2933 * IErrorInfo interface
2935 #ifndef __IErrorInfo_INTERFACE_DEFINED__
2936 #define __IErrorInfo_INTERFACE_DEFINED__
2938 DEFINE_GUID(IID_IErrorInfo
, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
2939 #if defined(__cplusplus) && !defined(CINTERFACE)
2940 struct IErrorInfo
: public IUnknown
2942 virtual HRESULT STDMETHODCALLTYPE
GetGUID(
2945 virtual HRESULT STDMETHODCALLTYPE
GetSource(
2946 BSTR
* pBstrSource
) = 0;
2948 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2949 BSTR
* pBstrDescription
) = 0;
2951 virtual HRESULT STDMETHODCALLTYPE
GetHelpFile(
2952 BSTR
* pBstrHelpFile
) = 0;
2954 virtual HRESULT STDMETHODCALLTYPE
GetHelpContext(
2955 DWORD
* pdwHelpContext
) = 0;
2959 typedef struct IErrorInfoVtbl IErrorInfoVtbl
;
2961 const IErrorInfoVtbl
* lpVtbl
;
2963 struct IErrorInfoVtbl
{
2964 ICOM_MSVTABLE_COMPAT_FIELDS
2966 /*** IUnknown methods ***/
2967 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2972 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2975 ULONG (STDMETHODCALLTYPE
*Release
)(
2978 /*** IErrorInfo methods ***/
2979 HRESULT (STDMETHODCALLTYPE
*GetGUID
)(
2983 HRESULT (STDMETHODCALLTYPE
*GetSource
)(
2987 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2989 BSTR
* pBstrDescription
);
2991 HRESULT (STDMETHODCALLTYPE
*GetHelpFile
)(
2993 BSTR
* pBstrHelpFile
);
2995 HRESULT (STDMETHODCALLTYPE
*GetHelpContext
)(
2997 DWORD
* pdwHelpContext
);
3001 /*** IUnknown methods ***/
3002 #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3003 #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3004 #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3005 /*** IErrorInfo methods ***/
3006 #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a)
3007 #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
3008 #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
3009 #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a)
3010 #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a)
3014 #define IErrorInfo_METHODS \
3015 ICOM_MSVTABLE_COMPAT_FIELDS \
3016 /*** IUnknown methods ***/ \
3017 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3018 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3019 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3020 /*** IErrorInfo methods ***/ \
3021 STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
3022 STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
3023 STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
3024 STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
3025 STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
3027 HRESULT CALLBACK
IErrorInfo_GetGUID_Proxy(
3030 void __RPC_STUB
IErrorInfo_GetGUID_Stub(
3031 struct IRpcStubBuffer
* This
,
3032 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3033 PRPC_MESSAGE pRpcMessage
,
3034 DWORD
* pdwStubPhase
);
3035 HRESULT CALLBACK
IErrorInfo_GetSource_Proxy(
3038 void __RPC_STUB
IErrorInfo_GetSource_Stub(
3039 struct IRpcStubBuffer
* This
,
3040 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3041 PRPC_MESSAGE pRpcMessage
,
3042 DWORD
* pdwStubPhase
);
3043 HRESULT CALLBACK
IErrorInfo_GetDescription_Proxy(
3045 BSTR
* pBstrDescription
);
3046 void __RPC_STUB
IErrorInfo_GetDescription_Stub(
3047 struct IRpcStubBuffer
* This
,
3048 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3049 PRPC_MESSAGE pRpcMessage
,
3050 DWORD
* pdwStubPhase
);
3051 HRESULT CALLBACK
IErrorInfo_GetHelpFile_Proxy(
3053 BSTR
* pBstrHelpFile
);
3054 void __RPC_STUB
IErrorInfo_GetHelpFile_Stub(
3055 struct IRpcStubBuffer
* This
,
3056 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3057 PRPC_MESSAGE pRpcMessage
,
3058 DWORD
* pdwStubPhase
);
3059 HRESULT CALLBACK
IErrorInfo_GetHelpContext_Proxy(
3061 DWORD
* pdwHelpContext
);
3062 void __RPC_STUB
IErrorInfo_GetHelpContext_Stub(
3063 struct IRpcStubBuffer
* This
,
3064 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3065 PRPC_MESSAGE pRpcMessage
,
3066 DWORD
* pdwStubPhase
);
3068 #endif /* __IErrorInfo_INTERFACE_DEFINED__ */
3070 #ifndef __ICreateErrorInfo_FWD_DEFINED__
3071 #define __ICreateErrorInfo_FWD_DEFINED__
3072 typedef struct ICreateErrorInfo ICreateErrorInfo
;
3075 typedef ICreateErrorInfo
*LPCREATEERRORINFO
;
3077 /*****************************************************************************
3078 * ICreateErrorInfo interface
3080 #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
3081 #define __ICreateErrorInfo_INTERFACE_DEFINED__
3083 DEFINE_GUID(IID_ICreateErrorInfo
, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3084 #if defined(__cplusplus) && !defined(CINTERFACE)
3085 struct ICreateErrorInfo
: public IUnknown
3087 virtual HRESULT STDMETHODCALLTYPE
SetGUID(
3090 virtual HRESULT STDMETHODCALLTYPE
SetSource(
3091 LPOLESTR szSource
) = 0;
3093 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
3094 LPOLESTR szDescription
) = 0;
3096 virtual HRESULT STDMETHODCALLTYPE
SetHelpFile(
3097 LPOLESTR szHelpFile
) = 0;
3099 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3100 DWORD dwHelpContext
) = 0;
3104 typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl
;
3105 struct ICreateErrorInfo
{
3106 const ICreateErrorInfoVtbl
* lpVtbl
;
3108 struct ICreateErrorInfoVtbl
{
3109 ICOM_MSVTABLE_COMPAT_FIELDS
3111 /*** IUnknown methods ***/
3112 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3113 ICreateErrorInfo
* This
,
3117 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3118 ICreateErrorInfo
* This
);
3120 ULONG (STDMETHODCALLTYPE
*Release
)(
3121 ICreateErrorInfo
* This
);
3123 /*** ICreateErrorInfo methods ***/
3124 HRESULT (STDMETHODCALLTYPE
*SetGUID
)(
3125 ICreateErrorInfo
* This
,
3128 HRESULT (STDMETHODCALLTYPE
*SetSource
)(
3129 ICreateErrorInfo
* This
,
3132 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
3133 ICreateErrorInfo
* This
,
3134 LPOLESTR szDescription
);
3136 HRESULT (STDMETHODCALLTYPE
*SetHelpFile
)(
3137 ICreateErrorInfo
* This
,
3138 LPOLESTR szHelpFile
);
3140 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
3141 ICreateErrorInfo
* This
,
3142 DWORD dwHelpContext
);
3146 /*** IUnknown methods ***/
3147 #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3148 #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3149 #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3150 /*** ICreateErrorInfo methods ***/
3151 #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a)
3152 #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a)
3153 #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
3154 #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a)
3155 #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
3159 #define ICreateErrorInfo_METHODS \
3160 ICOM_MSVTABLE_COMPAT_FIELDS \
3161 /*** IUnknown methods ***/ \
3162 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3163 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3164 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3165 /*** ICreateErrorInfo methods ***/ \
3166 STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
3167 STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
3168 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
3169 STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
3170 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
3172 HRESULT CALLBACK
ICreateErrorInfo_SetGUID_Proxy(
3173 ICreateErrorInfo
* This
,
3175 void __RPC_STUB
ICreateErrorInfo_SetGUID_Stub(
3176 struct IRpcStubBuffer
* This
,
3177 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3178 PRPC_MESSAGE pRpcMessage
,
3179 DWORD
* pdwStubPhase
);
3180 HRESULT CALLBACK
ICreateErrorInfo_SetSource_Proxy(
3181 ICreateErrorInfo
* This
,
3183 void __RPC_STUB
ICreateErrorInfo_SetSource_Stub(
3184 struct IRpcStubBuffer
* This
,
3185 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3186 PRPC_MESSAGE pRpcMessage
,
3187 DWORD
* pdwStubPhase
);
3188 HRESULT CALLBACK
ICreateErrorInfo_SetDescription_Proxy(
3189 ICreateErrorInfo
* This
,
3190 LPOLESTR szDescription
);
3191 void __RPC_STUB
ICreateErrorInfo_SetDescription_Stub(
3192 struct IRpcStubBuffer
* This
,
3193 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3194 PRPC_MESSAGE pRpcMessage
,
3195 DWORD
* pdwStubPhase
);
3196 HRESULT CALLBACK
ICreateErrorInfo_SetHelpFile_Proxy(
3197 ICreateErrorInfo
* This
,
3198 LPOLESTR szHelpFile
);
3199 void __RPC_STUB
ICreateErrorInfo_SetHelpFile_Stub(
3200 struct IRpcStubBuffer
* This
,
3201 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3202 PRPC_MESSAGE pRpcMessage
,
3203 DWORD
* pdwStubPhase
);
3204 HRESULT CALLBACK
ICreateErrorInfo_SetHelpContext_Proxy(
3205 ICreateErrorInfo
* This
,
3206 DWORD dwHelpContext
);
3207 void __RPC_STUB
ICreateErrorInfo_SetHelpContext_Stub(
3208 struct IRpcStubBuffer
* This
,
3209 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3210 PRPC_MESSAGE pRpcMessage
,
3211 DWORD
* pdwStubPhase
);
3213 #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
3215 #ifndef __ISupportErrorInfo_FWD_DEFINED__
3216 #define __ISupportErrorInfo_FWD_DEFINED__
3217 typedef struct ISupportErrorInfo ISupportErrorInfo
;
3220 typedef ISupportErrorInfo
*LPSUPPORTERRORINFO
;
3222 /*****************************************************************************
3223 * ISupportErrorInfo interface
3225 #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
3226 #define __ISupportErrorInfo_INTERFACE_DEFINED__
3228 DEFINE_GUID(IID_ISupportErrorInfo
, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19);
3229 #if defined(__cplusplus) && !defined(CINTERFACE)
3230 struct ISupportErrorInfo
: public IUnknown
3232 virtual HRESULT STDMETHODCALLTYPE
InterfaceSupportsErrorInfo(
3237 typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl
;
3238 struct ISupportErrorInfo
{
3239 const ISupportErrorInfoVtbl
* lpVtbl
;
3241 struct ISupportErrorInfoVtbl
{
3242 ICOM_MSVTABLE_COMPAT_FIELDS
3244 /*** IUnknown methods ***/
3245 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3246 ISupportErrorInfo
* This
,
3250 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3251 ISupportErrorInfo
* This
);
3253 ULONG (STDMETHODCALLTYPE
*Release
)(
3254 ISupportErrorInfo
* This
);
3256 /*** ISupportErrorInfo methods ***/
3257 HRESULT (STDMETHODCALLTYPE
*InterfaceSupportsErrorInfo
)(
3258 ISupportErrorInfo
* This
,
3263 /*** IUnknown methods ***/
3264 #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3265 #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3266 #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p)
3267 /*** ISupportErrorInfo methods ***/
3268 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a)
3272 #define ISupportErrorInfo_METHODS \
3273 ICOM_MSVTABLE_COMPAT_FIELDS \
3274 /*** IUnknown methods ***/ \
3275 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3276 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3277 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3278 /*** ISupportErrorInfo methods ***/ \
3279 STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
3281 HRESULT CALLBACK
ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
3282 ISupportErrorInfo
* This
,
3284 void __RPC_STUB
ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
3285 struct IRpcStubBuffer
* This
,
3286 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3287 PRPC_MESSAGE pRpcMessage
,
3288 DWORD
* pdwStubPhase
);
3290 #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
3292 #ifndef __ITypeFactory_FWD_DEFINED__
3293 #define __ITypeFactory_FWD_DEFINED__
3294 typedef struct ITypeFactory ITypeFactory
;
3297 /*****************************************************************************
3298 * ITypeFactory interface
3300 #ifndef __ITypeFactory_INTERFACE_DEFINED__
3301 #define __ITypeFactory_INTERFACE_DEFINED__
3303 DEFINE_GUID(IID_ITypeFactory
, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3304 #if defined(__cplusplus) && !defined(CINTERFACE)
3305 struct ITypeFactory
: public IUnknown
3307 virtual HRESULT STDMETHODCALLTYPE
CreateFromTypeInfo(
3308 ITypeInfo
* pTypeInfo
,
3310 IUnknown
** ppv
) = 0;
3314 typedef struct ITypeFactoryVtbl ITypeFactoryVtbl
;
3315 struct ITypeFactory
{
3316 const ITypeFactoryVtbl
* lpVtbl
;
3318 struct ITypeFactoryVtbl
{
3319 ICOM_MSVTABLE_COMPAT_FIELDS
3321 /*** IUnknown methods ***/
3322 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3327 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3328 ITypeFactory
* This
);
3330 ULONG (STDMETHODCALLTYPE
*Release
)(
3331 ITypeFactory
* This
);
3333 /*** ITypeFactory methods ***/
3334 HRESULT (STDMETHODCALLTYPE
*CreateFromTypeInfo
)(
3336 ITypeInfo
* pTypeInfo
,
3342 /*** IUnknown methods ***/
3343 #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3344 #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
3345 #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p)
3346 /*** ITypeFactory methods ***/
3347 #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c)
3351 #define ITypeFactory_METHODS \
3352 ICOM_MSVTABLE_COMPAT_FIELDS \
3353 /*** IUnknown methods ***/ \
3354 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3355 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3356 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3357 /*** ITypeFactory methods ***/ \
3358 STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
3360 HRESULT CALLBACK
ITypeFactory_CreateFromTypeInfo_Proxy(
3362 ITypeInfo
* pTypeInfo
,
3365 void __RPC_STUB
ITypeFactory_CreateFromTypeInfo_Stub(
3366 struct IRpcStubBuffer
* This
,
3367 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3368 PRPC_MESSAGE pRpcMessage
,
3369 DWORD
* pdwStubPhase
);
3371 #endif /* __ITypeFactory_INTERFACE_DEFINED__ */
3373 #ifndef __ITypeMarshal_FWD_DEFINED__
3374 #define __ITypeMarshal_FWD_DEFINED__
3375 typedef struct ITypeMarshal ITypeMarshal
;
3378 /*****************************************************************************
3379 * ITypeMarshal interface
3381 #ifndef __ITypeMarshal_INTERFACE_DEFINED__
3382 #define __ITypeMarshal_INTERFACE_DEFINED__
3384 DEFINE_GUID(IID_ITypeMarshal
, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3385 #if defined(__cplusplus) && !defined(CINTERFACE)
3386 struct ITypeMarshal
: public IUnknown
3388 virtual HRESULT STDMETHODCALLTYPE
Size(
3390 DWORD dwDestContext
,
3391 PVOID pvDestContext
,
3394 virtual HRESULT STDMETHODCALLTYPE
Marshal(
3396 DWORD dwDestContext
,
3397 PVOID pvDestContext
,
3398 ULONG cbBufferLength
,
3400 ULONG
* pcbWritten
) = 0;
3402 virtual HRESULT STDMETHODCALLTYPE
Unmarshal(
3405 ULONG cbBufferLength
,
3407 ULONG
* pcbRead
) = 0;
3409 virtual HRESULT STDMETHODCALLTYPE
Free(
3414 typedef struct ITypeMarshalVtbl ITypeMarshalVtbl
;
3415 struct ITypeMarshal
{
3416 const ITypeMarshalVtbl
* lpVtbl
;
3418 struct ITypeMarshalVtbl
{
3419 ICOM_MSVTABLE_COMPAT_FIELDS
3421 /*** IUnknown methods ***/
3422 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3427 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3428 ITypeMarshal
* This
);
3430 ULONG (STDMETHODCALLTYPE
*Release
)(
3431 ITypeMarshal
* This
);
3433 /*** ITypeMarshal methods ***/
3434 HRESULT (STDMETHODCALLTYPE
*Size
)(
3437 DWORD dwDestContext
,
3438 PVOID pvDestContext
,
3441 HRESULT (STDMETHODCALLTYPE
*Marshal
)(
3444 DWORD dwDestContext
,
3445 PVOID pvDestContext
,
3446 ULONG cbBufferLength
,
3450 HRESULT (STDMETHODCALLTYPE
*Unmarshal
)(
3454 ULONG cbBufferLength
,
3458 HRESULT (STDMETHODCALLTYPE
*Free
)(
3464 /*** IUnknown methods ***/
3465 #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3466 #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
3467 #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p)
3468 /*** ITypeMarshal methods ***/
3469 #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d)
3470 #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f)
3471 #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e)
3472 #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a)
3476 #define ITypeMarshal_METHODS \
3477 ICOM_MSVTABLE_COMPAT_FIELDS \
3478 /*** IUnknown methods ***/ \
3479 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3480 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3481 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3482 /*** ITypeMarshal methods ***/ \
3483 STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
3484 STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
3485 STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
3486 STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
3488 HRESULT CALLBACK
ITypeMarshal_Size_Proxy(
3491 DWORD dwDestContext
,
3492 PVOID pvDestContext
,
3494 void __RPC_STUB
ITypeMarshal_Size_Stub(
3495 struct IRpcStubBuffer
* This
,
3496 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3497 PRPC_MESSAGE pRpcMessage
,
3498 DWORD
* pdwStubPhase
);
3499 HRESULT CALLBACK
ITypeMarshal_Marshal_Proxy(
3502 DWORD dwDestContext
,
3503 PVOID pvDestContext
,
3504 ULONG cbBufferLength
,
3507 void __RPC_STUB
ITypeMarshal_Marshal_Stub(
3508 struct IRpcStubBuffer
* This
,
3509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3510 PRPC_MESSAGE pRpcMessage
,
3511 DWORD
* pdwStubPhase
);
3512 HRESULT CALLBACK
ITypeMarshal_Unmarshal_Proxy(
3516 ULONG cbBufferLength
,
3519 void __RPC_STUB
ITypeMarshal_Unmarshal_Stub(
3520 struct IRpcStubBuffer
* This
,
3521 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3522 PRPC_MESSAGE pRpcMessage
,
3523 DWORD
* pdwStubPhase
);
3524 HRESULT CALLBACK
ITypeMarshal_Free_Proxy(
3527 void __RPC_STUB
ITypeMarshal_Free_Stub(
3528 struct IRpcStubBuffer
* This
,
3529 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3530 PRPC_MESSAGE pRpcMessage
,
3531 DWORD
* pdwStubPhase
);
3533 #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
3535 typedef IRecordInfo
*LPRECORDINFO
;
3537 /*****************************************************************************
3538 * IRecordInfo interface
3540 #ifndef __IRecordInfo_INTERFACE_DEFINED__
3541 #define __IRecordInfo_INTERFACE_DEFINED__
3543 DEFINE_GUID(IID_IRecordInfo
, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3544 #if defined(__cplusplus) && !defined(CINTERFACE)
3545 struct IRecordInfo
: public IUnknown
3547 virtual HRESULT STDMETHODCALLTYPE
RecordInit(
3550 virtual HRESULT STDMETHODCALLTYPE
RecordClear(
3551 PVOID pvExisting
) = 0;
3553 virtual HRESULT STDMETHODCALLTYPE
RecordCopy(
3557 virtual HRESULT STDMETHODCALLTYPE
GetGuid(
3560 virtual HRESULT STDMETHODCALLTYPE
GetName(
3561 BSTR
* pbstrName
) = 0;
3563 virtual HRESULT STDMETHODCALLTYPE
GetSize(
3564 ULONG
* pcbSize
) = 0;
3566 virtual HRESULT STDMETHODCALLTYPE
GetTypeInfo(
3567 ITypeInfo
** ppTypeInfo
) = 0;
3569 virtual HRESULT STDMETHODCALLTYPE
GetField(
3571 LPCOLESTR szFieldName
,
3572 VARIANT
* pvarField
) = 0;
3574 virtual HRESULT STDMETHODCALLTYPE
GetFieldNoCopy(
3576 LPCOLESTR szFieldName
,
3578 PVOID
* ppvDataCArray
) = 0;
3580 virtual HRESULT STDMETHODCALLTYPE
PutField(
3583 LPCOLESTR szFieldName
,
3584 VARIANT
* pvarField
) = 0;
3586 virtual HRESULT STDMETHODCALLTYPE
PutFieldNoCopy(
3589 LPCOLESTR szFieldName
,
3590 VARIANT
* pvarField
) = 0;
3592 virtual HRESULT STDMETHODCALLTYPE
GetFieldNames(
3594 BSTR
* rgBstrNames
) = 0;
3596 virtual BOOL STDMETHODCALLTYPE
IsMatchingType(
3597 IRecordInfo
* pRecordInfo
) = 0;
3599 virtual PVOID STDMETHODCALLTYPE
RecordCreate(
3602 virtual HRESULT STDMETHODCALLTYPE
RecordCreateCopy(
3604 PVOID
* ppvDest
) = 0;
3606 virtual HRESULT STDMETHODCALLTYPE
RecordDestroy(
3607 PVOID pvRecord
) = 0;
3611 typedef struct IRecordInfoVtbl IRecordInfoVtbl
;
3612 struct IRecordInfo
{
3613 const IRecordInfoVtbl
* lpVtbl
;
3615 struct IRecordInfoVtbl
{
3616 ICOM_MSVTABLE_COMPAT_FIELDS
3618 /*** IUnknown methods ***/
3619 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3624 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3627 ULONG (STDMETHODCALLTYPE
*Release
)(
3630 /*** IRecordInfo methods ***/
3631 HRESULT (STDMETHODCALLTYPE
*RecordInit
)(
3635 HRESULT (STDMETHODCALLTYPE
*RecordClear
)(
3639 HRESULT (STDMETHODCALLTYPE
*RecordCopy
)(
3644 HRESULT (STDMETHODCALLTYPE
*GetGuid
)(
3648 HRESULT (STDMETHODCALLTYPE
*GetName
)(
3652 HRESULT (STDMETHODCALLTYPE
*GetSize
)(
3656 HRESULT (STDMETHODCALLTYPE
*GetTypeInfo
)(
3658 ITypeInfo
** ppTypeInfo
);
3660 HRESULT (STDMETHODCALLTYPE
*GetField
)(
3663 LPCOLESTR szFieldName
,
3664 VARIANT
* pvarField
);
3666 HRESULT (STDMETHODCALLTYPE
*GetFieldNoCopy
)(
3669 LPCOLESTR szFieldName
,
3671 PVOID
* ppvDataCArray
);
3673 HRESULT (STDMETHODCALLTYPE
*PutField
)(
3677 LPCOLESTR szFieldName
,
3678 VARIANT
* pvarField
);
3680 HRESULT (STDMETHODCALLTYPE
*PutFieldNoCopy
)(
3684 LPCOLESTR szFieldName
,
3685 VARIANT
* pvarField
);
3687 HRESULT (STDMETHODCALLTYPE
*GetFieldNames
)(
3692 BOOL (STDMETHODCALLTYPE
*IsMatchingType
)(
3694 IRecordInfo
* pRecordInfo
);
3696 PVOID (STDMETHODCALLTYPE
*RecordCreate
)(
3699 HRESULT (STDMETHODCALLTYPE
*RecordCreateCopy
)(
3704 HRESULT (STDMETHODCALLTYPE
*RecordDestroy
)(
3710 /*** IUnknown methods ***/
3711 #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3712 #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
3713 #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
3714 /*** IRecordInfo methods ***/
3715 #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
3716 #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
3717 #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
3718 #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
3719 #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
3720 #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
3721 #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
3722 #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
3723 #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
3724 #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
3725 #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
3726 #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
3727 #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
3728 #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
3729 #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
3730 #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
3734 #define IRecordInfo_METHODS \
3735 ICOM_MSVTABLE_COMPAT_FIELDS \
3736 /*** IUnknown methods ***/ \
3737 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3738 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3739 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3740 /*** IRecordInfo methods ***/ \
3741 STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
3742 STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
3743 STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
3744 STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
3745 STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
3746 STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
3747 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
3748 STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3749 STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
3750 STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3751 STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
3752 STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
3753 STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
3754 STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
3755 STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
3756 STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
3758 HRESULT CALLBACK
IRecordInfo_RecordInit_Proxy(
3761 void __RPC_STUB
IRecordInfo_RecordInit_Stub(
3762 struct IRpcStubBuffer
* This
,
3763 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3764 PRPC_MESSAGE pRpcMessage
,
3765 DWORD
* pdwStubPhase
);
3766 HRESULT CALLBACK
IRecordInfo_RecordClear_Proxy(
3769 void __RPC_STUB
IRecordInfo_RecordClear_Stub(
3770 struct IRpcStubBuffer
* This
,
3771 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3772 PRPC_MESSAGE pRpcMessage
,
3773 DWORD
* pdwStubPhase
);
3774 HRESULT CALLBACK
IRecordInfo_RecordCopy_Proxy(
3778 void __RPC_STUB
IRecordInfo_RecordCopy_Stub(
3779 struct IRpcStubBuffer
* This
,
3780 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3781 PRPC_MESSAGE pRpcMessage
,
3782 DWORD
* pdwStubPhase
);
3783 HRESULT CALLBACK
IRecordInfo_GetGuid_Proxy(
3786 void __RPC_STUB
IRecordInfo_GetGuid_Stub(
3787 struct IRpcStubBuffer
* This
,
3788 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3789 PRPC_MESSAGE pRpcMessage
,
3790 DWORD
* pdwStubPhase
);
3791 HRESULT CALLBACK
IRecordInfo_GetName_Proxy(
3794 void __RPC_STUB
IRecordInfo_GetName_Stub(
3795 struct IRpcStubBuffer
* This
,
3796 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3797 PRPC_MESSAGE pRpcMessage
,
3798 DWORD
* pdwStubPhase
);
3799 HRESULT CALLBACK
IRecordInfo_GetSize_Proxy(
3802 void __RPC_STUB
IRecordInfo_GetSize_Stub(
3803 struct IRpcStubBuffer
* This
,
3804 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3805 PRPC_MESSAGE pRpcMessage
,
3806 DWORD
* pdwStubPhase
);
3807 HRESULT CALLBACK
IRecordInfo_GetTypeInfo_Proxy(
3809 ITypeInfo
** ppTypeInfo
);
3810 void __RPC_STUB
IRecordInfo_GetTypeInfo_Stub(
3811 struct IRpcStubBuffer
* This
,
3812 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3813 PRPC_MESSAGE pRpcMessage
,
3814 DWORD
* pdwStubPhase
);
3815 HRESULT CALLBACK
IRecordInfo_GetField_Proxy(
3818 LPCOLESTR szFieldName
,
3819 VARIANT
* pvarField
);
3820 void __RPC_STUB
IRecordInfo_GetField_Stub(
3821 struct IRpcStubBuffer
* This
,
3822 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3823 PRPC_MESSAGE pRpcMessage
,
3824 DWORD
* pdwStubPhase
);
3825 HRESULT CALLBACK
IRecordInfo_GetFieldNoCopy_Proxy(
3828 LPCOLESTR szFieldName
,
3830 PVOID
* ppvDataCArray
);
3831 void __RPC_STUB
IRecordInfo_GetFieldNoCopy_Stub(
3832 struct IRpcStubBuffer
* This
,
3833 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3834 PRPC_MESSAGE pRpcMessage
,
3835 DWORD
* pdwStubPhase
);
3836 HRESULT CALLBACK
IRecordInfo_PutField_Proxy(
3840 LPCOLESTR szFieldName
,
3841 VARIANT
* pvarField
);
3842 void __RPC_STUB
IRecordInfo_PutField_Stub(
3843 struct IRpcStubBuffer
* This
,
3844 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3845 PRPC_MESSAGE pRpcMessage
,
3846 DWORD
* pdwStubPhase
);
3847 HRESULT CALLBACK
IRecordInfo_PutFieldNoCopy_Proxy(
3851 LPCOLESTR szFieldName
,
3852 VARIANT
* pvarField
);
3853 void __RPC_STUB
IRecordInfo_PutFieldNoCopy_Stub(
3854 struct IRpcStubBuffer
* This
,
3855 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3856 PRPC_MESSAGE pRpcMessage
,
3857 DWORD
* pdwStubPhase
);
3858 HRESULT CALLBACK
IRecordInfo_GetFieldNames_Proxy(
3862 void __RPC_STUB
IRecordInfo_GetFieldNames_Stub(
3863 struct IRpcStubBuffer
* This
,
3864 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3865 PRPC_MESSAGE pRpcMessage
,
3866 DWORD
* pdwStubPhase
);
3867 BOOL CALLBACK
IRecordInfo_IsMatchingType_Proxy(
3869 IRecordInfo
* pRecordInfo
);
3870 void __RPC_STUB
IRecordInfo_IsMatchingType_Stub(
3871 struct IRpcStubBuffer
* This
,
3872 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3873 PRPC_MESSAGE pRpcMessage
,
3874 DWORD
* pdwStubPhase
);
3875 PVOID CALLBACK
IRecordInfo_RecordCreate_Proxy(
3877 void __RPC_STUB
IRecordInfo_RecordCreate_Stub(
3878 struct IRpcStubBuffer
* This
,
3879 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3880 PRPC_MESSAGE pRpcMessage
,
3881 DWORD
* pdwStubPhase
);
3882 HRESULT CALLBACK
IRecordInfo_RecordCreateCopy_Proxy(
3886 void __RPC_STUB
IRecordInfo_RecordCreateCopy_Stub(
3887 struct IRpcStubBuffer
* This
,
3888 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3889 PRPC_MESSAGE pRpcMessage
,
3890 DWORD
* pdwStubPhase
);
3891 HRESULT CALLBACK
IRecordInfo_RecordDestroy_Proxy(
3894 void __RPC_STUB
IRecordInfo_RecordDestroy_Stub(
3895 struct IRpcStubBuffer
* This
,
3896 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3897 PRPC_MESSAGE pRpcMessage
,
3898 DWORD
* pdwStubPhase
);
3900 #endif /* __IRecordInfo_INTERFACE_DEFINED__ */
3902 #ifndef __ICreateTypeInfo_FWD_DEFINED__
3903 #define __ICreateTypeInfo_FWD_DEFINED__
3904 typedef struct ICreateTypeInfo ICreateTypeInfo
;
3907 typedef ICreateTypeInfo
*LPCREATETYPEINFO
;
3909 /*****************************************************************************
3910 * ICreateTypeInfo interface
3912 #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
3913 #define __ICreateTypeInfo_INTERFACE_DEFINED__
3915 DEFINE_GUID(IID_ICreateTypeInfo
, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3916 #if defined(__cplusplus) && !defined(CINTERFACE)
3917 struct ICreateTypeInfo
: public IUnknown
3919 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
3922 virtual HRESULT STDMETHODCALLTYPE
SetTypeFlags(
3923 UINT uTypeFlags
) = 0;
3925 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
3926 LPOLESTR pStrDoc
) = 0;
3928 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
3929 DWORD dwHelpContext
) = 0;
3931 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
3933 WORD wMinorVerNum
) = 0;
3935 virtual HRESULT STDMETHODCALLTYPE
AddRefTypeInfo(
3937 HREFTYPE
* phRefType
) = 0;
3939 virtual HRESULT STDMETHODCALLTYPE
AddFuncDesc(
3941 FUNCDESC
* pFuncDesc
) = 0;
3943 virtual HRESULT STDMETHODCALLTYPE
AddImplType(
3945 HREFTYPE hRefType
) = 0;
3947 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeFlags(
3949 INT implTypeFlags
) = 0;
3951 virtual HRESULT STDMETHODCALLTYPE
SetAlignment(
3952 WORD cbAlignment
) = 0;
3954 virtual HRESULT STDMETHODCALLTYPE
SetSchema(
3955 LPOLESTR pStrSchema
) = 0;
3957 virtual HRESULT STDMETHODCALLTYPE
AddVarDesc(
3959 VARDESC
* pVarDesc
) = 0;
3961 virtual HRESULT STDMETHODCALLTYPE
SetFuncAndParamNames(
3963 LPOLESTR
* rgszNames
,
3966 virtual HRESULT STDMETHODCALLTYPE
SetVarName(
3968 LPOLESTR szName
) = 0;
3970 virtual HRESULT STDMETHODCALLTYPE
SetTypeDescAlias(
3971 TYPEDESC
* pTDescAlias
) = 0;
3973 virtual HRESULT STDMETHODCALLTYPE
DefineFuncAsDllEntry(
3976 LPOLESTR szProcName
) = 0;
3978 virtual HRESULT STDMETHODCALLTYPE
SetFuncDocString(
3980 LPOLESTR szDocString
) = 0;
3982 virtual HRESULT STDMETHODCALLTYPE
SetVarDocString(
3984 LPOLESTR szDocString
) = 0;
3986 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpContext(
3988 DWORD dwHelpContext
) = 0;
3990 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpContext(
3992 DWORD dwHelpContext
) = 0;
3994 virtual HRESULT STDMETHODCALLTYPE
SetMops(
3998 virtual HRESULT STDMETHODCALLTYPE
SetTypeIdldesc(
3999 IDLDESC
* pIdlDesc
) = 0;
4001 virtual HRESULT STDMETHODCALLTYPE
LayOut(
4006 typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl
;
4007 struct ICreateTypeInfo
{
4008 const ICreateTypeInfoVtbl
* lpVtbl
;
4010 struct ICreateTypeInfoVtbl
{
4011 ICOM_MSVTABLE_COMPAT_FIELDS
4013 /*** IUnknown methods ***/
4014 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4015 ICreateTypeInfo
* This
,
4019 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4020 ICreateTypeInfo
* This
);
4022 ULONG (STDMETHODCALLTYPE
*Release
)(
4023 ICreateTypeInfo
* This
);
4025 /*** ICreateTypeInfo methods ***/
4026 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4027 ICreateTypeInfo
* This
,
4030 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4031 ICreateTypeInfo
* This
,
4034 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4035 ICreateTypeInfo
* This
,
4038 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4039 ICreateTypeInfo
* This
,
4040 DWORD dwHelpContext
);
4042 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4043 ICreateTypeInfo
* This
,
4047 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4048 ICreateTypeInfo
* This
,
4050 HREFTYPE
* phRefType
);
4052 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4053 ICreateTypeInfo
* This
,
4055 FUNCDESC
* pFuncDesc
);
4057 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4058 ICreateTypeInfo
* This
,
4062 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4063 ICreateTypeInfo
* This
,
4067 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4068 ICreateTypeInfo
* This
,
4071 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4072 ICreateTypeInfo
* This
,
4073 LPOLESTR pStrSchema
);
4075 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4076 ICreateTypeInfo
* This
,
4080 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4081 ICreateTypeInfo
* This
,
4083 LPOLESTR
* rgszNames
,
4086 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4087 ICreateTypeInfo
* This
,
4091 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4092 ICreateTypeInfo
* This
,
4093 TYPEDESC
* pTDescAlias
);
4095 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4096 ICreateTypeInfo
* This
,
4099 LPOLESTR szProcName
);
4101 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4102 ICreateTypeInfo
* This
,
4104 LPOLESTR szDocString
);
4106 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4107 ICreateTypeInfo
* This
,
4109 LPOLESTR szDocString
);
4111 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4112 ICreateTypeInfo
* This
,
4114 DWORD dwHelpContext
);
4116 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4117 ICreateTypeInfo
* This
,
4119 DWORD dwHelpContext
);
4121 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4122 ICreateTypeInfo
* This
,
4126 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4127 ICreateTypeInfo
* This
,
4130 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4131 ICreateTypeInfo
* This
);
4135 /*** IUnknown methods ***/
4136 #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4137 #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
4138 #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p)
4139 /*** ICreateTypeInfo methods ***/
4140 #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4141 #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4142 #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4143 #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4144 #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4145 #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4146 #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4147 #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4148 #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4149 #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4150 #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4151 #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4152 #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4153 #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4154 #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4155 #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4156 #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4157 #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4158 #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4159 #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4160 #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4161 #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4162 #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p)
4166 #define ICreateTypeInfo_METHODS \
4167 ICOM_MSVTABLE_COMPAT_FIELDS \
4168 /*** IUnknown methods ***/ \
4169 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4170 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4171 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4172 /*** ICreateTypeInfo methods ***/ \
4173 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4174 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4175 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4176 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4177 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4178 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4179 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4180 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4181 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4182 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4183 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4184 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4185 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4186 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4187 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4188 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4189 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4190 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4191 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4192 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4193 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4194 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4195 STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
4197 HRESULT CALLBACK
ICreateTypeInfo_SetGuid_Proxy(
4198 ICreateTypeInfo
* This
,
4200 void __RPC_STUB
ICreateTypeInfo_SetGuid_Stub(
4201 struct IRpcStubBuffer
* This
,
4202 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4203 PRPC_MESSAGE pRpcMessage
,
4204 DWORD
* pdwStubPhase
);
4205 HRESULT CALLBACK
ICreateTypeInfo_SetTypeFlags_Proxy(
4206 ICreateTypeInfo
* This
,
4208 void __RPC_STUB
ICreateTypeInfo_SetTypeFlags_Stub(
4209 struct IRpcStubBuffer
* This
,
4210 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4211 PRPC_MESSAGE pRpcMessage
,
4212 DWORD
* pdwStubPhase
);
4213 HRESULT CALLBACK
ICreateTypeInfo_SetDocString_Proxy(
4214 ICreateTypeInfo
* This
,
4216 void __RPC_STUB
ICreateTypeInfo_SetDocString_Stub(
4217 struct IRpcStubBuffer
* This
,
4218 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4219 PRPC_MESSAGE pRpcMessage
,
4220 DWORD
* pdwStubPhase
);
4221 HRESULT CALLBACK
ICreateTypeInfo_SetHelpContext_Proxy(
4222 ICreateTypeInfo
* This
,
4223 DWORD dwHelpContext
);
4224 void __RPC_STUB
ICreateTypeInfo_SetHelpContext_Stub(
4225 struct IRpcStubBuffer
* This
,
4226 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4227 PRPC_MESSAGE pRpcMessage
,
4228 DWORD
* pdwStubPhase
);
4229 HRESULT CALLBACK
ICreateTypeInfo_SetVersion_Proxy(
4230 ICreateTypeInfo
* This
,
4233 void __RPC_STUB
ICreateTypeInfo_SetVersion_Stub(
4234 struct IRpcStubBuffer
* This
,
4235 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4236 PRPC_MESSAGE pRpcMessage
,
4237 DWORD
* pdwStubPhase
);
4238 HRESULT CALLBACK
ICreateTypeInfo_AddRefTypeInfo_Proxy(
4239 ICreateTypeInfo
* This
,
4241 HREFTYPE
* phRefType
);
4242 void __RPC_STUB
ICreateTypeInfo_AddRefTypeInfo_Stub(
4243 struct IRpcStubBuffer
* This
,
4244 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4245 PRPC_MESSAGE pRpcMessage
,
4246 DWORD
* pdwStubPhase
);
4247 HRESULT CALLBACK
ICreateTypeInfo_AddFuncDesc_Proxy(
4248 ICreateTypeInfo
* This
,
4250 FUNCDESC
* pFuncDesc
);
4251 void __RPC_STUB
ICreateTypeInfo_AddFuncDesc_Stub(
4252 struct IRpcStubBuffer
* This
,
4253 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4254 PRPC_MESSAGE pRpcMessage
,
4255 DWORD
* pdwStubPhase
);
4256 HRESULT CALLBACK
ICreateTypeInfo_AddImplType_Proxy(
4257 ICreateTypeInfo
* This
,
4260 void __RPC_STUB
ICreateTypeInfo_AddImplType_Stub(
4261 struct IRpcStubBuffer
* This
,
4262 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4263 PRPC_MESSAGE pRpcMessage
,
4264 DWORD
* pdwStubPhase
);
4265 HRESULT CALLBACK
ICreateTypeInfo_SetImplTypeFlags_Proxy(
4266 ICreateTypeInfo
* This
,
4269 void __RPC_STUB
ICreateTypeInfo_SetImplTypeFlags_Stub(
4270 struct IRpcStubBuffer
* This
,
4271 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4272 PRPC_MESSAGE pRpcMessage
,
4273 DWORD
* pdwStubPhase
);
4274 HRESULT CALLBACK
ICreateTypeInfo_SetAlignment_Proxy(
4275 ICreateTypeInfo
* This
,
4277 void __RPC_STUB
ICreateTypeInfo_SetAlignment_Stub(
4278 struct IRpcStubBuffer
* This
,
4279 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4280 PRPC_MESSAGE pRpcMessage
,
4281 DWORD
* pdwStubPhase
);
4282 HRESULT CALLBACK
ICreateTypeInfo_SetSchema_Proxy(
4283 ICreateTypeInfo
* This
,
4284 LPOLESTR pStrSchema
);
4285 void __RPC_STUB
ICreateTypeInfo_SetSchema_Stub(
4286 struct IRpcStubBuffer
* This
,
4287 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4288 PRPC_MESSAGE pRpcMessage
,
4289 DWORD
* pdwStubPhase
);
4290 HRESULT CALLBACK
ICreateTypeInfo_AddVarDesc_Proxy(
4291 ICreateTypeInfo
* This
,
4294 void __RPC_STUB
ICreateTypeInfo_AddVarDesc_Stub(
4295 struct IRpcStubBuffer
* This
,
4296 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4297 PRPC_MESSAGE pRpcMessage
,
4298 DWORD
* pdwStubPhase
);
4299 HRESULT CALLBACK
ICreateTypeInfo_SetFuncAndParamNames_Proxy(
4300 ICreateTypeInfo
* This
,
4302 LPOLESTR
* rgszNames
,
4304 void __RPC_STUB
ICreateTypeInfo_SetFuncAndParamNames_Stub(
4305 struct IRpcStubBuffer
* This
,
4306 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4307 PRPC_MESSAGE pRpcMessage
,
4308 DWORD
* pdwStubPhase
);
4309 HRESULT CALLBACK
ICreateTypeInfo_SetVarName_Proxy(
4310 ICreateTypeInfo
* This
,
4313 void __RPC_STUB
ICreateTypeInfo_SetVarName_Stub(
4314 struct IRpcStubBuffer
* This
,
4315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4316 PRPC_MESSAGE pRpcMessage
,
4317 DWORD
* pdwStubPhase
);
4318 HRESULT CALLBACK
ICreateTypeInfo_SetTypeDescAlias_Proxy(
4319 ICreateTypeInfo
* This
,
4320 TYPEDESC
* pTDescAlias
);
4321 void __RPC_STUB
ICreateTypeInfo_SetTypeDescAlias_Stub(
4322 struct IRpcStubBuffer
* This
,
4323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4324 PRPC_MESSAGE pRpcMessage
,
4325 DWORD
* pdwStubPhase
);
4326 HRESULT CALLBACK
ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
4327 ICreateTypeInfo
* This
,
4330 LPOLESTR szProcName
);
4331 void __RPC_STUB
ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
4332 struct IRpcStubBuffer
* This
,
4333 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4334 PRPC_MESSAGE pRpcMessage
,
4335 DWORD
* pdwStubPhase
);
4336 HRESULT CALLBACK
ICreateTypeInfo_SetFuncDocString_Proxy(
4337 ICreateTypeInfo
* This
,
4339 LPOLESTR szDocString
);
4340 void __RPC_STUB
ICreateTypeInfo_SetFuncDocString_Stub(
4341 struct IRpcStubBuffer
* This
,
4342 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4343 PRPC_MESSAGE pRpcMessage
,
4344 DWORD
* pdwStubPhase
);
4345 HRESULT CALLBACK
ICreateTypeInfo_SetVarDocString_Proxy(
4346 ICreateTypeInfo
* This
,
4348 LPOLESTR szDocString
);
4349 void __RPC_STUB
ICreateTypeInfo_SetVarDocString_Stub(
4350 struct IRpcStubBuffer
* This
,
4351 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4352 PRPC_MESSAGE pRpcMessage
,
4353 DWORD
* pdwStubPhase
);
4354 HRESULT CALLBACK
ICreateTypeInfo_SetFuncHelpContext_Proxy(
4355 ICreateTypeInfo
* This
,
4357 DWORD dwHelpContext
);
4358 void __RPC_STUB
ICreateTypeInfo_SetFuncHelpContext_Stub(
4359 struct IRpcStubBuffer
* This
,
4360 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4361 PRPC_MESSAGE pRpcMessage
,
4362 DWORD
* pdwStubPhase
);
4363 HRESULT CALLBACK
ICreateTypeInfo_SetVarHelpContext_Proxy(
4364 ICreateTypeInfo
* This
,
4366 DWORD dwHelpContext
);
4367 void __RPC_STUB
ICreateTypeInfo_SetVarHelpContext_Stub(
4368 struct IRpcStubBuffer
* This
,
4369 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4370 PRPC_MESSAGE pRpcMessage
,
4371 DWORD
* pdwStubPhase
);
4372 HRESULT CALLBACK
ICreateTypeInfo_SetMops_Proxy(
4373 ICreateTypeInfo
* This
,
4376 void __RPC_STUB
ICreateTypeInfo_SetMops_Stub(
4377 struct IRpcStubBuffer
* This
,
4378 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4379 PRPC_MESSAGE pRpcMessage
,
4380 DWORD
* pdwStubPhase
);
4381 HRESULT CALLBACK
ICreateTypeInfo_SetTypeIdldesc_Proxy(
4382 ICreateTypeInfo
* This
,
4384 void __RPC_STUB
ICreateTypeInfo_SetTypeIdldesc_Stub(
4385 struct IRpcStubBuffer
* This
,
4386 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4387 PRPC_MESSAGE pRpcMessage
,
4388 DWORD
* pdwStubPhase
);
4389 HRESULT CALLBACK
ICreateTypeInfo_LayOut_Proxy(
4390 ICreateTypeInfo
* This
);
4391 void __RPC_STUB
ICreateTypeInfo_LayOut_Stub(
4392 struct IRpcStubBuffer
* This
,
4393 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4394 PRPC_MESSAGE pRpcMessage
,
4395 DWORD
* pdwStubPhase
);
4397 #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
4399 #ifndef __ICreateTypeInfo2_FWD_DEFINED__
4400 #define __ICreateTypeInfo2_FWD_DEFINED__
4401 typedef struct ICreateTypeInfo2 ICreateTypeInfo2
;
4404 typedef ICreateTypeInfo2
*LPCREATETYPEINFO2
;
4406 /*****************************************************************************
4407 * ICreateTypeInfo2 interface
4409 #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
4410 #define __ICreateTypeInfo2_INTERFACE_DEFINED__
4412 DEFINE_GUID(IID_ICreateTypeInfo2
, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4413 #if defined(__cplusplus) && !defined(CINTERFACE)
4414 struct ICreateTypeInfo2
: public ICreateTypeInfo
4416 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDesc(
4419 virtual HRESULT STDMETHODCALLTYPE
DeleteFuncDescByMemId(
4421 INVOKEKIND invKind
) = 0;
4423 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDesc(
4426 virtual HRESULT STDMETHODCALLTYPE
DeleteVarDescByMemId(
4427 MEMBERID memid
) = 0;
4429 virtual HRESULT STDMETHODCALLTYPE
DeleteImplType(
4432 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
4434 VARIANT
* pVarVal
) = 0;
4436 virtual HRESULT STDMETHODCALLTYPE
SetFuncCustData(
4439 VARIANT
* pVarVal
) = 0;
4441 virtual HRESULT STDMETHODCALLTYPE
SetParamCustData(
4445 VARIANT
* pVarVal
) = 0;
4447 virtual HRESULT STDMETHODCALLTYPE
SetVarCustData(
4450 VARIANT
* pVarVal
) = 0;
4452 virtual HRESULT STDMETHODCALLTYPE
SetImplTypeCustData(
4455 VARIANT
* pVarVal
) = 0;
4457 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
4458 ULONG dwHelpStringContext
) = 0;
4460 virtual HRESULT STDMETHODCALLTYPE
SetFuncHelpStringContext(
4462 ULONG dwHelpStringContext
) = 0;
4464 virtual HRESULT STDMETHODCALLTYPE
SetVarHelpStringContext(
4466 ULONG dwHelpStringContext
) = 0;
4468 virtual HRESULT STDMETHODCALLTYPE
Invalidate(
4471 virtual HRESULT STDMETHODCALLTYPE
SetName(
4472 LPOLESTR szName
) = 0;
4476 typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl
;
4477 struct ICreateTypeInfo2
{
4478 const ICreateTypeInfo2Vtbl
* lpVtbl
;
4480 struct ICreateTypeInfo2Vtbl
{
4481 ICOM_MSVTABLE_COMPAT_FIELDS
4483 /*** IUnknown methods ***/
4484 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4485 ICreateTypeInfo2
* This
,
4489 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4490 ICreateTypeInfo2
* This
);
4492 ULONG (STDMETHODCALLTYPE
*Release
)(
4493 ICreateTypeInfo2
* This
);
4495 /*** ICreateTypeInfo methods ***/
4496 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4497 ICreateTypeInfo2
* This
,
4500 HRESULT (STDMETHODCALLTYPE
*SetTypeFlags
)(
4501 ICreateTypeInfo2
* This
,
4504 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4505 ICreateTypeInfo2
* This
,
4508 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
4509 ICreateTypeInfo2
* This
,
4510 DWORD dwHelpContext
);
4512 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4513 ICreateTypeInfo2
* This
,
4517 HRESULT (STDMETHODCALLTYPE
*AddRefTypeInfo
)(
4518 ICreateTypeInfo2
* This
,
4520 HREFTYPE
* phRefType
);
4522 HRESULT (STDMETHODCALLTYPE
*AddFuncDesc
)(
4523 ICreateTypeInfo2
* This
,
4525 FUNCDESC
* pFuncDesc
);
4527 HRESULT (STDMETHODCALLTYPE
*AddImplType
)(
4528 ICreateTypeInfo2
* This
,
4532 HRESULT (STDMETHODCALLTYPE
*SetImplTypeFlags
)(
4533 ICreateTypeInfo2
* This
,
4537 HRESULT (STDMETHODCALLTYPE
*SetAlignment
)(
4538 ICreateTypeInfo2
* This
,
4541 HRESULT (STDMETHODCALLTYPE
*SetSchema
)(
4542 ICreateTypeInfo2
* This
,
4543 LPOLESTR pStrSchema
);
4545 HRESULT (STDMETHODCALLTYPE
*AddVarDesc
)(
4546 ICreateTypeInfo2
* This
,
4550 HRESULT (STDMETHODCALLTYPE
*SetFuncAndParamNames
)(
4551 ICreateTypeInfo2
* This
,
4553 LPOLESTR
* rgszNames
,
4556 HRESULT (STDMETHODCALLTYPE
*SetVarName
)(
4557 ICreateTypeInfo2
* This
,
4561 HRESULT (STDMETHODCALLTYPE
*SetTypeDescAlias
)(
4562 ICreateTypeInfo2
* This
,
4563 TYPEDESC
* pTDescAlias
);
4565 HRESULT (STDMETHODCALLTYPE
*DefineFuncAsDllEntry
)(
4566 ICreateTypeInfo2
* This
,
4569 LPOLESTR szProcName
);
4571 HRESULT (STDMETHODCALLTYPE
*SetFuncDocString
)(
4572 ICreateTypeInfo2
* This
,
4574 LPOLESTR szDocString
);
4576 HRESULT (STDMETHODCALLTYPE
*SetVarDocString
)(
4577 ICreateTypeInfo2
* This
,
4579 LPOLESTR szDocString
);
4581 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpContext
)(
4582 ICreateTypeInfo2
* This
,
4584 DWORD dwHelpContext
);
4586 HRESULT (STDMETHODCALLTYPE
*SetVarHelpContext
)(
4587 ICreateTypeInfo2
* This
,
4589 DWORD dwHelpContext
);
4591 HRESULT (STDMETHODCALLTYPE
*SetMops
)(
4592 ICreateTypeInfo2
* This
,
4596 HRESULT (STDMETHODCALLTYPE
*SetTypeIdldesc
)(
4597 ICreateTypeInfo2
* This
,
4600 HRESULT (STDMETHODCALLTYPE
*LayOut
)(
4601 ICreateTypeInfo2
* This
);
4603 /*** ICreateTypeInfo2 methods ***/
4604 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDesc
)(
4605 ICreateTypeInfo2
* This
,
4608 HRESULT (STDMETHODCALLTYPE
*DeleteFuncDescByMemId
)(
4609 ICreateTypeInfo2
* This
,
4611 INVOKEKIND invKind
);
4613 HRESULT (STDMETHODCALLTYPE
*DeleteVarDesc
)(
4614 ICreateTypeInfo2
* This
,
4617 HRESULT (STDMETHODCALLTYPE
*DeleteVarDescByMemId
)(
4618 ICreateTypeInfo2
* This
,
4621 HRESULT (STDMETHODCALLTYPE
*DeleteImplType
)(
4622 ICreateTypeInfo2
* This
,
4625 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
4626 ICreateTypeInfo2
* This
,
4630 HRESULT (STDMETHODCALLTYPE
*SetFuncCustData
)(
4631 ICreateTypeInfo2
* This
,
4636 HRESULT (STDMETHODCALLTYPE
*SetParamCustData
)(
4637 ICreateTypeInfo2
* This
,
4643 HRESULT (STDMETHODCALLTYPE
*SetVarCustData
)(
4644 ICreateTypeInfo2
* This
,
4649 HRESULT (STDMETHODCALLTYPE
*SetImplTypeCustData
)(
4650 ICreateTypeInfo2
* This
,
4655 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
4656 ICreateTypeInfo2
* This
,
4657 ULONG dwHelpStringContext
);
4659 HRESULT (STDMETHODCALLTYPE
*SetFuncHelpStringContext
)(
4660 ICreateTypeInfo2
* This
,
4662 ULONG dwHelpStringContext
);
4664 HRESULT (STDMETHODCALLTYPE
*SetVarHelpStringContext
)(
4665 ICreateTypeInfo2
* This
,
4667 ULONG dwHelpStringContext
);
4669 HRESULT (STDMETHODCALLTYPE
*Invalidate
)(
4670 ICreateTypeInfo2
* This
);
4672 HRESULT (STDMETHODCALLTYPE
*SetName
)(
4673 ICreateTypeInfo2
* This
,
4678 /*** IUnknown methods ***/
4679 #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4680 #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
4681 #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p)
4682 /*** ICreateTypeInfo methods ***/
4683 #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
4684 #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a)
4685 #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
4686 #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
4687 #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
4688 #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b)
4689 #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b)
4690 #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b)
4691 #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b)
4692 #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a)
4693 #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a)
4694 #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b)
4695 #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c)
4696 #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b)
4697 #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a)
4698 #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c)
4699 #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b)
4700 #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b)
4701 #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b)
4702 #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b)
4703 #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b)
4704 #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a)
4705 #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p)
4706 /*** ICreateTypeInfo2 methods ***/
4707 #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a)
4708 #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b)
4709 #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a)
4710 #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a)
4711 #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a)
4712 #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
4713 #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c)
4714 #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d)
4715 #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c)
4716 #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c)
4717 #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
4718 #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b)
4719 #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b)
4720 #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p)
4721 #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4725 #define ICreateTypeInfo2_METHODS \
4726 ICOM_MSVTABLE_COMPAT_FIELDS \
4727 /*** IUnknown methods ***/ \
4728 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4729 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4730 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4731 /*** ICreateTypeInfo methods ***/ \
4732 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
4733 STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
4734 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
4735 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
4736 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
4737 STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
4738 STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
4739 STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
4740 STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
4741 STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
4742 STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
4743 STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
4744 STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
4745 STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
4746 STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
4747 STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
4748 STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4749 STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
4750 STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4751 STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
4752 STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
4753 STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
4754 STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
4755 /*** ICreateTypeInfo2 methods ***/ \
4756 STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
4757 STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
4758 STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
4759 STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
4760 STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
4761 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
4762 STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4763 STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
4764 STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4765 STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
4766 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
4767 STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4768 STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
4769 STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
4770 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
4772 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDesc_Proxy(
4773 ICreateTypeInfo2
* This
,
4775 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDesc_Stub(
4776 struct IRpcStubBuffer
* This
,
4777 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4778 PRPC_MESSAGE pRpcMessage
,
4779 DWORD
* pdwStubPhase
);
4780 HRESULT CALLBACK
ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
4781 ICreateTypeInfo2
* This
,
4783 INVOKEKIND invKind
);
4784 void __RPC_STUB
ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
4785 struct IRpcStubBuffer
* This
,
4786 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4787 PRPC_MESSAGE pRpcMessage
,
4788 DWORD
* pdwStubPhase
);
4789 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDesc_Proxy(
4790 ICreateTypeInfo2
* This
,
4792 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDesc_Stub(
4793 struct IRpcStubBuffer
* This
,
4794 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4795 PRPC_MESSAGE pRpcMessage
,
4796 DWORD
* pdwStubPhase
);
4797 HRESULT CALLBACK
ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
4798 ICreateTypeInfo2
* This
,
4800 void __RPC_STUB
ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
4801 struct IRpcStubBuffer
* This
,
4802 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4803 PRPC_MESSAGE pRpcMessage
,
4804 DWORD
* pdwStubPhase
);
4805 HRESULT CALLBACK
ICreateTypeInfo2_DeleteImplType_Proxy(
4806 ICreateTypeInfo2
* This
,
4808 void __RPC_STUB
ICreateTypeInfo2_DeleteImplType_Stub(
4809 struct IRpcStubBuffer
* This
,
4810 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4811 PRPC_MESSAGE pRpcMessage
,
4812 DWORD
* pdwStubPhase
);
4813 HRESULT CALLBACK
ICreateTypeInfo2_SetCustData_Proxy(
4814 ICreateTypeInfo2
* This
,
4817 void __RPC_STUB
ICreateTypeInfo2_SetCustData_Stub(
4818 struct IRpcStubBuffer
* This
,
4819 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4820 PRPC_MESSAGE pRpcMessage
,
4821 DWORD
* pdwStubPhase
);
4822 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncCustData_Proxy(
4823 ICreateTypeInfo2
* This
,
4827 void __RPC_STUB
ICreateTypeInfo2_SetFuncCustData_Stub(
4828 struct IRpcStubBuffer
* This
,
4829 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4830 PRPC_MESSAGE pRpcMessage
,
4831 DWORD
* pdwStubPhase
);
4832 HRESULT CALLBACK
ICreateTypeInfo2_SetParamCustData_Proxy(
4833 ICreateTypeInfo2
* This
,
4838 void __RPC_STUB
ICreateTypeInfo2_SetParamCustData_Stub(
4839 struct IRpcStubBuffer
* This
,
4840 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4841 PRPC_MESSAGE pRpcMessage
,
4842 DWORD
* pdwStubPhase
);
4843 HRESULT CALLBACK
ICreateTypeInfo2_SetVarCustData_Proxy(
4844 ICreateTypeInfo2
* This
,
4848 void __RPC_STUB
ICreateTypeInfo2_SetVarCustData_Stub(
4849 struct IRpcStubBuffer
* This
,
4850 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4851 PRPC_MESSAGE pRpcMessage
,
4852 DWORD
* pdwStubPhase
);
4853 HRESULT CALLBACK
ICreateTypeInfo2_SetImplTypeCustData_Proxy(
4854 ICreateTypeInfo2
* This
,
4858 void __RPC_STUB
ICreateTypeInfo2_SetImplTypeCustData_Stub(
4859 struct IRpcStubBuffer
* This
,
4860 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4861 PRPC_MESSAGE pRpcMessage
,
4862 DWORD
* pdwStubPhase
);
4863 HRESULT CALLBACK
ICreateTypeInfo2_SetHelpStringContext_Proxy(
4864 ICreateTypeInfo2
* This
,
4865 ULONG dwHelpStringContext
);
4866 void __RPC_STUB
ICreateTypeInfo2_SetHelpStringContext_Stub(
4867 struct IRpcStubBuffer
* This
,
4868 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4869 PRPC_MESSAGE pRpcMessage
,
4870 DWORD
* pdwStubPhase
);
4871 HRESULT CALLBACK
ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
4872 ICreateTypeInfo2
* This
,
4874 ULONG dwHelpStringContext
);
4875 void __RPC_STUB
ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
4876 struct IRpcStubBuffer
* This
,
4877 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4878 PRPC_MESSAGE pRpcMessage
,
4879 DWORD
* pdwStubPhase
);
4880 HRESULT CALLBACK
ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
4881 ICreateTypeInfo2
* This
,
4883 ULONG dwHelpStringContext
);
4884 void __RPC_STUB
ICreateTypeInfo2_SetVarHelpStringContext_Stub(
4885 struct IRpcStubBuffer
* This
,
4886 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4887 PRPC_MESSAGE pRpcMessage
,
4888 DWORD
* pdwStubPhase
);
4889 HRESULT CALLBACK
ICreateTypeInfo2_Invalidate_Proxy(
4890 ICreateTypeInfo2
* This
);
4891 void __RPC_STUB
ICreateTypeInfo2_Invalidate_Stub(
4892 struct IRpcStubBuffer
* This
,
4893 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4894 PRPC_MESSAGE pRpcMessage
,
4895 DWORD
* pdwStubPhase
);
4896 HRESULT CALLBACK
ICreateTypeInfo2_SetName_Proxy(
4897 ICreateTypeInfo2
* This
,
4899 void __RPC_STUB
ICreateTypeInfo2_SetName_Stub(
4900 struct IRpcStubBuffer
* This
,
4901 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4902 PRPC_MESSAGE pRpcMessage
,
4903 DWORD
* pdwStubPhase
);
4905 #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
4907 #ifndef __ICreateTypeLib_FWD_DEFINED__
4908 #define __ICreateTypeLib_FWD_DEFINED__
4909 typedef struct ICreateTypeLib ICreateTypeLib
;
4912 typedef ICreateTypeLib
*LPCREATETYPELIB
;
4914 /*****************************************************************************
4915 * ICreateTypeLib interface
4917 #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
4918 #define __ICreateTypeLib_INTERFACE_DEFINED__
4920 DEFINE_GUID(IID_ICreateTypeLib
, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4921 #if defined(__cplusplus) && !defined(CINTERFACE)
4922 struct ICreateTypeLib
: public IUnknown
4924 virtual HRESULT STDMETHODCALLTYPE
CreateTypeInfo(
4927 ICreateTypeInfo
** ppCTInfo
) = 0;
4929 virtual HRESULT STDMETHODCALLTYPE
SetName(
4930 LPOLESTR szName
) = 0;
4932 virtual HRESULT STDMETHODCALLTYPE
SetVersion(
4934 WORD wMinorVerNum
) = 0;
4936 virtual HRESULT STDMETHODCALLTYPE
SetGuid(
4939 virtual HRESULT STDMETHODCALLTYPE
SetDocString(
4940 LPOLESTR szDoc
) = 0;
4942 virtual HRESULT STDMETHODCALLTYPE
SetHelpFileName(
4943 LPOLESTR szHelpFileName
) = 0;
4945 virtual HRESULT STDMETHODCALLTYPE
SetHelpContext(
4946 DWORD dwHelpContext
) = 0;
4948 virtual HRESULT STDMETHODCALLTYPE
SetLcid(
4951 virtual HRESULT STDMETHODCALLTYPE
SetLibFlags(
4952 UINT uLibFlags
) = 0;
4954 virtual HRESULT STDMETHODCALLTYPE
SaveAllChanges(
4959 typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl
;
4960 struct ICreateTypeLib
{
4961 const ICreateTypeLibVtbl
* lpVtbl
;
4963 struct ICreateTypeLibVtbl
{
4964 ICOM_MSVTABLE_COMPAT_FIELDS
4966 /*** IUnknown methods ***/
4967 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4968 ICreateTypeLib
* This
,
4972 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4973 ICreateTypeLib
* This
);
4975 ULONG (STDMETHODCALLTYPE
*Release
)(
4976 ICreateTypeLib
* This
);
4978 /*** ICreateTypeLib methods ***/
4979 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
4980 ICreateTypeLib
* This
,
4983 ICreateTypeInfo
** ppCTInfo
);
4985 HRESULT (STDMETHODCALLTYPE
*SetName
)(
4986 ICreateTypeLib
* This
,
4989 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
4990 ICreateTypeLib
* This
,
4994 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
4995 ICreateTypeLib
* This
,
4998 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
4999 ICreateTypeLib
* This
,
5002 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5003 ICreateTypeLib
* This
,
5004 LPOLESTR szHelpFileName
);
5006 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5007 ICreateTypeLib
* This
,
5008 DWORD dwHelpContext
);
5010 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5011 ICreateTypeLib
* This
,
5014 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5015 ICreateTypeLib
* This
,
5018 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5019 ICreateTypeLib
* This
);
5023 /*** IUnknown methods ***/
5024 #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5025 #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
5026 #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p)
5027 /*** ICreateTypeLib methods ***/
5028 #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5029 #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5030 #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5031 #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5032 #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5033 #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5034 #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5035 #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5036 #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5037 #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5041 #define ICreateTypeLib_METHODS \
5042 ICOM_MSVTABLE_COMPAT_FIELDS \
5043 /*** IUnknown methods ***/ \
5044 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5045 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5046 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5047 /*** ICreateTypeLib methods ***/ \
5048 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5049 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5050 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5051 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5052 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5053 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5054 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5055 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5056 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5057 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
5059 HRESULT CALLBACK
ICreateTypeLib_CreateTypeInfo_Proxy(
5060 ICreateTypeLib
* This
,
5063 ICreateTypeInfo
** ppCTInfo
);
5064 void __RPC_STUB
ICreateTypeLib_CreateTypeInfo_Stub(
5065 struct IRpcStubBuffer
* This
,
5066 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5067 PRPC_MESSAGE pRpcMessage
,
5068 DWORD
* pdwStubPhase
);
5069 HRESULT CALLBACK
ICreateTypeLib_SetName_Proxy(
5070 ICreateTypeLib
* This
,
5072 void __RPC_STUB
ICreateTypeLib_SetName_Stub(
5073 struct IRpcStubBuffer
* This
,
5074 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5075 PRPC_MESSAGE pRpcMessage
,
5076 DWORD
* pdwStubPhase
);
5077 HRESULT CALLBACK
ICreateTypeLib_SetVersion_Proxy(
5078 ICreateTypeLib
* This
,
5081 void __RPC_STUB
ICreateTypeLib_SetVersion_Stub(
5082 struct IRpcStubBuffer
* This
,
5083 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5084 PRPC_MESSAGE pRpcMessage
,
5085 DWORD
* pdwStubPhase
);
5086 HRESULT CALLBACK
ICreateTypeLib_SetGuid_Proxy(
5087 ICreateTypeLib
* This
,
5089 void __RPC_STUB
ICreateTypeLib_SetGuid_Stub(
5090 struct IRpcStubBuffer
* This
,
5091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5092 PRPC_MESSAGE pRpcMessage
,
5093 DWORD
* pdwStubPhase
);
5094 HRESULT CALLBACK
ICreateTypeLib_SetDocString_Proxy(
5095 ICreateTypeLib
* This
,
5097 void __RPC_STUB
ICreateTypeLib_SetDocString_Stub(
5098 struct IRpcStubBuffer
* This
,
5099 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5100 PRPC_MESSAGE pRpcMessage
,
5101 DWORD
* pdwStubPhase
);
5102 HRESULT CALLBACK
ICreateTypeLib_SetHelpFileName_Proxy(
5103 ICreateTypeLib
* This
,
5104 LPOLESTR szHelpFileName
);
5105 void __RPC_STUB
ICreateTypeLib_SetHelpFileName_Stub(
5106 struct IRpcStubBuffer
* This
,
5107 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5108 PRPC_MESSAGE pRpcMessage
,
5109 DWORD
* pdwStubPhase
);
5110 HRESULT CALLBACK
ICreateTypeLib_SetHelpContext_Proxy(
5111 ICreateTypeLib
* This
,
5112 DWORD dwHelpContext
);
5113 void __RPC_STUB
ICreateTypeLib_SetHelpContext_Stub(
5114 struct IRpcStubBuffer
* This
,
5115 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5116 PRPC_MESSAGE pRpcMessage
,
5117 DWORD
* pdwStubPhase
);
5118 HRESULT CALLBACK
ICreateTypeLib_SetLcid_Proxy(
5119 ICreateTypeLib
* This
,
5121 void __RPC_STUB
ICreateTypeLib_SetLcid_Stub(
5122 struct IRpcStubBuffer
* This
,
5123 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5124 PRPC_MESSAGE pRpcMessage
,
5125 DWORD
* pdwStubPhase
);
5126 HRESULT CALLBACK
ICreateTypeLib_SetLibFlags_Proxy(
5127 ICreateTypeLib
* This
,
5129 void __RPC_STUB
ICreateTypeLib_SetLibFlags_Stub(
5130 struct IRpcStubBuffer
* This
,
5131 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5132 PRPC_MESSAGE pRpcMessage
,
5133 DWORD
* pdwStubPhase
);
5134 HRESULT CALLBACK
ICreateTypeLib_SaveAllChanges_Proxy(
5135 ICreateTypeLib
* This
);
5136 void __RPC_STUB
ICreateTypeLib_SaveAllChanges_Stub(
5137 struct IRpcStubBuffer
* This
,
5138 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5139 PRPC_MESSAGE pRpcMessage
,
5140 DWORD
* pdwStubPhase
);
5142 #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
5144 #ifndef __ICreateTypeLib2_FWD_DEFINED__
5145 #define __ICreateTypeLib2_FWD_DEFINED__
5146 typedef struct ICreateTypeLib2 ICreateTypeLib2
;
5149 typedef ICreateTypeLib2
*LPCREATETYPELIB2
;
5151 /*****************************************************************************
5152 * ICreateTypeLib2 interface
5154 #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
5155 #define __ICreateTypeLib2_INTERFACE_DEFINED__
5157 DEFINE_GUID(IID_ICreateTypeLib2
, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5158 #if defined(__cplusplus) && !defined(CINTERFACE)
5159 struct ICreateTypeLib2
: public ICreateTypeLib
5161 virtual HRESULT STDMETHODCALLTYPE
DeleteTypeInfo(
5162 LPOLESTR szName
) = 0;
5164 virtual HRESULT STDMETHODCALLTYPE
SetCustData(
5166 VARIANT
* pVarVal
) = 0;
5168 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringContext(
5169 ULONG dwHelpStringContext
) = 0;
5171 virtual HRESULT STDMETHODCALLTYPE
SetHelpStringDll(
5172 LPOLESTR szFileName
) = 0;
5176 typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl
;
5177 struct ICreateTypeLib2
{
5178 const ICreateTypeLib2Vtbl
* lpVtbl
;
5180 struct ICreateTypeLib2Vtbl
{
5181 ICOM_MSVTABLE_COMPAT_FIELDS
5183 /*** IUnknown methods ***/
5184 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5185 ICreateTypeLib2
* This
,
5189 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5190 ICreateTypeLib2
* This
);
5192 ULONG (STDMETHODCALLTYPE
*Release
)(
5193 ICreateTypeLib2
* This
);
5195 /*** ICreateTypeLib methods ***/
5196 HRESULT (STDMETHODCALLTYPE
*CreateTypeInfo
)(
5197 ICreateTypeLib2
* This
,
5200 ICreateTypeInfo
** ppCTInfo
);
5202 HRESULT (STDMETHODCALLTYPE
*SetName
)(
5203 ICreateTypeLib2
* This
,
5206 HRESULT (STDMETHODCALLTYPE
*SetVersion
)(
5207 ICreateTypeLib2
* This
,
5211 HRESULT (STDMETHODCALLTYPE
*SetGuid
)(
5212 ICreateTypeLib2
* This
,
5215 HRESULT (STDMETHODCALLTYPE
*SetDocString
)(
5216 ICreateTypeLib2
* This
,
5219 HRESULT (STDMETHODCALLTYPE
*SetHelpFileName
)(
5220 ICreateTypeLib2
* This
,
5221 LPOLESTR szHelpFileName
);
5223 HRESULT (STDMETHODCALLTYPE
*SetHelpContext
)(
5224 ICreateTypeLib2
* This
,
5225 DWORD dwHelpContext
);
5227 HRESULT (STDMETHODCALLTYPE
*SetLcid
)(
5228 ICreateTypeLib2
* This
,
5231 HRESULT (STDMETHODCALLTYPE
*SetLibFlags
)(
5232 ICreateTypeLib2
* This
,
5235 HRESULT (STDMETHODCALLTYPE
*SaveAllChanges
)(
5236 ICreateTypeLib2
* This
);
5238 /*** ICreateTypeLib2 methods ***/
5239 HRESULT (STDMETHODCALLTYPE
*DeleteTypeInfo
)(
5240 ICreateTypeLib2
* This
,
5243 HRESULT (STDMETHODCALLTYPE
*SetCustData
)(
5244 ICreateTypeLib2
* This
,
5248 HRESULT (STDMETHODCALLTYPE
*SetHelpStringContext
)(
5249 ICreateTypeLib2
* This
,
5250 ULONG dwHelpStringContext
);
5252 HRESULT (STDMETHODCALLTYPE
*SetHelpStringDll
)(
5253 ICreateTypeLib2
* This
,
5254 LPOLESTR szFileName
);
5258 /*** IUnknown methods ***/
5259 #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5260 #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
5261 #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p)
5262 /*** ICreateTypeLib methods ***/
5263 #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c)
5264 #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
5265 #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b)
5266 #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a)
5267 #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a)
5268 #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a)
5269 #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a)
5270 #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a)
5271 #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a)
5272 #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p)
5273 /*** ICreateTypeLib2 methods ***/
5274 #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a)
5275 #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b)
5276 #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a)
5277 #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a)
5281 #define ICreateTypeLib2_METHODS \
5282 ICOM_MSVTABLE_COMPAT_FIELDS \
5283 /*** IUnknown methods ***/ \
5284 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5285 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5286 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5287 /*** ICreateTypeLib methods ***/ \
5288 STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
5289 STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
5290 STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
5291 STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
5292 STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
5293 STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
5294 STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
5295 STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
5296 STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
5297 STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
5298 /*** ICreateTypeLib2 methods ***/ \
5299 STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
5300 STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
5301 STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
5302 STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
5304 HRESULT CALLBACK
ICreateTypeLib2_DeleteTypeInfo_Proxy(
5305 ICreateTypeLib2
* This
,
5307 void __RPC_STUB
ICreateTypeLib2_DeleteTypeInfo_Stub(
5308 struct IRpcStubBuffer
* This
,
5309 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5310 PRPC_MESSAGE pRpcMessage
,
5311 DWORD
* pdwStubPhase
);
5312 HRESULT CALLBACK
ICreateTypeLib2_SetCustData_Proxy(
5313 ICreateTypeLib2
* This
,
5316 void __RPC_STUB
ICreateTypeLib2_SetCustData_Stub(
5317 struct IRpcStubBuffer
* This
,
5318 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5319 PRPC_MESSAGE pRpcMessage
,
5320 DWORD
* pdwStubPhase
);
5321 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringContext_Proxy(
5322 ICreateTypeLib2
* This
,
5323 ULONG dwHelpStringContext
);
5324 void __RPC_STUB
ICreateTypeLib2_SetHelpStringContext_Stub(
5325 struct IRpcStubBuffer
* This
,
5326 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5327 PRPC_MESSAGE pRpcMessage
,
5328 DWORD
* pdwStubPhase
);
5329 HRESULT CALLBACK
ICreateTypeLib2_SetHelpStringDll_Proxy(
5330 ICreateTypeLib2
* This
,
5331 LPOLESTR szFileName
);
5332 void __RPC_STUB
ICreateTypeLib2_SetHelpStringDll_Stub(
5333 struct IRpcStubBuffer
* This
,
5334 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5335 PRPC_MESSAGE pRpcMessage
,
5336 DWORD
* pdwStubPhase
);
5338 #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
5343 #endif /* __WIDL_OAIDL_H */