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