diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
commit | 16f504a9dca3fe3b70568f67b7d41241ae485288 (patch) | |
tree | c60f36ada0496ba928b7161059ba5ab1ab224f9d /src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h | |
parent | Initial commit. (diff) | |
download | virtualbox-upstream.tar.xz virtualbox-upstream.zip |
Adding upstream version 7.0.6-dfsg.upstream/7.0.6-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h | 5205 |
1 files changed, 5205 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h new file mode 100644 index 00000000..f4c2b5bb --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/oaidl.h @@ -0,0 +1,5205 @@ +/*** Autogenerated by WIDL 1.1.36 from oaidl.idl - Do not edit ***/ + +#include <rpc.h> +#include <rpcndr.h> + +#ifndef __WIDL_OAIDL_H +#define __WIDL_OAIDL_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Headers for imported files */ + +#include <objidl.h> + +/* Forward declarations */ + +#ifndef __IDispatch_FWD_DEFINED__ +#define __IDispatch_FWD_DEFINED__ +typedef interface IDispatch IDispatch; +#endif + +#ifndef __IEnumVARIANT_FWD_DEFINED__ +#define __IEnumVARIANT_FWD_DEFINED__ +typedef interface IEnumVARIANT IEnumVARIANT; +#endif + +#ifndef __ITypeComp_FWD_DEFINED__ +#define __ITypeComp_FWD_DEFINED__ +typedef interface ITypeComp ITypeComp; +#endif + +#ifndef __ITypeInfo_FWD_DEFINED__ +#define __ITypeInfo_FWD_DEFINED__ +typedef interface ITypeInfo ITypeInfo; +#endif + +#ifndef __ITypeInfo2_FWD_DEFINED__ +#define __ITypeInfo2_FWD_DEFINED__ +typedef interface ITypeInfo2 ITypeInfo2; +#endif + +#ifndef __ITypeLib_FWD_DEFINED__ +#define __ITypeLib_FWD_DEFINED__ +typedef interface ITypeLib ITypeLib; +#endif + +#ifndef __ITypeLib2_FWD_DEFINED__ +#define __ITypeLib2_FWD_DEFINED__ +typedef interface ITypeLib2 ITypeLib2; +#endif + +#ifndef __ITypeChangeEvents_FWD_DEFINED__ +#define __ITypeChangeEvents_FWD_DEFINED__ +typedef interface ITypeChangeEvents ITypeChangeEvents; +#endif + +#ifndef __IErrorInfo_FWD_DEFINED__ +#define __IErrorInfo_FWD_DEFINED__ +typedef interface IErrorInfo IErrorInfo; +#endif + +#ifndef __ICreateErrorInfo_FWD_DEFINED__ +#define __ICreateErrorInfo_FWD_DEFINED__ +typedef interface ICreateErrorInfo ICreateErrorInfo; +#endif + +#ifndef __ISupportErrorInfo_FWD_DEFINED__ +#define __ISupportErrorInfo_FWD_DEFINED__ +typedef interface ISupportErrorInfo ISupportErrorInfo; +#endif + +#ifndef __ITypeFactory_FWD_DEFINED__ +#define __ITypeFactory_FWD_DEFINED__ +typedef interface ITypeFactory ITypeFactory; +#endif + +#ifndef __ITypeMarshal_FWD_DEFINED__ +#define __ITypeMarshal_FWD_DEFINED__ +typedef interface ITypeMarshal ITypeMarshal; +#endif + +#ifndef __IRecordInfo_FWD_DEFINED__ +#define __IRecordInfo_FWD_DEFINED__ +typedef interface IRecordInfo IRecordInfo; +#endif + +#ifndef __ICreateTypeInfo_FWD_DEFINED__ +#define __ICreateTypeInfo_FWD_DEFINED__ +typedef interface ICreateTypeInfo ICreateTypeInfo; +#endif + +#ifndef __ICreateTypeInfo2_FWD_DEFINED__ +#define __ICreateTypeInfo2_FWD_DEFINED__ +typedef interface ICreateTypeInfo2 ICreateTypeInfo2; +#endif + +#ifndef __ICreateTypeLib_FWD_DEFINED__ +#define __ICreateTypeLib_FWD_DEFINED__ +typedef interface ICreateTypeLib ICreateTypeLib; +#endif + +#ifndef __ICreateTypeLib2_FWD_DEFINED__ +#define __ICreateTypeLib2_FWD_DEFINED__ +typedef interface ICreateTypeLib2 ICreateTypeLib2; +#endif + +#ifndef __IErrorLog_FWD_DEFINED__ +#define __IErrorLog_FWD_DEFINED__ +typedef interface IErrorLog IErrorLog; +#endif + +#ifndef __IPropertyBag_FWD_DEFINED__ +#define __IPropertyBag_FWD_DEFINED__ +typedef interface IPropertyBag IPropertyBag; +#endif + + +#ifndef __IDispatch_FWD_DEFINED__ +#define __IDispatch_FWD_DEFINED__ +typedef interface IDispatch IDispatch; +#endif + +#ifndef __ITypeInfo_FWD_DEFINED__ +#define __ITypeInfo_FWD_DEFINED__ +typedef interface ITypeInfo ITypeInfo; +#endif + +#ifndef __ITypeLib_FWD_DEFINED__ +#define __ITypeLib_FWD_DEFINED__ +typedef interface ITypeLib ITypeLib; +#endif + +#ifndef __IRecordInfo_FWD_DEFINED__ +#define __IRecordInfo_FWD_DEFINED__ +typedef interface IRecordInfo IRecordInfo; +#endif + +void * __RPC_USER MIDL_user_allocate(SIZE_T); +void __RPC_USER MIDL_user_free(void *); + +/***************************************************************************** + * IOleAutomationTypes interface (v1.0) + */ +#ifndef __IOleAutomationTypes_INTERFACE_DEFINED__ +#define __IOleAutomationTypes_INTERFACE_DEFINED__ + +extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec; +extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec; +typedef CY CURRENCY; +typedef struct tagSAFEARRAYBOUND { + ULONG cElements; + LONG lLbound; +} SAFEARRAYBOUND; +typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND; +typedef struct _wireVARIANT *wireVARIANT; +typedef struct _wireBRECORD *wireBRECORD; +typedef struct _wireSAFEARR_BSTR { + ULONG Size; + wireBSTR *aBstr; +} SAFEARR_BSTR; +typedef struct _wireSAFEARR_UNKNOWN { + ULONG Size; + IUnknown **apUnknown; +} SAFEARR_UNKNOWN; +typedef struct _wireSAFEARR_DISPATCH { + ULONG Size; + IDispatch **apDispatch; +} SAFEARR_DISPATCH; +typedef struct _wireSAFEARR_VARIANT { + ULONG Size; + wireVARIANT *aVariant; +} SAFEARR_VARIANT; +typedef struct _wireSAFEARR_BRECORD { + ULONG Size; + wireBRECORD *aRecord; +} SAFEARR_BRECORD; +typedef struct _wireSAFEARR_HAVEIID { + ULONG Size; + IUnknown **apUnknown; + IID iid; +} SAFEARR_HAVEIID; +typedef enum tagSF_TYPE { + SF_ERROR = VT_ERROR, + SF_I1 = VT_I1, + SF_I2 = VT_I2, + SF_I4 = VT_I4, + SF_I8 = VT_I8, + SF_BSTR = VT_BSTR, + SF_UNKNOWN = VT_UNKNOWN, + SF_DISPATCH = VT_DISPATCH, + SF_VARIANT = VT_VARIANT, + SF_RECORD = VT_RECORD, + SF_HAVEIID = VT_UNKNOWN | VT_RESERVED +} SF_TYPE; +typedef struct _wireSAFEARRAY_UNION { + ULONG sfType; + union { + SAFEARR_BSTR BstrStr; + SAFEARR_UNKNOWN UnknownStr; + SAFEARR_DISPATCH DispatchStr; + SAFEARR_VARIANT VariantStr; + SAFEARR_BRECORD RecordStr; + SAFEARR_HAVEIID HaveIidStr; + BYTE_SIZEDARR ByteStr; + WORD_SIZEDARR WordStr; + DWORD_SIZEDARR LongStr; + HYPER_SIZEDARR HyperStr; + } u; +} SAFEARRAYUNION; +typedef struct _wireSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + SAFEARRAYUNION uArrayStructs; + SAFEARRAYBOUND rgsabound[1]; +} *wireSAFEARRAY; +typedef wireSAFEARRAY *wirePSAFEARRAY; +typedef struct tagSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + PVOID pvData; + SAFEARRAYBOUND rgsabound[1]; +} SAFEARRAY; +typedef SAFEARRAY *LPSAFEARRAY; +#define FADF_AUTO (0x1) + +#define FADF_STATIC (0x2) + +#define FADF_EMBEDDED (0x4) + +#define FADF_FIXEDSIZE (0x10) + +#define FADF_RECORD (0x20) + +#define FADF_HAVEIID (0x40) + +#define FADF_HAVEVARTYPE (0x80) + +#define FADF_BSTR (0x100) + +#define FADF_UNKNOWN (0x200) + +#define FADF_DISPATCH (0x400) + +#define FADF_VARIANT (0x800) + +#define FADF_RESERVED (0xf008) + +#define FADF_DATADELETED (0x1000) + +#define FADF_CREATEVECTOR (0x2000) + +#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) +#define __VARIANT_NAME_1 n1 +#define __VARIANT_NAME_2 n2 +#define __VARIANT_NAME_3 n3 +#define __VARIANT_NAME_4 brecVal +#else +#define __tagVARIANT +#define __VARIANT_NAME_1 +#define __VARIANT_NAME_2 +#define __VARIANT_NAME_3 +#define __tagBRECORD +#define __VARIANT_NAME_4 +#endif +typedef struct tagVARIANT VARIANT; +struct tagVARIANT { + union { + struct __tagVARIANT { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + union { + signed char cVal; + USHORT uiVal; + ULONG ulVal; + INT intVal; + UINT uintVal; + BYTE bVal; + SHORT iVal; + LONG lVal; + FLOAT fltVal; + DOUBLE dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + DATE date; + BSTR bstrVal; + CY cyVal; + IUnknown *punkVal; + IDispatch *pdispVal; + SAFEARRAY *parray; + LONGLONG llVal; + ULONGLONG ullVal; + signed char *pcVal; + USHORT *puiVal; + ULONG *pulVal; + INT *pintVal; + UINT *puintVal; + BYTE *pbVal; + SHORT *piVal; + LONG *plVal; + FLOAT *pfltVal; + DOUBLE *pdblVal; + VARIANT_BOOL *pboolVal; + SCODE *pscode; + DATE *pdate; + BSTR *pbstrVal; + VARIANT *pvarVal; + PVOID byref; + CY *pcyVal; + DECIMAL *pdecVal; + IUnknown **ppunkVal; + IDispatch **ppdispVal; + SAFEARRAY **pparray; + LONGLONG *pllVal; + ULONGLONG *pullVal; + struct __tagBRECORD { + PVOID pvRecord; + IRecordInfo *pRecInfo; + } __VARIANT_NAME_4; + } __VARIANT_NAME_3; + } __VARIANT_NAME_2; + DECIMAL decVal; + } __VARIANT_NAME_1; +}; + +typedef VARIANT *LPVARIANT; +typedef VARIANT VARIANTARG; +typedef VARIANTARG *LPVARIANTARG; +struct _wireBRECORD { + ULONG fFlags; + ULONG clSize; + IRecordInfo *pRecInfo; + byte *pRecord; +}; + +struct _wireVARIANT { + DWORD clSize; + DWORD rpcReserved; + USHORT vt; + USHORT wReserved1; + USHORT wReserved2; + USHORT wReserved3; + union { + signed char cVal; + USHORT uiVal; + ULONG ulVal; + INT intVal; + UINT uintVal; + BYTE bVal; + SHORT iVal; + LONG lVal; + FLOAT fltVal; + DOUBLE dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + DATE date; + wireBSTR bstrVal; + CY cyVal; + DECIMAL decVal; + IUnknown *punkVal; + IDispatch *pdispVal; + wireSAFEARRAY parray; + signed char *pcVal; + USHORT *puiVal; + ULONG *pulVal; + INT *pintVal; + UINT *puintVal; + BYTE *pbVal; + SHORT *piVal; + LONG *plVal; + FLOAT *pfltVal; + DOUBLE *pdblVal; + VARIANT_BOOL *pboolVal; + SCODE *pscode; + DATE *pdate; + wireBSTR *pbstrVal; + wireVARIANT *pvarVal; + CY *pcyVal; + DECIMAL *pdecVal; + IUnknown **ppunkVal; + IDispatch **ppdispVal; + wireSAFEARRAY *pparray; + wireBRECORD brecVal; + } DUMMYUNIONNAME; +}; + +typedef LONG DISPID; +typedef DWORD HREFTYPE; +typedef DISPID MEMBERID; +typedef enum tagTYPEKIND { + TKIND_ENUM = 0, + TKIND_RECORD = 1, + TKIND_MODULE = 2, + TKIND_INTERFACE = 3, + TKIND_DISPATCH = 4, + TKIND_COCLASS = 5, + TKIND_ALIAS = 6, + TKIND_UNION = 7, + TKIND_MAX = 8 +} TYPEKIND; +typedef struct tagTYPEDESC { + union { + struct tagTYPEDESC *lptdesc; + struct tagARRAYDESC *lpadesc; + HREFTYPE hreftype; + } DUMMYUNIONNAME; + VARTYPE vt; +} TYPEDESC; +typedef struct tagARRAYDESC { + TYPEDESC tdescElem; + USHORT cDims; + SAFEARRAYBOUND rgbounds[1]; +} ARRAYDESC; +typedef struct tagPARAMDESCEX { + ULONG cBytes; + VARIANTARG varDefaultValue; +} PARAMDESCEX; +typedef struct tagPARAMDESCEX *LPPARAMDESCEX; +typedef struct tagPARAMDESC { + LPPARAMDESCEX pparamdescex; + USHORT wParamFlags; +} PARAMDESC; +typedef struct tagPARAMDESC *LPPARAMDESC; +#define PARAMFLAG_NONE (0x0) + +#define PARAMFLAG_FIN (0x1) + +#define PARAMFLAG_FOUT (0x2) + +#define PARAMFLAG_FLCID (0x4) + +#define PARAMFLAG_FRETVAL (0x8) + +#define PARAMFLAG_FOPT (0x10) + +#define PARAMFLAG_FHASDEFAULT (0x20) + +#define PARAMFLAG_FHASCUSTDATA (0x40) + +typedef struct tagIDLDESC { + ULONG dwReserved; + USHORT wIDLFlags; +} IDLDESC; +typedef struct tagIDLDESC *LPIDLDESC; +#define IDLFLAG_NONE (PARAMFLAG_NONE) + +#define IDLFLAG_FIN (PARAMFLAG_FIN) + +#define IDLFLAG_FOUT (PARAMFLAG_FOUT) + +#define IDLFLAG_FLCID (PARAMFLAG_FLCID) + +#define IDLFLAG_FRETVAL (PARAMFLAG_FRETVAL) + +#if 0 +typedef struct tagELEMDESC { + TYPEDESC tdesc; + PARAMDESC paramdesc; +} ELEMDESC; +#else +typedef struct tagELEMDESC { + TYPEDESC tdesc; + union { + IDLDESC idldesc; + PARAMDESC paramdesc; + } DUMMYUNIONNAME; +} ELEMDESC, *LPELEMDESC; +#endif +typedef struct tagTYPEATTR { + GUID guid; + LCID lcid; + DWORD dwReserved; + MEMBERID memidConstructor; + MEMBERID memidDestructor; + LPOLESTR lpstrSchema; + ULONG cbSizeInstance; + TYPEKIND typekind; + WORD cFuncs; + WORD cVars; + WORD cImplTypes; + WORD cbSizeVft; + WORD cbAlignment; + WORD wTypeFlags; + WORD wMajorVerNum; + WORD wMinorVerNum; + TYPEDESC tdescAlias; + IDLDESC idldescType; +} TYPEATTR; +typedef struct tagTYPEATTR *LPTYPEATTR; +typedef struct tagDISPPARAMS { + VARIANTARG *rgvarg; + DISPID *rgdispidNamedArgs; + UINT cArgs; + UINT cNamedArgs; +} DISPPARAMS; +#if 0 +typedef struct tagEXCEPINFO { + WORD wCode; + WORD wReserved; + BSTR bstrSource; + BSTR bstrDescription; + BSTR bstrHelpFile; + DWORD dwHelpContext; + ULONG pvReserved; + ULONG pfnDeferredFillIn; + SCODE scode; +} EXCEPINFO; +#else +typedef struct tagEXCEPINFO { + WORD wCode; + WORD wReserved; + BSTR bstrSource; + BSTR bstrDescription; + BSTR bstrHelpFile; + DWORD dwHelpContext; + PVOID pvReserved; + HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *); + SCODE scode; +} EXCEPINFO, *LPEXCEPINFO; +#endif +typedef enum tagCALLCONV { + CC_FASTCALL = 0, + CC_CDECL = 1, + CC_MSCPASCAL = 2, + CC_PASCAL = CC_MSCPASCAL, + CC_MACPASCAL = 3, + CC_STDCALL = 4, + CC_FPFASTCALL = 5, + CC_SYSCALL = 6, + CC_MPWCDECL = 7, + CC_MPWPASCAL = 8, + CC_MAX = 9 +} CALLCONV; +typedef enum tagFUNCKIND { + FUNC_VIRTUAL = 0, + FUNC_PUREVIRTUAL = 1, + FUNC_NONVIRTUAL = 2, + FUNC_STATIC = 3, + FUNC_DISPATCH = 4 +} FUNCKIND; +typedef enum tagINVOKEKIND { + INVOKE_FUNC = 1, + INVOKE_PROPERTYGET = 2, + INVOKE_PROPERTYPUT = 4, + INVOKE_PROPERTYPUTREF = 8 +} INVOKEKIND; +typedef struct tagFUNCDESC { + MEMBERID memid; + SCODE *lprgscode; + ELEMDESC *lprgelemdescParam; + FUNCKIND funckind; + INVOKEKIND invkind; + CALLCONV callconv; + SHORT cParams; + SHORT cParamsOpt; + SHORT oVft; + SHORT cScodes; + ELEMDESC elemdescFunc; + WORD wFuncFlags; +} FUNCDESC; +typedef struct tagFUNCDESC *LPFUNCDESC; +typedef enum tagVARKIND { + VAR_PERINSTANCE = 0, + VAR_STATIC = 1, + VAR_CONST = 2, + VAR_DISPATCH = 3 +} VARKIND; +#define IMPLTYPEFLAG_FDEFAULT (0x1) + +#define IMPLTYPEFLAG_FSOURCE (0x2) + +#define IMPLTYPEFLAG_FRESTRICTED (0x4) + +#define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8) + +typedef struct tagVARDESC { + MEMBERID memid; + LPOLESTR lpstrSchema; + union { + ULONG oInst; + VARIANT *lpvarValue; + } DUMMYUNIONNAME; + ELEMDESC elemdescVar; + WORD wVarFlags; + VARKIND varkind; +} VARDESC; +typedef struct tagVARDESC *LPVARDESC; +typedef enum tagTYPEFLAGS { + TYPEFLAG_FAPPOBJECT = 0x1, + TYPEFLAG_FCANCREATE = 0x2, + TYPEFLAG_FLICENSED = 0x4, + TYPEFLAG_FPREDECLID = 0x8, + TYPEFLAG_FHIDDEN = 0x10, + TYPEFLAG_FCONTROL = 0x20, + TYPEFLAG_FDUAL = 0x40, + TYPEFLAG_FNONEXTENSIBLE = 0x80, + TYPEFLAG_FOLEAUTOMATION = 0x100, + TYPEFLAG_FRESTRICTED = 0x200, + TYPEFLAG_FAGGREGATABLE = 0x400, + TYPEFLAG_FREPLACEABLE = 0x800, + TYPEFLAG_FDISPATCHABLE = 0x1000, + TYPEFLAG_FREVERSEBIND = 0x2000, + TYPEFLAG_FPROXY = 0x4000 +} TYPEFLAGS; +typedef enum tagFUNCFLAGS { + FUNCFLAG_FRESTRICTED = 0x1, + FUNCFLAG_FSOURCE = 0x2, + FUNCFLAG_FBINDABLE = 0x4, + FUNCFLAG_FREQUESTEDIT = 0x8, + FUNCFLAG_FDISPLAYBIND = 0x10, + FUNCFLAG_FDEFAULTBIND = 0x20, + FUNCFLAG_FHIDDEN = 0x40, + FUNCFLAG_FUSESGETLASTERROR = 0x80, + FUNCFLAG_FDEFAULTCOLLELEM = 0x100, + FUNCFLAG_FUIDEFAULT = 0x200, + FUNCFLAG_FNONBROWSABLE = 0x400, + FUNCFLAG_FREPLACEABLE = 0x800, + FUNCFLAG_FIMMEDIATEBIND = 0x1000 +} FUNCFLAGS; +typedef enum tagVARFLAGS { + VARFLAG_FREADONLY = 0x1, + VARFLAG_FSOURCE = 0x2, + VARFLAG_FBINDABLE = 0x4, + VARFLAG_FREQUESTEDIT = 0x8, + VARFLAG_FDISPLAYBIND = 0x10, + VARFLAG_FDEFAULTBIND = 0x20, + VARFLAG_FHIDDEN = 0x40, + VARFLAG_FRESTRICTED = 0x80, + VARFLAG_FDEFAULTCOLLELEM = 0x100, + VARFLAG_FUIDEFAULT = 0x200, + VARFLAG_FNONBROWSABLE = 0x400, + VARFLAG_FREPLACEABLE = 0x800, + VARFLAG_FIMMEDIATEBIND = 0x1000 +} VARFLAGS; +typedef struct tagCLEANLOCALSTORAGE { + IUnknown *pInterface; + PVOID pStorage; + DWORD flags; +} CLEANLOCALSTORAGE; +typedef struct tagCUSTDATAITEM { + GUID guid; + VARIANTARG varValue; +} CUSTDATAITEM; +typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM; +typedef struct tagCUSTDATA { + DWORD cCustData; + LPCUSTDATAITEM prgCustData; +} CUSTDATA; +typedef struct tagCUSTDATA *LPCUSTDATA; + +#endif /* __IOleAutomationTypes_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDispatch interface + */ +#ifndef __IDispatch_INTERFACE_DEFINED__ +#define __IDispatch_INTERFACE_DEFINED__ + +typedef IDispatch *LPDISPATCH; +#define DISPID_UNKNOWN (-1) + +#define DISPID_VALUE (0) + +#define DISPID_PROPERTYPUT (-3) + +#define DISPID_NEWENUM (-4) + +#define DISPID_EVALUATE (-5) + +#define DISPID_CONSTRUCTOR (-6) + +#define DISPID_DESTRUCTOR (-7) + +#define DISPID_COLLECT (-8) + +DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IDispatch : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( + UINT *pctinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId) = 0; + + virtual HRESULT STDMETHODCALLTYPE Invoke( + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr) = 0; + +}; +#else +typedef struct IDispatchVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDispatch* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDispatch* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDispatch* This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDispatch* This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDispatch* This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDispatch* This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDispatch* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + END_INTERFACE +} IDispatchVtbl; +interface IDispatch { + CONST_VTBL IDispatchVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDispatch_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDispatch_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy( + IDispatch* This, + UINT *pctinfo); +void __RPC_STUB IDispatch_GetTypeInfoCount_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy( + IDispatch* This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); +void __RPC_STUB IDispatch_GetTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy( + IDispatch* This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); +void __RPC_STUB IDispatch_GetIDsOfNames_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( + IDispatch* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + DWORD dwFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *pArgErr, + UINT cVarRef, + UINT *rgVarRefIdx, + VARIANTARG *rgVarRef); +void __RPC_STUB IDispatch_RemoteInvoke_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatch_Invoke_Proxy( + IDispatch* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); +HRESULT __RPC_STUB IDispatch_Invoke_Stub( + IDispatch* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + DWORD dwFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *pArgErr, + UINT cVarRef, + UINT *rgVarRefIdx, + VARIANTARG *rgVarRef); + +#endif /* __IDispatch_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumVARIANT interface + */ +#ifndef __IEnumVARIANT_INTERFACE_DEFINED__ +#define __IEnumVARIANT_INTERFACE_DEFINED__ + +typedef IEnumVARIANT *LPENUMVARIANT; +DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IEnumVARIANT : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + VARIANT *rgVar, + ULONG *pCeltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumVARIANT **ppEnum) = 0; + +}; +#else +typedef struct IEnumVARIANTVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumVARIANT* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumVARIANT* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumVARIANT* This); + + /*** IEnumVARIANT methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumVARIANT* This, + ULONG celt, + VARIANT *rgVar, + ULONG *pCeltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumVARIANT* This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumVARIANT* This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumVARIANT* This, + IEnumVARIANT **ppEnum); + + END_INTERFACE +} IEnumVARIANTVtbl; +interface IEnumVARIANT { + CONST_VTBL IEnumVARIANTVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IEnumVARIANT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumVARIANT_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumVARIANT_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumVARIANT methods ***/ +#define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pCeltFetched) +#define IEnumVARIANT_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumVARIANT_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumVARIANT_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy( + IEnumVARIANT* This, + ULONG celt, + VARIANT *rgVar, + ULONG *pCeltFetched); +void __RPC_STUB IEnumVARIANT_RemoteNext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IEnumVARIANT_Skip_Proxy( + IEnumVARIANT* This, + ULONG celt); +void __RPC_STUB IEnumVARIANT_Skip_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IEnumVARIANT_Reset_Proxy( + IEnumVARIANT* This); +void __RPC_STUB IEnumVARIANT_Reset_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IEnumVARIANT_Clone_Proxy( + IEnumVARIANT* This, + IEnumVARIANT **ppEnum); +void __RPC_STUB IEnumVARIANT_Clone_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumVARIANT_Next_Proxy( + IEnumVARIANT* This, + ULONG celt, + VARIANT *rgVar, + ULONG *pCeltFetched); +HRESULT __RPC_STUB IEnumVARIANT_Next_Stub( + IEnumVARIANT* This, + ULONG celt, + VARIANT *rgVar, + ULONG *pCeltFetched); + +#endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeComp interface + */ +#ifndef __ITypeComp_INTERFACE_DEFINED__ +#define __ITypeComp_INTERFACE_DEFINED__ + +typedef ITypeComp *LPTYPECOMP; +typedef enum tagDESCKIND { + DESCKIND_NONE = 0, + DESCKIND_FUNCDESC = 1, + DESCKIND_VARDESC = 2, + DESCKIND_TYPECOMP = 3, + DESCKIND_IMPLICITAPPOBJ = 4, + DESCKIND_MAX = 5 +} DESCKIND; +typedef union tagBINDPTR { + FUNCDESC *lpfuncdesc; + VARDESC *lpvardesc; + ITypeComp *lptcomp; +} BINDPTR; +typedef union tagBINDPTR *LPBINDPTR; +DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeComp : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Bind( + LPOLESTR szName, + ULONG lHashVal, + WORD wFlags, + ITypeInfo **ppTInfo, + DESCKIND *pDescKind, + BINDPTR *pBindPtr) = 0; + + virtual HRESULT STDMETHODCALLTYPE BindType( + LPOLESTR szName, + ULONG lHashVal, + ITypeInfo **ppTInfo, + ITypeComp **ppTComp) = 0; + +}; +#else +typedef struct ITypeCompVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeComp* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeComp* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeComp* This); + + /*** ITypeComp methods ***/ + HRESULT (STDMETHODCALLTYPE *Bind)( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + WORD wFlags, + ITypeInfo **ppTInfo, + DESCKIND *pDescKind, + BINDPTR *pBindPtr); + + HRESULT (STDMETHODCALLTYPE *BindType)( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + ITypeInfo **ppTInfo, + ITypeComp **ppTComp); + + END_INTERFACE +} ITypeCompVtbl; +interface ITypeComp { + CONST_VTBL ITypeCompVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeComp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeComp_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeComp_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeComp methods ***/ +#define ITypeComp_Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr) (This)->lpVtbl->Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr) +#define ITypeComp_BindType(This,szName,lHashVal,ppTInfo,ppTComp) (This)->lpVtbl->BindType(This,szName,lHashVal,ppTInfo,ppTComp) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + WORD wFlags, + ITypeInfo **ppTInfo, + DESCKIND *pDescKind, + LPFUNCDESC *ppFuncDesc, + LPVARDESC *ppVarDesc, + ITypeComp **ppTypeComp, + CLEANLOCALSTORAGE *pDummy); +void __RPC_STUB ITypeComp_RemoteBind_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + ITypeInfo **ppTInfo); +void __RPC_STUB ITypeComp_RemoteBindType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeComp_Bind_Proxy( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + WORD wFlags, + ITypeInfo **ppTInfo, + DESCKIND *pDescKind, + BINDPTR *pBindPtr); +HRESULT __RPC_STUB ITypeComp_Bind_Stub( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + WORD wFlags, + ITypeInfo **ppTInfo, + DESCKIND *pDescKind, + LPFUNCDESC *ppFuncDesc, + LPVARDESC *ppVarDesc, + ITypeComp **ppTypeComp, + CLEANLOCALSTORAGE *pDummy); +HRESULT CALLBACK ITypeComp_BindType_Proxy( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + ITypeInfo **ppTInfo, + ITypeComp **ppTComp); +HRESULT __RPC_STUB ITypeComp_BindType_Stub( + ITypeComp* This, + LPOLESTR szName, + ULONG lHashVal, + ITypeInfo **ppTInfo); + +#endif /* __ITypeComp_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeInfo interface + */ +#ifndef __ITypeInfo_INTERFACE_DEFINED__ +#define __ITypeInfo_INTERFACE_DEFINED__ + +typedef ITypeInfo *LPTYPEINFO; +DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetTypeAttr( + TYPEATTR **ppTypeAttr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeComp( + ITypeComp **ppTComp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFuncDesc( + UINT index, + FUNCDESC **ppFuncDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVarDesc( + UINT index, + VARDESC **ppVarDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNames( + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType( + UINT index, + HREFTYPE *pRefType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags( + UINT index, + INT *pImplTypeFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( + LPOLESTR *rgszNames, + UINT cNames, + MEMBERID *pMemId) = 0; + + virtual HRESULT STDMETHODCALLTYPE Invoke( + PVOID pvInstance, + MEMBERID memid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentation( + MEMBERID memid, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDllEntry( + MEMBERID memid, + INVOKEKIND invKind, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo( + HREFTYPE hRefType, + ITypeInfo **ppTInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddressOfMember( + MEMBERID memid, + INVOKEKIND invKind, + PVOID *ppv) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IUnknown *pUnkOuter, + REFIID riid, + PVOID *ppvObj) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMops( + MEMBERID memid, + BSTR *pBstrMops) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContainingTypeLib( + ITypeLib **ppTLib, + UINT *pIndex) = 0; + + virtual void STDMETHODCALLTYPE ReleaseTypeAttr( + TYPEATTR *pTypeAttr) = 0; + + virtual void STDMETHODCALLTYPE ReleaseFuncDesc( + FUNCDESC *pFuncDesc) = 0; + + virtual void STDMETHODCALLTYPE ReleaseVarDesc( + VARDESC *pVarDesc) = 0; + +}; +#else +typedef struct ITypeInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeInfo* This); + + /*** ITypeInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeAttr)( + ITypeInfo* This, + TYPEATTR **ppTypeAttr); + + HRESULT (STDMETHODCALLTYPE *GetTypeComp)( + ITypeInfo* This, + ITypeComp **ppTComp); + + HRESULT (STDMETHODCALLTYPE *GetFuncDesc)( + ITypeInfo* This, + UINT index, + FUNCDESC **ppFuncDesc); + + HRESULT (STDMETHODCALLTYPE *GetVarDesc)( + ITypeInfo* This, + UINT index, + VARDESC **ppVarDesc); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + ITypeInfo* This, + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames); + + HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)( + ITypeInfo* This, + UINT index, + HREFTYPE *pRefType); + + HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)( + ITypeInfo* This, + UINT index, + INT *pImplTypeFlags); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITypeInfo* This, + LPOLESTR *rgszNames, + UINT cNames, + MEMBERID *pMemId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITypeInfo* This, + PVOID pvInstance, + MEMBERID memid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation)( + ITypeInfo* This, + MEMBERID memid, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); + + HRESULT (STDMETHODCALLTYPE *GetDllEntry)( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal); + + HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)( + ITypeInfo* This, + HREFTYPE hRefType, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *AddressOfMember)( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + PVOID *ppv); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + ITypeInfo* This, + IUnknown *pUnkOuter, + REFIID riid, + PVOID *ppvObj); + + HRESULT (STDMETHODCALLTYPE *GetMops)( + ITypeInfo* This, + MEMBERID memid, + BSTR *pBstrMops); + + HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)( + ITypeInfo* This, + ITypeLib **ppTLib, + UINT *pIndex); + + void (STDMETHODCALLTYPE *ReleaseTypeAttr)( + ITypeInfo* This, + TYPEATTR *pTypeAttr); + + void (STDMETHODCALLTYPE *ReleaseFuncDesc)( + ITypeInfo* This, + FUNCDESC *pFuncDesc); + + void (STDMETHODCALLTYPE *ReleaseVarDesc)( + ITypeInfo* This, + VARDESC *pVarDesc); + + END_INTERFACE +} ITypeInfoVtbl; +interface ITypeInfo { + CONST_VTBL ITypeInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeInfo_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeInfo methods ***/ +#define ITypeInfo_GetTypeAttr(This,ppTypeAttr) (This)->lpVtbl->GetTypeAttr(This,ppTypeAttr) +#define ITypeInfo_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) +#define ITypeInfo_GetFuncDesc(This,index,ppFuncDesc) (This)->lpVtbl->GetFuncDesc(This,index,ppFuncDesc) +#define ITypeInfo_GetVarDesc(This,index,ppVarDesc) (This)->lpVtbl->GetVarDesc(This,index,ppVarDesc) +#define ITypeInfo_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) (This)->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) +#define ITypeInfo_GetRefTypeOfImplType(This,index,pRefType) (This)->lpVtbl->GetRefTypeOfImplType(This,index,pRefType) +#define ITypeInfo_GetImplTypeFlags(This,index,pImplTypeFlags) (This)->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags) +#define ITypeInfo_GetIDsOfNames(This,rgszNames,cNames,pMemId) (This)->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId) +#define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITypeInfo_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) +#define ITypeInfo_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) (This)->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) +#define ITypeInfo_GetRefTypeInfo(This,hRefType,ppTInfo) (This)->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo) +#define ITypeInfo_AddressOfMember(This,memid,invKind,ppv) (This)->lpVtbl->AddressOfMember(This,memid,invKind,ppv) +#define ITypeInfo_CreateInstance(This,pUnkOuter,riid,ppvObj) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj) +#define ITypeInfo_GetMops(This,memid,pBstrMops) (This)->lpVtbl->GetMops(This,memid,pBstrMops) +#define ITypeInfo_GetContainingTypeLib(This,ppTLib,pIndex) (This)->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex) +#define ITypeInfo_ReleaseTypeAttr(This,pTypeAttr) (This)->lpVtbl->ReleaseTypeAttr(This,pTypeAttr) +#define ITypeInfo_ReleaseFuncDesc(This,pFuncDesc) (This)->lpVtbl->ReleaseFuncDesc(This,pFuncDesc) +#define ITypeInfo_ReleaseVarDesc(This,pVarDesc) (This)->lpVtbl->ReleaseVarDesc(This,pVarDesc) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy( + ITypeInfo* This, + LPTYPEATTR *ppTypeAttr, + CLEANLOCALSTORAGE *pDummy); +void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeComp_Proxy( + ITypeInfo* This, + ITypeComp **ppTComp); +void __RPC_STUB ITypeInfo_GetTypeComp_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy( + ITypeInfo* This, + UINT index, + LPFUNCDESC *ppFuncDesc, + CLEANLOCALSTORAGE *pDummy); +void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy( + ITypeInfo* This, + UINT index, + LPVARDESC *ppVarDesc, + CLEANLOCALSTORAGE *pDummy); +void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames); +void __RPC_STUB ITypeInfo_RemoteGetNames_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeOfImplType_Proxy( + ITypeInfo* This, + UINT index, + HREFTYPE *pRefType); +void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_GetImplTypeFlags_Proxy( + ITypeInfo* This, + UINT index, + INT *pImplTypeFlags); +void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalGetIDsOfNames_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalInvoke_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalInvoke_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy( + ITypeInfo* This, + MEMBERID memid, + DWORD refPtrFlags, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + DWORD refPtrFlags, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal); +void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeInfo_Proxy( + ITypeInfo* This, + HREFTYPE hRefType, + ITypeInfo **ppTInfo); +void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalAddressOfMember_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy( + ITypeInfo* This, + REFIID riid, + IUnknown **ppvObj); +void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_GetMops_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR *pBstrMops); +void __RPC_STUB ITypeInfo_GetMops_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy( + ITypeInfo* This, + ITypeLib **ppTLib, + UINT *pIndex); +void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseTypeAttr_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseFuncDesc_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseVarDesc_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy( + ITypeInfo* This, + TYPEATTR **ppTypeAttr); +HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub( + ITypeInfo* This, + LPTYPEATTR *ppTypeAttr, + CLEANLOCALSTORAGE *pDummy); +HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy( + ITypeInfo* This, + UINT index, + FUNCDESC **ppFuncDesc); +HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub( + ITypeInfo* This, + UINT index, + LPFUNCDESC *ppFuncDesc, + CLEANLOCALSTORAGE *pDummy); +HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy( + ITypeInfo* This, + UINT index, + VARDESC **ppVarDesc); +HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub( + ITypeInfo* This, + UINT index, + LPVARDESC *ppVarDesc, + CLEANLOCALSTORAGE *pDummy); +HRESULT CALLBACK ITypeInfo_GetNames_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames); +HRESULT __RPC_STUB ITypeInfo_GetNames_Stub( + ITypeInfo* This, + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames); +HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy( + ITypeInfo* This, + LPOLESTR *rgszNames, + UINT cNames, + MEMBERID *pMemId); +HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_Invoke_Proxy( + ITypeInfo* This, + PVOID pvInstance, + MEMBERID memid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); +HRESULT __RPC_STUB ITypeInfo_Invoke_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub( + ITypeInfo* This, + MEMBERID memid, + DWORD refPtrFlags, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal); +HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + DWORD refPtrFlags, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal); +HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + PVOID *ppv); +HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy( + ITypeInfo* This, + IUnknown *pUnkOuter, + REFIID riid, + PVOID *ppvObj); +HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub( + ITypeInfo* This, + REFIID riid, + IUnknown **ppvObj); +HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy( + ITypeInfo* This, + ITypeLib **ppTLib, + UINT *pIndex); +HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( + ITypeInfo* This, + ITypeLib **ppTLib, + UINT *pIndex); +void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy( + ITypeInfo* This, + TYPEATTR *pTypeAttr); +HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub( + ITypeInfo* This); +void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy( + ITypeInfo* This, + FUNCDESC *pFuncDesc); +HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub( + ITypeInfo* This); +void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy( + ITypeInfo* This, + VARDESC *pVarDesc); +HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub( + ITypeInfo* This); + +#endif /* __ITypeInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeInfo2 interface + */ +#ifndef __ITypeInfo2_INTERFACE_DEFINED__ +#define __ITypeInfo2_INTERFACE_DEFINED__ + +typedef ITypeInfo2 *LPTYPEINFO2; +DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeInfo2 : public ITypeInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetTypeKind( + TYPEKIND *pTypeKind) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( + ULONG *pTypeFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId( + MEMBERID memid, + INVOKEKIND invKind, + UINT *pFuncIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId( + MEMBERID memid, + UINT *pVarIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustData( + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFuncCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetParamCustData( + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVarCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentation2( + MEMBERID memid, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllCustData( + CUSTDATA *pCustData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData( + UINT index, + CUSTDATA *pCustData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData( + UINT indexFunc, + UINT indexParam, + CUSTDATA *pCustData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData( + UINT index, + CUSTDATA *pCustData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData( + UINT index, + CUSTDATA *pCustData) = 0; + +}; +#else +typedef struct ITypeInfo2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeInfo2* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeInfo2* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeInfo2* This); + + /*** ITypeInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeAttr)( + ITypeInfo2* This, + TYPEATTR **ppTypeAttr); + + HRESULT (STDMETHODCALLTYPE *GetTypeComp)( + ITypeInfo2* This, + ITypeComp **ppTComp); + + HRESULT (STDMETHODCALLTYPE *GetFuncDesc)( + ITypeInfo2* This, + UINT index, + FUNCDESC **ppFuncDesc); + + HRESULT (STDMETHODCALLTYPE *GetVarDesc)( + ITypeInfo2* This, + UINT index, + VARDESC **ppVarDesc); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + ITypeInfo2* This, + MEMBERID memid, + BSTR *rgBstrNames, + UINT cMaxNames, + UINT *pcNames); + + HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)( + ITypeInfo2* This, + UINT index, + HREFTYPE *pRefType); + + HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)( + ITypeInfo2* This, + UINT index, + INT *pImplTypeFlags); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITypeInfo2* This, + LPOLESTR *rgszNames, + UINT cNames, + MEMBERID *pMemId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITypeInfo2* This, + PVOID pvInstance, + MEMBERID memid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation)( + ITypeInfo2* This, + MEMBERID memid, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); + + HRESULT (STDMETHODCALLTYPE *GetDllEntry)( + ITypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind, + BSTR *pBstrDllName, + BSTR *pBstrName, + WORD *pwOrdinal); + + HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)( + ITypeInfo2* This, + HREFTYPE hRefType, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *AddressOfMember)( + ITypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind, + PVOID *ppv); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + ITypeInfo2* This, + IUnknown *pUnkOuter, + REFIID riid, + PVOID *ppvObj); + + HRESULT (STDMETHODCALLTYPE *GetMops)( + ITypeInfo2* This, + MEMBERID memid, + BSTR *pBstrMops); + + HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)( + ITypeInfo2* This, + ITypeLib **ppTLib, + UINT *pIndex); + + void (STDMETHODCALLTYPE *ReleaseTypeAttr)( + ITypeInfo2* This, + TYPEATTR *pTypeAttr); + + void (STDMETHODCALLTYPE *ReleaseFuncDesc)( + ITypeInfo2* This, + FUNCDESC *pFuncDesc); + + void (STDMETHODCALLTYPE *ReleaseVarDesc)( + ITypeInfo2* This, + VARDESC *pVarDesc); + + /*** ITypeInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeKind)( + ITypeInfo2* This, + TYPEKIND *pTypeKind); + + HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( + ITypeInfo2* This, + ULONG *pTypeFlags); + + HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)( + ITypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind, + UINT *pFuncIndex); + + HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)( + ITypeInfo2* This, + MEMBERID memid, + UINT *pVarIndex); + + HRESULT (STDMETHODCALLTYPE *GetCustData)( + ITypeInfo2* This, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetFuncCustData)( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetParamCustData)( + ITypeInfo2* This, + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetVarCustData)( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation2)( + ITypeInfo2* This, + MEMBERID memid, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); + + HRESULT (STDMETHODCALLTYPE *GetAllCustData)( + ITypeInfo2* This, + CUSTDATA *pCustData); + + HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); + + HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)( + ITypeInfo2* This, + UINT indexFunc, + UINT indexParam, + CUSTDATA *pCustData); + + HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); + + HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); + + END_INTERFACE +} ITypeInfo2Vtbl; +interface ITypeInfo2 { + CONST_VTBL ITypeInfo2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeInfo2_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeInfo methods ***/ +#define ITypeInfo2_GetTypeAttr(This,ppTypeAttr) (This)->lpVtbl->GetTypeAttr(This,ppTypeAttr) +#define ITypeInfo2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) +#define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc) (This)->lpVtbl->GetFuncDesc(This,index,ppFuncDesc) +#define ITypeInfo2_GetVarDesc(This,index,ppVarDesc) (This)->lpVtbl->GetVarDesc(This,index,ppVarDesc) +#define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) (This)->lpVtbl->GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) +#define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType) (This)->lpVtbl->GetRefTypeOfImplType(This,index,pRefType) +#define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags) (This)->lpVtbl->GetImplTypeFlags(This,index,pImplTypeFlags) +#define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId) (This)->lpVtbl->GetIDsOfNames(This,rgszNames,cNames,pMemId) +#define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) +#define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) (This)->lpVtbl->GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) +#define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo) (This)->lpVtbl->GetRefTypeInfo(This,hRefType,ppTInfo) +#define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv) (This)->lpVtbl->AddressOfMember(This,memid,invKind,ppv) +#define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObj) +#define ITypeInfo2_GetMops(This,memid,pBstrMops) (This)->lpVtbl->GetMops(This,memid,pBstrMops) +#define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex) (This)->lpVtbl->GetContainingTypeLib(This,ppTLib,pIndex) +#define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr) (This)->lpVtbl->ReleaseTypeAttr(This,pTypeAttr) +#define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc) (This)->lpVtbl->ReleaseFuncDesc(This,pFuncDesc) +#define ITypeInfo2_ReleaseVarDesc(This,pVarDesc) (This)->lpVtbl->ReleaseVarDesc(This,pVarDesc) +/*** ITypeInfo2 methods ***/ +#define ITypeInfo2_GetTypeKind(This,pTypeKind) (This)->lpVtbl->GetTypeKind(This,pTypeKind) +#define ITypeInfo2_GetTypeFlags(This,pTypeFlags) (This)->lpVtbl->GetTypeFlags(This,pTypeFlags) +#define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) (This)->lpVtbl->GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) +#define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex) (This)->lpVtbl->GetVarIndexOfMemId(This,memid,pVarIndex) +#define ITypeInfo2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal) +#define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetFuncCustData(This,index,guid,pVarVal) +#define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) +#define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetVarCustData(This,index,guid,pVarVal) +#define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->GetImplTypeCustData(This,index,guid,pVarVal) +#define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) +#define ITypeInfo2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData) +#define ITypeInfo2_GetAllFuncCustData(This,index,pCustData) (This)->lpVtbl->GetAllFuncCustData(This,index,pCustData) +#define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData) (This)->lpVtbl->GetAllParamCustData(This,indexFunc,indexParam,pCustData) +#define ITypeInfo2_GetAllVarCustData(This,index,pCustData) (This)->lpVtbl->GetAllVarCustData(This,index,pCustData) +#define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData) (This)->lpVtbl->GetAllImplTypeCustData(This,index,pCustData) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeKind_Proxy( + ITypeInfo2* This, + TYPEKIND *pTypeKind); +void __RPC_STUB ITypeInfo2_GetTypeKind_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeFlags_Proxy( + ITypeInfo2* This, + ULONG *pTypeFlags); +void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncIndexOfMemId_Proxy( + ITypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind, + UINT *pFuncIndex); +void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarIndexOfMemId_Proxy( + ITypeInfo2* This, + MEMBERID memid, + UINT *pVarIndex); +void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetCustData_Proxy( + ITypeInfo2* This, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeInfo2_GetCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncCustData_Proxy( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetParamCustData_Proxy( + ITypeInfo2* This, + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeInfo2_GetParamCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarCustData_Proxy( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeInfo2_GetVarCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetImplTypeCustData_Proxy( + ITypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy( + ITypeInfo2* This, + MEMBERID memid, + LCID lcid, + DWORD refPtrFlags, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); +void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllCustData_Proxy( + ITypeInfo2* This, + CUSTDATA *pCustData); +void __RPC_STUB ITypeInfo2_GetAllCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllFuncCustData_Proxy( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); +void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllParamCustData_Proxy( + ITypeInfo2* This, + UINT indexFunc, + UINT indexParam, + CUSTDATA *pCustData); +void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllVarCustData_Proxy( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); +void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllImplTypeCustData_Proxy( + ITypeInfo2* This, + UINT index, + CUSTDATA *pCustData); +void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy( + ITypeInfo2* This, + MEMBERID memid, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); +HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub( + ITypeInfo2* This, + MEMBERID memid, + LCID lcid, + DWORD refPtrFlags, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); + +#endif /* __ITypeInfo2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeLib interface + */ +#ifndef __ITypeLib_INTERFACE_DEFINED__ +#define __ITypeLib_INTERFACE_DEFINED__ + +typedef ITypeLib *LPTYPELIB; +typedef enum tagSYSKIND { + SYS_WIN16 = 0, + SYS_WIN32 = 1, + SYS_MAC = 2, + SYS_WIN64 = 3 +} SYSKIND; +typedef enum tagLIBFLAGS { + LIBFLAG_FRESTRICTED = 0x1, + LIBFLAG_FCONTROL = 0x2, + LIBFLAG_FHIDDEN = 0x4, + LIBFLAG_FHASDISKIMAGE = 0x8 +} LIBFLAGS; +typedef struct tagTLIBATTR { + GUID guid; + LCID lcid; + SYSKIND syskind; + WORD wMajorVerNum; + WORD wMinorVerNum; + WORD wLibFlags; +} TLIBATTR; +typedef struct tagTLIBATTR *LPTLIBATTR; +DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeLib : public IUnknown +{ + virtual UINT STDMETHODCALLTYPE GetTypeInfoCount( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( + UINT index, + ITypeInfo **ppTInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType( + UINT index, + TYPEKIND *pTKind) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid( + REFGUID guid, + ITypeInfo **ppTinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLibAttr( + TLIBATTR **ppTLibAttr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeComp( + ITypeComp **ppTComp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentation( + INT index, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsName( + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindName( + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound) = 0; + + virtual void STDMETHODCALLTYPE ReleaseTLibAttr( + TLIBATTR *pTLibAttr) = 0; + +}; +#else +typedef struct ITypeLibVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeLib* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeLib* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeLib* This); + + /*** ITypeLib methods ***/ + UINT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITypeLib* This); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITypeLib* This, + UINT index, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)( + ITypeLib* This, + UINT index, + TYPEKIND *pTKind); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)( + ITypeLib* This, + REFGUID guid, + ITypeInfo **ppTinfo); + + HRESULT (STDMETHODCALLTYPE *GetLibAttr)( + ITypeLib* This, + TLIBATTR **ppTLibAttr); + + HRESULT (STDMETHODCALLTYPE *GetTypeComp)( + ITypeLib* This, + ITypeComp **ppTComp); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation)( + ITypeLib* This, + INT index, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); + + HRESULT (STDMETHODCALLTYPE *IsName)( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName); + + HRESULT (STDMETHODCALLTYPE *FindName)( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound); + + void (STDMETHODCALLTYPE *ReleaseTLibAttr)( + ITypeLib* This, + TLIBATTR *pTLibAttr); + + END_INTERFACE +} ITypeLibVtbl; +interface ITypeLib { + CONST_VTBL ITypeLibVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeLib_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeLib_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeLib_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeLib methods ***/ +#define ITypeLib_GetTypeInfoCount(This) (This)->lpVtbl->GetTypeInfoCount(This) +#define ITypeLib_GetTypeInfo(This,index,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,index,ppTInfo) +#define ITypeLib_GetTypeInfoType(This,index,pTKind) (This)->lpVtbl->GetTypeInfoType(This,index,pTKind) +#define ITypeLib_GetTypeInfoOfGuid(This,guid,ppTinfo) (This)->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo) +#define ITypeLib_GetLibAttr(This,ppTLibAttr) (This)->lpVtbl->GetLibAttr(This,ppTLibAttr) +#define ITypeLib_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) +#define ITypeLib_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) +#define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName) (This)->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName) +#define ITypeLib_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) (This)->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) +#define ITypeLib_ReleaseTLibAttr(This,pTLibAttr) (This)->lpVtbl->ReleaseTLibAttr(This,pTLibAttr) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy( + ITypeLib* This, + UINT *pcTInfo); +void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfo_Proxy( + ITypeLib* This, + UINT index, + ITypeInfo **ppTInfo); +void __RPC_STUB ITypeLib_GetTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoType_Proxy( + ITypeLib* This, + UINT index, + TYPEKIND *pTKind); +void __RPC_STUB ITypeLib_GetTypeInfoType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoOfGuid_Proxy( + ITypeLib* This, + REFGUID guid, + ITypeInfo **ppTinfo); +void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy( + ITypeLib* This, + LPTLIBATTR *ppTLibAttr, + CLEANLOCALSTORAGE *pDummy); +void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeComp_Proxy( + ITypeLib* This, + ITypeComp **ppTComp); +void __RPC_STUB ITypeLib_GetTypeComp_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy( + ITypeLib* This, + INT index, + DWORD refPtrFlags, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName, + BSTR *pBstrLibName); +void __RPC_STUB ITypeLib_RemoteIsName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound, + BSTR *pBstrLibName); +void __RPC_STUB ITypeLib_RemoteFindName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib_LocalReleaseTLibAttr_Proxy( + ITypeLib* This); +void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy( + ITypeLib* This); +HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub( + ITypeLib* This, + UINT *pcTInfo); +HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy( + ITypeLib* This, + TLIBATTR **ppTLibAttr); +HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( + ITypeLib* This, + LPTLIBATTR *ppTLibAttr, + CLEANLOCALSTORAGE *pDummy); +HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy( + ITypeLib* This, + INT index, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub( + ITypeLib* This, + INT index, + DWORD refPtrFlags, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); +HRESULT CALLBACK ITypeLib_IsName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName); +HRESULT __RPC_STUB ITypeLib_IsName_Stub( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName, + BSTR *pBstrLibName); +HRESULT CALLBACK ITypeLib_FindName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound); +HRESULT __RPC_STUB ITypeLib_FindName_Stub( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound, + BSTR *pBstrLibName); +void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy( + ITypeLib* This, + TLIBATTR *pTLibAttr); +HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub( + ITypeLib* This); + +#endif /* __ITypeLib_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeLib2 interface + */ +#ifndef __ITypeLib2_INTERFACE_DEFINED__ +#define __ITypeLib2_INTERFACE_DEFINED__ + +typedef ITypeLib2 *LPTYPELIB2; +DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeLib2 : public ITypeLib +{ + virtual HRESULT STDMETHODCALLTYPE GetCustData( + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLibStatistics( + ULONG *pcUniqueNames, + ULONG *pcchUniqueNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentation2( + INT index, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllCustData( + CUSTDATA *pCustData) = 0; + +}; +#else +typedef struct ITypeLib2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeLib2* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeLib2* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeLib2* This); + + /*** ITypeLib methods ***/ + UINT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITypeLib2* This); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITypeLib2* This, + UINT index, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)( + ITypeLib2* This, + UINT index, + TYPEKIND *pTKind); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)( + ITypeLib2* This, + REFGUID guid, + ITypeInfo **ppTinfo); + + HRESULT (STDMETHODCALLTYPE *GetLibAttr)( + ITypeLib2* This, + TLIBATTR **ppTLibAttr); + + HRESULT (STDMETHODCALLTYPE *GetTypeComp)( + ITypeLib2* This, + ITypeComp **ppTComp); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation)( + ITypeLib2* This, + INT index, + BSTR *pBstrName, + BSTR *pBstrDocString, + DWORD *pdwHelpContext, + BSTR *pBstrHelpFile); + + HRESULT (STDMETHODCALLTYPE *IsName)( + ITypeLib2* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL *pfName); + + HRESULT (STDMETHODCALLTYPE *FindName)( + ITypeLib2* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo **ppTInfo, + MEMBERID *rgMemId, + USHORT *pcFound); + + void (STDMETHODCALLTYPE *ReleaseTLibAttr)( + ITypeLib2* This, + TLIBATTR *pTLibAttr); + + /*** ITypeLib2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCustData)( + ITypeLib2* This, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *GetLibStatistics)( + ITypeLib2* This, + ULONG *pcUniqueNames, + ULONG *pcchUniqueNames); + + HRESULT (STDMETHODCALLTYPE *GetDocumentation2)( + ITypeLib2* This, + INT index, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); + + HRESULT (STDMETHODCALLTYPE *GetAllCustData)( + ITypeLib2* This, + CUSTDATA *pCustData); + + END_INTERFACE +} ITypeLib2Vtbl; +interface ITypeLib2 { + CONST_VTBL ITypeLib2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeLib2_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeLib methods ***/ +#define ITypeLib2_GetTypeInfoCount(This) (This)->lpVtbl->GetTypeInfoCount(This) +#define ITypeLib2_GetTypeInfo(This,index,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,index,ppTInfo) +#define ITypeLib2_GetTypeInfoType(This,index,pTKind) (This)->lpVtbl->GetTypeInfoType(This,index,pTKind) +#define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo) (This)->lpVtbl->GetTypeInfoOfGuid(This,guid,ppTinfo) +#define ITypeLib2_GetLibAttr(This,ppTLibAttr) (This)->lpVtbl->GetLibAttr(This,ppTLibAttr) +#define ITypeLib2_GetTypeComp(This,ppTComp) (This)->lpVtbl->GetTypeComp(This,ppTComp) +#define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) (This)->lpVtbl->GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) +#define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName) (This)->lpVtbl->IsName(This,szNameBuf,lHashVal,pfName) +#define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) (This)->lpVtbl->FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) +#define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr) (This)->lpVtbl->ReleaseTLibAttr(This,pTLibAttr) +/*** ITypeLib2 methods ***/ +#define ITypeLib2_GetCustData(This,guid,pVarVal) (This)->lpVtbl->GetCustData(This,guid,pVarVal) +#define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) (This)->lpVtbl->GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) +#define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) (This)->lpVtbl->GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) +#define ITypeLib2_GetAllCustData(This,pCustData) (This)->lpVtbl->GetAllCustData(This,pCustData) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeLib2_GetCustData_Proxy( + ITypeLib2* This, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ITypeLib2_GetCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy( + ITypeLib2* This, + ULONG *pcUniqueNames, + ULONG *pcchUniqueNames); +void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy( + ITypeLib2* This, + INT index, + LCID lcid, + DWORD refPtrFlags, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); +void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeLib2_GetAllCustData_Proxy( + ITypeLib2* This, + CUSTDATA *pCustData); +void __RPC_STUB ITypeLib2_GetAllCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy( + ITypeLib2* This, + ULONG *pcUniqueNames, + ULONG *pcchUniqueNames); +HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub( + ITypeLib2* This, + ULONG *pcUniqueNames, + ULONG *pcchUniqueNames); +HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy( + ITypeLib2* This, + INT index, + LCID lcid, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); +HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub( + ITypeLib2* This, + INT index, + LCID lcid, + DWORD refPtrFlags, + BSTR *pbstrHelpString, + DWORD *pdwHelpStringContext, + BSTR *pbstrHelpStringDll); + +#endif /* __ITypeLib2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeChangeEvents interface + */ +#ifndef __ITypeChangeEvents_INTERFACE_DEFINED__ +#define __ITypeChangeEvents_INTERFACE_DEFINED__ + +typedef ITypeChangeEvents *LPTYPECHANGEEVENTS; +typedef enum tagCHANGEKIND { + CHANGEKIND_ADDMEMBER = 0, + CHANGEKIND_DELETEMEMBER = 1, + CHANGEKIND_SETNAMES = 2, + CHANGEKIND_SETDOCUMENTATION = 3, + CHANGEKIND_GENERAL = 4, + CHANGEKIND_INVALIDATE = 5, + CHANGEKIND_CHANGEFAILED = 6, + CHANGEKIND_MAX = 7 +} CHANGEKIND; +DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeChangeEvents : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RequestTypeChange( + CHANGEKIND changeKind, + ITypeInfo *pTInfoBefore, + LPOLESTR pStrName, + INT *pfCancel) = 0; + + virtual HRESULT STDMETHODCALLTYPE AfterTypeChange( + CHANGEKIND changeKind, + ITypeInfo *pTInfoAfter, + LPOLESTR pStrName) = 0; + +}; +#else +typedef struct ITypeChangeEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeChangeEvents* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeChangeEvents* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeChangeEvents* This); + + /*** ITypeChangeEvents methods ***/ + HRESULT (STDMETHODCALLTYPE *RequestTypeChange)( + ITypeChangeEvents* This, + CHANGEKIND changeKind, + ITypeInfo *pTInfoBefore, + LPOLESTR pStrName, + INT *pfCancel); + + HRESULT (STDMETHODCALLTYPE *AfterTypeChange)( + ITypeChangeEvents* This, + CHANGEKIND changeKind, + ITypeInfo *pTInfoAfter, + LPOLESTR pStrName); + + END_INTERFACE +} ITypeChangeEventsVtbl; +interface ITypeChangeEvents { + CONST_VTBL ITypeChangeEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeChangeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeChangeEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeChangeEvents_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeChangeEvents methods ***/ +#define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) (This)->lpVtbl->RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) +#define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) (This)->lpVtbl->AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeChangeEvents_RequestTypeChange_Proxy( + ITypeChangeEvents* This, + CHANGEKIND changeKind, + ITypeInfo *pTInfoBefore, + LPOLESTR pStrName, + INT *pfCancel); +void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeChangeEvents_AfterTypeChange_Proxy( + ITypeChangeEvents* This, + CHANGEKIND changeKind, + ITypeInfo *pTInfoAfter, + LPOLESTR pStrName); +void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IErrorInfo interface + */ +#ifndef __IErrorInfo_INTERFACE_DEFINED__ +#define __IErrorInfo_INTERFACE_DEFINED__ + +typedef IErrorInfo *LPERRORINFO; +DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IErrorInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetGUID( + GUID *pGUID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSource( + BSTR *pBstrSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDescription( + BSTR *pBstrDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHelpFile( + BSTR *pBstrHelpFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHelpContext( + DWORD *pdwHelpContext) = 0; + +}; +#else +typedef struct IErrorInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IErrorInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IErrorInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IErrorInfo* This); + + /*** IErrorInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGUID)( + IErrorInfo* This, + GUID *pGUID); + + HRESULT (STDMETHODCALLTYPE *GetSource)( + IErrorInfo* This, + BSTR *pBstrSource); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IErrorInfo* This, + BSTR *pBstrDescription); + + HRESULT (STDMETHODCALLTYPE *GetHelpFile)( + IErrorInfo* This, + BSTR *pBstrHelpFile); + + HRESULT (STDMETHODCALLTYPE *GetHelpContext)( + IErrorInfo* This, + DWORD *pdwHelpContext); + + END_INTERFACE +} IErrorInfoVtbl; +interface IErrorInfo { + CONST_VTBL IErrorInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IErrorInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IErrorInfo methods ***/ +#define IErrorInfo_GetGUID(This,pGUID) (This)->lpVtbl->GetGUID(This,pGUID) +#define IErrorInfo_GetSource(This,pBstrSource) (This)->lpVtbl->GetSource(This,pBstrSource) +#define IErrorInfo_GetDescription(This,pBstrDescription) (This)->lpVtbl->GetDescription(This,pBstrDescription) +#define IErrorInfo_GetHelpFile(This,pBstrHelpFile) (This)->lpVtbl->GetHelpFile(This,pBstrHelpFile) +#define IErrorInfo_GetHelpContext(This,pdwHelpContext) (This)->lpVtbl->GetHelpContext(This,pdwHelpContext) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IErrorInfo_GetGUID_Proxy( + IErrorInfo* This, + GUID *pGUID); +void __RPC_STUB IErrorInfo_GetGUID_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IErrorInfo_GetSource_Proxy( + IErrorInfo* This, + BSTR *pBstrSource); +void __RPC_STUB IErrorInfo_GetSource_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IErrorInfo_GetDescription_Proxy( + IErrorInfo* This, + BSTR *pBstrDescription); +void __RPC_STUB IErrorInfo_GetDescription_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpFile_Proxy( + IErrorInfo* This, + BSTR *pBstrHelpFile); +void __RPC_STUB IErrorInfo_GetHelpFile_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpContext_Proxy( + IErrorInfo* This, + DWORD *pdwHelpContext); +void __RPC_STUB IErrorInfo_GetHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IErrorInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICreateErrorInfo interface + */ +#ifndef __ICreateErrorInfo_INTERFACE_DEFINED__ +#define __ICreateErrorInfo_INTERFACE_DEFINED__ + +typedef ICreateErrorInfo *LPCREATEERRORINFO; +DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ICreateErrorInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetGUID( + REFGUID rguid) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSource( + LPOLESTR szSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDescription( + LPOLESTR szDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpFile( + LPOLESTR szHelpFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpContext( + DWORD dwHelpContext) = 0; + +}; +#else +typedef struct ICreateErrorInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICreateErrorInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICreateErrorInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICreateErrorInfo* This); + + /*** ICreateErrorInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *SetGUID)( + ICreateErrorInfo* This, + REFGUID rguid); + + HRESULT (STDMETHODCALLTYPE *SetSource)( + ICreateErrorInfo* This, + LPOLESTR szSource); + + HRESULT (STDMETHODCALLTYPE *SetDescription)( + ICreateErrorInfo* This, + LPOLESTR szDescription); + + HRESULT (STDMETHODCALLTYPE *SetHelpFile)( + ICreateErrorInfo* This, + LPOLESTR szHelpFile); + + HRESULT (STDMETHODCALLTYPE *SetHelpContext)( + ICreateErrorInfo* This, + DWORD dwHelpContext); + + END_INTERFACE +} ICreateErrorInfoVtbl; +interface ICreateErrorInfo { + CONST_VTBL ICreateErrorInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ICreateErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICreateErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICreateErrorInfo_Release(This) (This)->lpVtbl->Release(This) +/*** ICreateErrorInfo methods ***/ +#define ICreateErrorInfo_SetGUID(This,rguid) (This)->lpVtbl->SetGUID(This,rguid) +#define ICreateErrorInfo_SetSource(This,szSource) (This)->lpVtbl->SetSource(This,szSource) +#define ICreateErrorInfo_SetDescription(This,szDescription) (This)->lpVtbl->SetDescription(This,szDescription) +#define ICreateErrorInfo_SetHelpFile(This,szHelpFile) (This)->lpVtbl->SetHelpFile(This,szHelpFile) +#define ICreateErrorInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetGUID_Proxy( + ICreateErrorInfo* This, + REFGUID rguid); +void __RPC_STUB ICreateErrorInfo_SetGUID_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetSource_Proxy( + ICreateErrorInfo* This, + LPOLESTR szSource); +void __RPC_STUB ICreateErrorInfo_SetSource_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetDescription_Proxy( + ICreateErrorInfo* This, + LPOLESTR szDescription); +void __RPC_STUB ICreateErrorInfo_SetDescription_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpFile_Proxy( + ICreateErrorInfo* This, + LPOLESTR szHelpFile); +void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpContext_Proxy( + ICreateErrorInfo* This, + DWORD dwHelpContext); +void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISupportErrorInfo interface + */ +#ifndef __ISupportErrorInfo_INTERFACE_DEFINED__ +#define __ISupportErrorInfo_INTERFACE_DEFINED__ + +typedef ISupportErrorInfo *LPSUPPORTERRORINFO; +DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ISupportErrorInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( + REFIID riid) = 0; + +}; +#else +typedef struct ISupportErrorInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISupportErrorInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISupportErrorInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISupportErrorInfo* This); + + /*** ISupportErrorInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)( + ISupportErrorInfo* This, + REFIID riid); + + END_INTERFACE +} ISupportErrorInfoVtbl; +interface ISupportErrorInfo { + CONST_VTBL ISupportErrorInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ISupportErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISupportErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISupportErrorInfo_Release(This) (This)->lpVtbl->Release(This) +/*** ISupportErrorInfo methods ***/ +#define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid) (This)->lpVtbl->InterfaceSupportsErrorInfo(This,riid) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( + ISupportErrorInfo* This, + REFIID riid); +void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeFactory interface + */ +#ifndef __ITypeFactory_INTERFACE_DEFINED__ +#define __ITypeFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo( + ITypeInfo *pTypeInfo, + REFIID riid, + IUnknown **ppv) = 0; + +}; +#else +typedef struct ITypeFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeFactory* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeFactory* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeFactory* This); + + /*** ITypeFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)( + ITypeFactory* This, + ITypeInfo *pTypeInfo, + REFIID riid, + IUnknown **ppv); + + END_INTERFACE +} ITypeFactoryVtbl; +interface ITypeFactory { + CONST_VTBL ITypeFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeFactory_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeFactory methods ***/ +#define ITypeFactory_CreateFromTypeInfo(This,pTypeInfo,riid,ppv) (This)->lpVtbl->CreateFromTypeInfo(This,pTypeInfo,riid,ppv) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeFactory_CreateFromTypeInfo_Proxy( + ITypeFactory* This, + ITypeInfo *pTypeInfo, + REFIID riid, + IUnknown **ppv); +void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ITypeFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITypeMarshal interface + */ +#ifndef __ITypeMarshal_INTERFACE_DEFINED__ +#define __ITypeMarshal_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ITypeMarshal : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Size( + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG *pSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE Marshal( + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbWritten) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unmarshal( + PVOID pvType, + DWORD dwFlags, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbRead) = 0; + + virtual HRESULT STDMETHODCALLTYPE Free( + PVOID pvType) = 0; + +}; +#else +typedef struct ITypeMarshalVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeMarshal* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeMarshal* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeMarshal* This); + + /*** ITypeMarshal methods ***/ + HRESULT (STDMETHODCALLTYPE *Size)( + ITypeMarshal* This, + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG *pSize); + + HRESULT (STDMETHODCALLTYPE *Marshal)( + ITypeMarshal* This, + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbWritten); + + HRESULT (STDMETHODCALLTYPE *Unmarshal)( + ITypeMarshal* This, + PVOID pvType, + DWORD dwFlags, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbRead); + + HRESULT (STDMETHODCALLTYPE *Free)( + ITypeMarshal* This, + PVOID pvType); + + END_INTERFACE +} ITypeMarshalVtbl; +interface ITypeMarshal { + CONST_VTBL ITypeMarshalVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ITypeMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeMarshal_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeMarshal methods ***/ +#define ITypeMarshal_Size(This,pvType,dwDestContext,pvDestContext,pSize) (This)->lpVtbl->Size(This,pvType,dwDestContext,pvDestContext,pSize) +#define ITypeMarshal_Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) (This)->lpVtbl->Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) +#define ITypeMarshal_Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) (This)->lpVtbl->Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) +#define ITypeMarshal_Free(This,pvType) (This)->lpVtbl->Free(This,pvType) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ITypeMarshal_Size_Proxy( + ITypeMarshal* This, + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG *pSize); +void __RPC_STUB ITypeMarshal_Size_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeMarshal_Marshal_Proxy( + ITypeMarshal* This, + PVOID pvType, + DWORD dwDestContext, + PVOID pvDestContext, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbWritten); +void __RPC_STUB ITypeMarshal_Marshal_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeMarshal_Unmarshal_Proxy( + ITypeMarshal* This, + PVOID pvType, + DWORD dwFlags, + ULONG cbBufferLength, + BYTE *pBuffer, + ULONG *pcbRead); +void __RPC_STUB ITypeMarshal_Unmarshal_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ITypeMarshal_Free_Proxy( + ITypeMarshal* This, + PVOID pvType); +void __RPC_STUB ITypeMarshal_Free_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ITypeMarshal_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRecordInfo interface + */ +#ifndef __IRecordInfo_INTERFACE_DEFINED__ +#define __IRecordInfo_INTERFACE_DEFINED__ + +typedef IRecordInfo *LPRECORDINFO; +DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IRecordInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RecordInit( + PVOID pvNew) = 0; + + virtual HRESULT STDMETHODCALLTYPE RecordClear( + PVOID pvExisting) = 0; + + virtual HRESULT STDMETHODCALLTYPE RecordCopy( + PVOID pvExisting, + PVOID pvNew) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGuid( + GUID *pguid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetName( + BSTR *pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSize( + ULONG *pcbSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( + ITypeInfo **ppTypeInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetField( + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy( + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField, + PVOID *ppvDataCArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutField( + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy( + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFieldNames( + ULONG *pcNames, + BSTR *rgBstrNames) = 0; + + virtual BOOL STDMETHODCALLTYPE IsMatchingType( + IRecordInfo *pRecordInfo) = 0; + + virtual PVOID STDMETHODCALLTYPE RecordCreate( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy( + PVOID pvSource, + PVOID *ppvDest) = 0; + + virtual HRESULT STDMETHODCALLTYPE RecordDestroy( + PVOID pvRecord) = 0; + +}; +#else +typedef struct IRecordInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRecordInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRecordInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRecordInfo* This); + + /*** IRecordInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *RecordInit)( + IRecordInfo* This, + PVOID pvNew); + + HRESULT (STDMETHODCALLTYPE *RecordClear)( + IRecordInfo* This, + PVOID pvExisting); + + HRESULT (STDMETHODCALLTYPE *RecordCopy)( + IRecordInfo* This, + PVOID pvExisting, + PVOID pvNew); + + HRESULT (STDMETHODCALLTYPE *GetGuid)( + IRecordInfo* This, + GUID *pguid); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IRecordInfo* This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *GetSize)( + IRecordInfo* This, + ULONG *pcbSize); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRecordInfo* This, + ITypeInfo **ppTypeInfo); + + HRESULT (STDMETHODCALLTYPE *GetField)( + IRecordInfo* This, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); + + HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)( + IRecordInfo* This, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField, + PVOID *ppvDataCArray); + + HRESULT (STDMETHODCALLTYPE *PutField)( + IRecordInfo* This, + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); + + HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)( + IRecordInfo* This, + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); + + HRESULT (STDMETHODCALLTYPE *GetFieldNames)( + IRecordInfo* This, + ULONG *pcNames, + BSTR *rgBstrNames); + + BOOL (STDMETHODCALLTYPE *IsMatchingType)( + IRecordInfo* This, + IRecordInfo *pRecordInfo); + + PVOID (STDMETHODCALLTYPE *RecordCreate)( + IRecordInfo* This); + + HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)( + IRecordInfo* This, + PVOID pvSource, + PVOID *ppvDest); + + HRESULT (STDMETHODCALLTYPE *RecordDestroy)( + IRecordInfo* This, + PVOID pvRecord); + + END_INTERFACE +} IRecordInfoVtbl; +interface IRecordInfo { + CONST_VTBL IRecordInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IRecordInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRecordInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRecordInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IRecordInfo methods ***/ +#define IRecordInfo_RecordInit(This,pvNew) (This)->lpVtbl->RecordInit(This,pvNew) +#define IRecordInfo_RecordClear(This,pvExisting) (This)->lpVtbl->RecordClear(This,pvExisting) +#define IRecordInfo_RecordCopy(This,pvExisting,pvNew) (This)->lpVtbl->RecordCopy(This,pvExisting,pvNew) +#define IRecordInfo_GetGuid(This,pguid) (This)->lpVtbl->GetGuid(This,pguid) +#define IRecordInfo_GetName(This,pbstrName) (This)->lpVtbl->GetName(This,pbstrName) +#define IRecordInfo_GetSize(This,pcbSize) (This)->lpVtbl->GetSize(This,pcbSize) +#define IRecordInfo_GetTypeInfo(This,ppTypeInfo) (This)->lpVtbl->GetTypeInfo(This,ppTypeInfo) +#define IRecordInfo_GetField(This,pvData,szFieldName,pvarField) (This)->lpVtbl->GetField(This,pvData,szFieldName,pvarField) +#define IRecordInfo_GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) (This)->lpVtbl->GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) +#define IRecordInfo_PutField(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutField(This,wFlags,pvData,szFieldName,pvarField) +#define IRecordInfo_PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) (This)->lpVtbl->PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) +#define IRecordInfo_GetFieldNames(This,pcNames,rgBstrNames) (This)->lpVtbl->GetFieldNames(This,pcNames,rgBstrNames) +#define IRecordInfo_IsMatchingType(This,pRecordInfo) (This)->lpVtbl->IsMatchingType(This,pRecordInfo) +#define IRecordInfo_RecordCreate(This) (This)->lpVtbl->RecordCreate(This) +#define IRecordInfo_RecordCreateCopy(This,pvSource,ppvDest) (This)->lpVtbl->RecordCreateCopy(This,pvSource,ppvDest) +#define IRecordInfo_RecordDestroy(This,pvRecord) (This)->lpVtbl->RecordDestroy(This,pvRecord) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IRecordInfo_RecordInit_Proxy( + IRecordInfo* This, + PVOID pvNew); +void __RPC_STUB IRecordInfo_RecordInit_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_RecordClear_Proxy( + IRecordInfo* This, + PVOID pvExisting); +void __RPC_STUB IRecordInfo_RecordClear_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCopy_Proxy( + IRecordInfo* This, + PVOID pvExisting, + PVOID pvNew); +void __RPC_STUB IRecordInfo_RecordCopy_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetGuid_Proxy( + IRecordInfo* This, + GUID *pguid); +void __RPC_STUB IRecordInfo_GetGuid_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetName_Proxy( + IRecordInfo* This, + BSTR *pbstrName); +void __RPC_STUB IRecordInfo_GetName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetSize_Proxy( + IRecordInfo* This, + ULONG *pcbSize); +void __RPC_STUB IRecordInfo_GetSize_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetTypeInfo_Proxy( + IRecordInfo* This, + ITypeInfo **ppTypeInfo); +void __RPC_STUB IRecordInfo_GetTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetField_Proxy( + IRecordInfo* This, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); +void __RPC_STUB IRecordInfo_GetField_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNoCopy_Proxy( + IRecordInfo* This, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField, + PVOID *ppvDataCArray); +void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_PutField_Proxy( + IRecordInfo* This, + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); +void __RPC_STUB IRecordInfo_PutField_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_PutFieldNoCopy_Proxy( + IRecordInfo* This, + ULONG wFlags, + PVOID pvData, + LPCOLESTR szFieldName, + VARIANT *pvarField); +void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNames_Proxy( + IRecordInfo* This, + ULONG *pcNames, + BSTR *rgBstrNames); +void __RPC_STUB IRecordInfo_GetFieldNames_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +BOOL STDMETHODCALLTYPE IRecordInfo_IsMatchingType_Proxy( + IRecordInfo* This, + IRecordInfo *pRecordInfo); +void __RPC_STUB IRecordInfo_IsMatchingType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +PVOID STDMETHODCALLTYPE IRecordInfo_RecordCreate_Proxy( + IRecordInfo* This); +void __RPC_STUB IRecordInfo_RecordCreate_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCreateCopy_Proxy( + IRecordInfo* This, + PVOID pvSource, + PVOID *ppvDest); +void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IRecordInfo_RecordDestroy_Proxy( + IRecordInfo* This, + PVOID pvRecord); +void __RPC_STUB IRecordInfo_RecordDestroy_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IRecordInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICreateTypeInfo interface + */ +#ifndef __ICreateTypeInfo_INTERFACE_DEFINED__ +#define __ICreateTypeInfo_INTERFACE_DEFINED__ + +typedef ICreateTypeInfo *LPCREATETYPEINFO; +DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ICreateTypeInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetGuid( + REFGUID guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTypeFlags( + UINT uTypeFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDocString( + LPOLESTR pStrDoc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpContext( + DWORD dwHelpContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVersion( + WORD wMajorVerNum, + WORD wMinorVerNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo( + ITypeInfo *pTInfo, + HREFTYPE *phRefType) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddFuncDesc( + UINT index, + FUNCDESC *pFuncDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddImplType( + UINT index, + HREFTYPE hRefType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags( + UINT index, + INT implTypeFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAlignment( + WORD cbAlignment) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSchema( + LPOLESTR pStrSchema) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddVarDesc( + UINT index, + VARDESC *pVarDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames( + UINT index, + LPOLESTR *rgszNames, + UINT cNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarName( + UINT index, + LPOLESTR szName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias( + TYPEDESC *pTDescAlias) = 0; + + virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry( + UINT index, + LPOLESTR szDllName, + LPOLESTR szProcName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFuncDocString( + UINT index, + LPOLESTR szDocString) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarDocString( + UINT index, + LPOLESTR szDocString) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext( + UINT index, + DWORD dwHelpContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext( + UINT index, + DWORD dwHelpContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMops( + UINT index, + BSTR bstrMops) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc( + IDLDESC *pIdlDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE LayOut( + ) = 0; + +}; +#else +typedef struct ICreateTypeInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICreateTypeInfo* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICreateTypeInfo* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICreateTypeInfo* This); + + /*** ICreateTypeInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *SetGuid)( + ICreateTypeInfo* This, + REFGUID guid); + + HRESULT (STDMETHODCALLTYPE *SetTypeFlags)( + ICreateTypeInfo* This, + UINT uTypeFlags); + + HRESULT (STDMETHODCALLTYPE *SetDocString)( + ICreateTypeInfo* This, + LPOLESTR pStrDoc); + + HRESULT (STDMETHODCALLTYPE *SetHelpContext)( + ICreateTypeInfo* This, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetVersion)( + ICreateTypeInfo* This, + WORD wMajorVerNum, + WORD wMinorVerNum); + + HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)( + ICreateTypeInfo* This, + ITypeInfo *pTInfo, + HREFTYPE *phRefType); + + HRESULT (STDMETHODCALLTYPE *AddFuncDesc)( + ICreateTypeInfo* This, + UINT index, + FUNCDESC *pFuncDesc); + + HRESULT (STDMETHODCALLTYPE *AddImplType)( + ICreateTypeInfo* This, + UINT index, + HREFTYPE hRefType); + + HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)( + ICreateTypeInfo* This, + UINT index, + INT implTypeFlags); + + HRESULT (STDMETHODCALLTYPE *SetAlignment)( + ICreateTypeInfo* This, + WORD cbAlignment); + + HRESULT (STDMETHODCALLTYPE *SetSchema)( + ICreateTypeInfo* This, + LPOLESTR pStrSchema); + + HRESULT (STDMETHODCALLTYPE *AddVarDesc)( + ICreateTypeInfo* This, + UINT index, + VARDESC *pVarDesc); + + HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)( + ICreateTypeInfo* This, + UINT index, + LPOLESTR *rgszNames, + UINT cNames); + + HRESULT (STDMETHODCALLTYPE *SetVarName)( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szName); + + HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)( + ICreateTypeInfo* This, + TYPEDESC *pTDescAlias); + + HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDllName, + LPOLESTR szProcName); + + HRESULT (STDMETHODCALLTYPE *SetFuncDocString)( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDocString); + + HRESULT (STDMETHODCALLTYPE *SetVarDocString)( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDocString); + + HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)( + ICreateTypeInfo* This, + UINT index, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)( + ICreateTypeInfo* This, + UINT index, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetMops)( + ICreateTypeInfo* This, + UINT index, + BSTR bstrMops); + + HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)( + ICreateTypeInfo* This, + IDLDESC *pIdlDesc); + + HRESULT (STDMETHODCALLTYPE *LayOut)( + ICreateTypeInfo* This); + + END_INTERFACE +} ICreateTypeInfoVtbl; +interface ICreateTypeInfo { + CONST_VTBL ICreateTypeInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ICreateTypeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICreateTypeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICreateTypeInfo_Release(This) (This)->lpVtbl->Release(This) +/*** ICreateTypeInfo methods ***/ +#define ICreateTypeInfo_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) +#define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags) +#define ICreateTypeInfo_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc) +#define ICreateTypeInfo_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) +#define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) +#define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType) +#define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc) +#define ICreateTypeInfo_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType) +#define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags) +#define ICreateTypeInfo_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment) +#define ICreateTypeInfo_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema) +#define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc) +#define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames) +#define ICreateTypeInfo_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName) +#define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias) +#define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName) +#define ICreateTypeInfo_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString) +#define ICreateTypeInfo_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString) +#define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext) +#define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext) +#define ICreateTypeInfo_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops) +#define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc) +#define ICreateTypeInfo_LayOut(This) (This)->lpVtbl->LayOut(This) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetGuid_Proxy( + ICreateTypeInfo* This, + REFGUID guid); +void __RPC_STUB ICreateTypeInfo_SetGuid_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeFlags_Proxy( + ICreateTypeInfo* This, + UINT uTypeFlags); +void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetDocString_Proxy( + ICreateTypeInfo* This, + LPOLESTR pStrDoc); +void __RPC_STUB ICreateTypeInfo_SetDocString_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetHelpContext_Proxy( + ICreateTypeInfo* This, + DWORD dwHelpContext); +void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVersion_Proxy( + ICreateTypeInfo* This, + WORD wMajorVerNum, + WORD wMinorVerNum); +void __RPC_STUB ICreateTypeInfo_SetVersion_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddRefTypeInfo_Proxy( + ICreateTypeInfo* This, + ITypeInfo *pTInfo, + HREFTYPE *phRefType); +void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddFuncDesc_Proxy( + ICreateTypeInfo* This, + UINT index, + FUNCDESC *pFuncDesc); +void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddImplType_Proxy( + ICreateTypeInfo* This, + UINT index, + HREFTYPE hRefType); +void __RPC_STUB ICreateTypeInfo_AddImplType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetImplTypeFlags_Proxy( + ICreateTypeInfo* This, + UINT index, + INT implTypeFlags); +void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetAlignment_Proxy( + ICreateTypeInfo* This, + WORD cbAlignment); +void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetSchema_Proxy( + ICreateTypeInfo* This, + LPOLESTR pStrSchema); +void __RPC_STUB ICreateTypeInfo_SetSchema_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddVarDesc_Proxy( + ICreateTypeInfo* This, + UINT index, + VARDESC *pVarDesc); +void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncAndParamNames_Proxy( + ICreateTypeInfo* This, + UINT index, + LPOLESTR *rgszNames, + UINT cNames); +void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarName_Proxy( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szName); +void __RPC_STUB ICreateTypeInfo_SetVarName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeDescAlias_Proxy( + ICreateTypeInfo* This, + TYPEDESC *pTDescAlias); +void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDllName, + LPOLESTR szProcName); +void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncDocString_Proxy( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDocString); +void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarDocString_Proxy( + ICreateTypeInfo* This, + UINT index, + LPOLESTR szDocString); +void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncHelpContext_Proxy( + ICreateTypeInfo* This, + UINT index, + DWORD dwHelpContext); +void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarHelpContext_Proxy( + ICreateTypeInfo* This, + UINT index, + DWORD dwHelpContext); +void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetMops_Proxy( + ICreateTypeInfo* This, + UINT index, + BSTR bstrMops); +void __RPC_STUB ICreateTypeInfo_SetMops_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeIdldesc_Proxy( + ICreateTypeInfo* This, + IDLDESC *pIdlDesc); +void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo_LayOut_Proxy( + ICreateTypeInfo* This); +void __RPC_STUB ICreateTypeInfo_LayOut_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICreateTypeInfo2 interface + */ +#ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__ +#define __ICreateTypeInfo2_INTERFACE_DEFINED__ + +typedef ICreateTypeInfo2 *LPCREATETYPEINFO2; +DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ICreateTypeInfo2 : public ICreateTypeInfo +{ + virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc( + UINT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId( + MEMBERID memid, + INVOKEKIND invKind) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc( + UINT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId( + MEMBERID memid) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteImplType( + UINT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCustData( + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFuncCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetParamCustData( + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData( + UINT index, + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( + ULONG dwHelpStringContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext( + UINT index, + ULONG dwHelpStringContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext( + UINT index, + ULONG dwHelpStringContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE Invalidate( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetName( + LPOLESTR szName) = 0; + +}; +#else +typedef struct ICreateTypeInfo2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICreateTypeInfo2* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICreateTypeInfo2* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICreateTypeInfo2* This); + + /*** ICreateTypeInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *SetGuid)( + ICreateTypeInfo2* This, + REFGUID guid); + + HRESULT (STDMETHODCALLTYPE *SetTypeFlags)( + ICreateTypeInfo2* This, + UINT uTypeFlags); + + HRESULT (STDMETHODCALLTYPE *SetDocString)( + ICreateTypeInfo2* This, + LPOLESTR pStrDoc); + + HRESULT (STDMETHODCALLTYPE *SetHelpContext)( + ICreateTypeInfo2* This, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetVersion)( + ICreateTypeInfo2* This, + WORD wMajorVerNum, + WORD wMinorVerNum); + + HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)( + ICreateTypeInfo2* This, + ITypeInfo *pTInfo, + HREFTYPE *phRefType); + + HRESULT (STDMETHODCALLTYPE *AddFuncDesc)( + ICreateTypeInfo2* This, + UINT index, + FUNCDESC *pFuncDesc); + + HRESULT (STDMETHODCALLTYPE *AddImplType)( + ICreateTypeInfo2* This, + UINT index, + HREFTYPE hRefType); + + HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)( + ICreateTypeInfo2* This, + UINT index, + INT implTypeFlags); + + HRESULT (STDMETHODCALLTYPE *SetAlignment)( + ICreateTypeInfo2* This, + WORD cbAlignment); + + HRESULT (STDMETHODCALLTYPE *SetSchema)( + ICreateTypeInfo2* This, + LPOLESTR pStrSchema); + + HRESULT (STDMETHODCALLTYPE *AddVarDesc)( + ICreateTypeInfo2* This, + UINT index, + VARDESC *pVarDesc); + + HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)( + ICreateTypeInfo2* This, + UINT index, + LPOLESTR *rgszNames, + UINT cNames); + + HRESULT (STDMETHODCALLTYPE *SetVarName)( + ICreateTypeInfo2* This, + UINT index, + LPOLESTR szName); + + HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)( + ICreateTypeInfo2* This, + TYPEDESC *pTDescAlias); + + HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)( + ICreateTypeInfo2* This, + UINT index, + LPOLESTR szDllName, + LPOLESTR szProcName); + + HRESULT (STDMETHODCALLTYPE *SetFuncDocString)( + ICreateTypeInfo2* This, + UINT index, + LPOLESTR szDocString); + + HRESULT (STDMETHODCALLTYPE *SetVarDocString)( + ICreateTypeInfo2* This, + UINT index, + LPOLESTR szDocString); + + HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)( + ICreateTypeInfo2* This, + UINT index, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)( + ICreateTypeInfo2* This, + UINT index, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetMops)( + ICreateTypeInfo2* This, + UINT index, + BSTR bstrMops); + + HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)( + ICreateTypeInfo2* This, + IDLDESC *pIdlDesc); + + HRESULT (STDMETHODCALLTYPE *LayOut)( + ICreateTypeInfo2* This); + + /*** ICreateTypeInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)( + ICreateTypeInfo2* This, + UINT index); + + HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)( + ICreateTypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind); + + HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)( + ICreateTypeInfo2* This, + UINT index); + + HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)( + ICreateTypeInfo2* This, + MEMBERID memid); + + HRESULT (STDMETHODCALLTYPE *DeleteImplType)( + ICreateTypeInfo2* This, + UINT index); + + HRESULT (STDMETHODCALLTYPE *SetCustData)( + ICreateTypeInfo2* This, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetFuncCustData)( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetParamCustData)( + ICreateTypeInfo2* This, + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetVarCustData)( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)( + ICreateTypeInfo2* This, + ULONG dwHelpStringContext); + + HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)( + ICreateTypeInfo2* This, + UINT index, + ULONG dwHelpStringContext); + + HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)( + ICreateTypeInfo2* This, + UINT index, + ULONG dwHelpStringContext); + + HRESULT (STDMETHODCALLTYPE *Invalidate)( + ICreateTypeInfo2* This); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ICreateTypeInfo2* This, + LPOLESTR szName); + + END_INTERFACE +} ICreateTypeInfo2Vtbl; +interface ICreateTypeInfo2 { + CONST_VTBL ICreateTypeInfo2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICreateTypeInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICreateTypeInfo2_Release(This) (This)->lpVtbl->Release(This) +/*** ICreateTypeInfo methods ***/ +#define ICreateTypeInfo2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) +#define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags) (This)->lpVtbl->SetTypeFlags(This,uTypeFlags) +#define ICreateTypeInfo2_SetDocString(This,pStrDoc) (This)->lpVtbl->SetDocString(This,pStrDoc) +#define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) +#define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) +#define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType) (This)->lpVtbl->AddRefTypeInfo(This,pTInfo,phRefType) +#define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc) (This)->lpVtbl->AddFuncDesc(This,index,pFuncDesc) +#define ICreateTypeInfo2_AddImplType(This,index,hRefType) (This)->lpVtbl->AddImplType(This,index,hRefType) +#define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags) (This)->lpVtbl->SetImplTypeFlags(This,index,implTypeFlags) +#define ICreateTypeInfo2_SetAlignment(This,cbAlignment) (This)->lpVtbl->SetAlignment(This,cbAlignment) +#define ICreateTypeInfo2_SetSchema(This,pStrSchema) (This)->lpVtbl->SetSchema(This,pStrSchema) +#define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc) (This)->lpVtbl->AddVarDesc(This,index,pVarDesc) +#define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames) (This)->lpVtbl->SetFuncAndParamNames(This,index,rgszNames,cNames) +#define ICreateTypeInfo2_SetVarName(This,index,szName) (This)->lpVtbl->SetVarName(This,index,szName) +#define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias) (This)->lpVtbl->SetTypeDescAlias(This,pTDescAlias) +#define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName) (This)->lpVtbl->DefineFuncAsDllEntry(This,index,szDllName,szProcName) +#define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString) (This)->lpVtbl->SetFuncDocString(This,index,szDocString) +#define ICreateTypeInfo2_SetVarDocString(This,index,szDocString) (This)->lpVtbl->SetVarDocString(This,index,szDocString) +#define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetFuncHelpContext(This,index,dwHelpContext) +#define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext) (This)->lpVtbl->SetVarHelpContext(This,index,dwHelpContext) +#define ICreateTypeInfo2_SetMops(This,index,bstrMops) (This)->lpVtbl->SetMops(This,index,bstrMops) +#define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc) (This)->lpVtbl->SetTypeIdldesc(This,pIdlDesc) +#define ICreateTypeInfo2_LayOut(This) (This)->lpVtbl->LayOut(This) +/*** ICreateTypeInfo2 methods ***/ +#define ICreateTypeInfo2_DeleteFuncDesc(This,index) (This)->lpVtbl->DeleteFuncDesc(This,index) +#define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind) (This)->lpVtbl->DeleteFuncDescByMemId(This,memid,invKind) +#define ICreateTypeInfo2_DeleteVarDesc(This,index) (This)->lpVtbl->DeleteVarDesc(This,index) +#define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid) (This)->lpVtbl->DeleteVarDescByMemId(This,memid) +#define ICreateTypeInfo2_DeleteImplType(This,index) (This)->lpVtbl->DeleteImplType(This,index) +#define ICreateTypeInfo2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal) +#define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetFuncCustData(This,index,guid,pVarVal) +#define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) (This)->lpVtbl->SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) +#define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetVarCustData(This,index,guid,pVarVal) +#define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal) (This)->lpVtbl->SetImplTypeCustData(This,index,guid,pVarVal) +#define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext) +#define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetFuncHelpStringContext(This,index,dwHelpStringContext) +#define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext) (This)->lpVtbl->SetVarHelpStringContext(This,index,dwHelpStringContext) +#define ICreateTypeInfo2_Invalidate(This) (This)->lpVtbl->Invalidate(This) +#define ICreateTypeInfo2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDesc_Proxy( + ICreateTypeInfo2* This, + UINT index); +void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy( + ICreateTypeInfo2* This, + MEMBERID memid, + INVOKEKIND invKind); +void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDesc_Proxy( + ICreateTypeInfo2* This, + UINT index); +void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDescByMemId_Proxy( + ICreateTypeInfo2* This, + MEMBERID memid); +void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteImplType_Proxy( + ICreateTypeInfo2* This, + UINT index); +void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetCustData_Proxy( + ICreateTypeInfo2* This, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncCustData_Proxy( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetParamCustData_Proxy( + ICreateTypeInfo2* This, + UINT indexFunc, + UINT indexParam, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarCustData_Proxy( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetImplTypeCustData_Proxy( + ICreateTypeInfo2* This, + UINT index, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetHelpStringContext_Proxy( + ICreateTypeInfo2* This, + ULONG dwHelpStringContext); +void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncHelpStringContext_Proxy( + ICreateTypeInfo2* This, + UINT index, + ULONG dwHelpStringContext); +void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarHelpStringContext_Proxy( + ICreateTypeInfo2* This, + UINT index, + ULONG dwHelpStringContext); +void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_Invalidate_Proxy( + ICreateTypeInfo2* This); +void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetName_Proxy( + ICreateTypeInfo2* This, + LPOLESTR szName); +void __RPC_STUB ICreateTypeInfo2_SetName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICreateTypeLib interface + */ +#ifndef __ICreateTypeLib_INTERFACE_DEFINED__ +#define __ICreateTypeLib_INTERFACE_DEFINED__ + +typedef ICreateTypeLib *LPCREATETYPELIB; +DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ICreateTypeLib : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo( + LPOLESTR szName, + TYPEKIND tkind, + ICreateTypeInfo **ppCTInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetName( + LPOLESTR szName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVersion( + WORD wMajorVerNum, + WORD wMinorVerNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGuid( + REFGUID guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDocString( + LPOLESTR szDoc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpFileName( + LPOLESTR szHelpFileName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpContext( + DWORD dwHelpContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLcid( + LCID lcid) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLibFlags( + UINT uLibFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveAllChanges( + ) = 0; + +}; +#else +typedef struct ICreateTypeLibVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICreateTypeLib* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICreateTypeLib* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICreateTypeLib* This); + + /*** ICreateTypeLib methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)( + ICreateTypeLib* This, + LPOLESTR szName, + TYPEKIND tkind, + ICreateTypeInfo **ppCTInfo); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ICreateTypeLib* This, + LPOLESTR szName); + + HRESULT (STDMETHODCALLTYPE *SetVersion)( + ICreateTypeLib* This, + WORD wMajorVerNum, + WORD wMinorVerNum); + + HRESULT (STDMETHODCALLTYPE *SetGuid)( + ICreateTypeLib* This, + REFGUID guid); + + HRESULT (STDMETHODCALLTYPE *SetDocString)( + ICreateTypeLib* This, + LPOLESTR szDoc); + + HRESULT (STDMETHODCALLTYPE *SetHelpFileName)( + ICreateTypeLib* This, + LPOLESTR szHelpFileName); + + HRESULT (STDMETHODCALLTYPE *SetHelpContext)( + ICreateTypeLib* This, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetLcid)( + ICreateTypeLib* This, + LCID lcid); + + HRESULT (STDMETHODCALLTYPE *SetLibFlags)( + ICreateTypeLib* This, + UINT uLibFlags); + + HRESULT (STDMETHODCALLTYPE *SaveAllChanges)( + ICreateTypeLib* This); + + END_INTERFACE +} ICreateTypeLibVtbl; +interface ICreateTypeLib { + CONST_VTBL ICreateTypeLibVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ICreateTypeLib_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICreateTypeLib_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICreateTypeLib_Release(This) (This)->lpVtbl->Release(This) +/*** ICreateTypeLib methods ***/ +#define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo) +#define ICreateTypeLib_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) +#define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) +#define ICreateTypeLib_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) +#define ICreateTypeLib_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc) +#define ICreateTypeLib_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName) +#define ICreateTypeLib_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) +#define ICreateTypeLib_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid) +#define ICreateTypeLib_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags) +#define ICreateTypeLib_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ICreateTypeLib_CreateTypeInfo_Proxy( + ICreateTypeLib* This, + LPOLESTR szName, + TYPEKIND tkind, + ICreateTypeInfo **ppCTInfo); +void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetName_Proxy( + ICreateTypeLib* This, + LPOLESTR szName); +void __RPC_STUB ICreateTypeLib_SetName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetVersion_Proxy( + ICreateTypeLib* This, + WORD wMajorVerNum, + WORD wMinorVerNum); +void __RPC_STUB ICreateTypeLib_SetVersion_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetGuid_Proxy( + ICreateTypeLib* This, + REFGUID guid); +void __RPC_STUB ICreateTypeLib_SetGuid_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetDocString_Proxy( + ICreateTypeLib* This, + LPOLESTR szDoc); +void __RPC_STUB ICreateTypeLib_SetDocString_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpFileName_Proxy( + ICreateTypeLib* This, + LPOLESTR szHelpFileName); +void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpContext_Proxy( + ICreateTypeLib* This, + DWORD dwHelpContext); +void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLcid_Proxy( + ICreateTypeLib* This, + LCID lcid); +void __RPC_STUB ICreateTypeLib_SetLcid_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLibFlags_Proxy( + ICreateTypeLib* This, + UINT uLibFlags); +void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib_SaveAllChanges_Proxy( + ICreateTypeLib* This); +void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICreateTypeLib2 interface + */ +#ifndef __ICreateTypeLib2_INTERFACE_DEFINED__ +#define __ICreateTypeLib2_INTERFACE_DEFINED__ + +typedef ICreateTypeLib2 *LPCREATETYPELIB2; +DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface ICreateTypeLib2 : public ICreateTypeLib +{ + virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo( + LPOLESTR szName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCustData( + REFGUID guid, + VARIANT *pVarVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( + ULONG dwHelpStringContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll( + LPOLESTR szFileName) = 0; + +}; +#else +typedef struct ICreateTypeLib2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICreateTypeLib2* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICreateTypeLib2* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICreateTypeLib2* This); + + /*** ICreateTypeLib methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)( + ICreateTypeLib2* This, + LPOLESTR szName, + TYPEKIND tkind, + ICreateTypeInfo **ppCTInfo); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ICreateTypeLib2* This, + LPOLESTR szName); + + HRESULT (STDMETHODCALLTYPE *SetVersion)( + ICreateTypeLib2* This, + WORD wMajorVerNum, + WORD wMinorVerNum); + + HRESULT (STDMETHODCALLTYPE *SetGuid)( + ICreateTypeLib2* This, + REFGUID guid); + + HRESULT (STDMETHODCALLTYPE *SetDocString)( + ICreateTypeLib2* This, + LPOLESTR szDoc); + + HRESULT (STDMETHODCALLTYPE *SetHelpFileName)( + ICreateTypeLib2* This, + LPOLESTR szHelpFileName); + + HRESULT (STDMETHODCALLTYPE *SetHelpContext)( + ICreateTypeLib2* This, + DWORD dwHelpContext); + + HRESULT (STDMETHODCALLTYPE *SetLcid)( + ICreateTypeLib2* This, + LCID lcid); + + HRESULT (STDMETHODCALLTYPE *SetLibFlags)( + ICreateTypeLib2* This, + UINT uLibFlags); + + HRESULT (STDMETHODCALLTYPE *SaveAllChanges)( + ICreateTypeLib2* This); + + /*** ICreateTypeLib2 methods ***/ + HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)( + ICreateTypeLib2* This, + LPOLESTR szName); + + HRESULT (STDMETHODCALLTYPE *SetCustData)( + ICreateTypeLib2* This, + REFGUID guid, + VARIANT *pVarVal); + + HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)( + ICreateTypeLib2* This, + ULONG dwHelpStringContext); + + HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)( + ICreateTypeLib2* This, + LPOLESTR szFileName); + + END_INTERFACE +} ICreateTypeLib2Vtbl; +interface ICreateTypeLib2 { + CONST_VTBL ICreateTypeLib2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define ICreateTypeLib2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICreateTypeLib2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICreateTypeLib2_Release(This) (This)->lpVtbl->Release(This) +/*** ICreateTypeLib methods ***/ +#define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo) (This)->lpVtbl->CreateTypeInfo(This,szName,tkind,ppCTInfo) +#define ICreateTypeLib2_SetName(This,szName) (This)->lpVtbl->SetName(This,szName) +#define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum) (This)->lpVtbl->SetVersion(This,wMajorVerNum,wMinorVerNum) +#define ICreateTypeLib2_SetGuid(This,guid) (This)->lpVtbl->SetGuid(This,guid) +#define ICreateTypeLib2_SetDocString(This,szDoc) (This)->lpVtbl->SetDocString(This,szDoc) +#define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName) (This)->lpVtbl->SetHelpFileName(This,szHelpFileName) +#define ICreateTypeLib2_SetHelpContext(This,dwHelpContext) (This)->lpVtbl->SetHelpContext(This,dwHelpContext) +#define ICreateTypeLib2_SetLcid(This,lcid) (This)->lpVtbl->SetLcid(This,lcid) +#define ICreateTypeLib2_SetLibFlags(This,uLibFlags) (This)->lpVtbl->SetLibFlags(This,uLibFlags) +#define ICreateTypeLib2_SaveAllChanges(This) (This)->lpVtbl->SaveAllChanges(This) +/*** ICreateTypeLib2 methods ***/ +#define ICreateTypeLib2_DeleteTypeInfo(This,szName) (This)->lpVtbl->DeleteTypeInfo(This,szName) +#define ICreateTypeLib2_SetCustData(This,guid,pVarVal) (This)->lpVtbl->SetCustData(This,guid,pVarVal) +#define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext) (This)->lpVtbl->SetHelpStringContext(This,dwHelpStringContext) +#define ICreateTypeLib2_SetHelpStringDll(This,szFileName) (This)->lpVtbl->SetHelpStringDll(This,szFileName) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE ICreateTypeLib2_DeleteTypeInfo_Proxy( + ICreateTypeLib2* This, + LPOLESTR szName); +void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetCustData_Proxy( + ICreateTypeLib2* This, + REFGUID guid, + VARIANT *pVarVal); +void __RPC_STUB ICreateTypeLib2_SetCustData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringContext_Proxy( + ICreateTypeLib2* This, + ULONG dwHelpStringContext); +void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringDll_Proxy( + ICreateTypeLib2* This, + LPOLESTR szFileName); +void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IErrorLog interface + */ +#ifndef __IErrorLog_INTERFACE_DEFINED__ +#define __IErrorLog_INTERFACE_DEFINED__ + +typedef IErrorLog *LPERRORLOG; +DEFINE_GUID(IID_IErrorLog, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IErrorLog : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddError( + LPCOLESTR pszPropName, + EXCEPINFO *pExcepInfo) = 0; + +}; +#else +typedef struct IErrorLogVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IErrorLog* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IErrorLog* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IErrorLog* This); + + /*** IErrorLog methods ***/ + HRESULT (STDMETHODCALLTYPE *AddError)( + IErrorLog* This, + LPCOLESTR pszPropName, + EXCEPINFO *pExcepInfo); + + END_INTERFACE +} IErrorLogVtbl; +interface IErrorLog { + CONST_VTBL IErrorLogVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IErrorLog_Release(This) (This)->lpVtbl->Release(This) +/*** IErrorLog methods ***/ +#define IErrorLog_AddError(This,pszPropName,pExcepInfo) (This)->lpVtbl->AddError(This,pszPropName,pExcepInfo) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IErrorLog_AddError_Proxy( + IErrorLog* This, + LPCOLESTR pszPropName, + EXCEPINFO *pExcepInfo); +void __RPC_STUB IErrorLog_AddError_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IErrorLog_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IPropertyBag interface + */ +#ifndef __IPropertyBag_INTERFACE_DEFINED__ +#define __IPropertyBag_INTERFACE_DEFINED__ + +typedef IPropertyBag *LPPROPERTYBAG; +DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IPropertyBag : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Read( + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog) = 0; + + virtual HRESULT STDMETHODCALLTYPE Write( + LPCOLESTR pszPropName, + VARIANT *pVar) = 0; + +}; +#else +typedef struct IPropertyBagVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPropertyBag* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPropertyBag* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPropertyBag* This); + + /*** IPropertyBag methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog); + + HRESULT (STDMETHODCALLTYPE *Write)( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar); + + END_INTERFACE +} IPropertyBagVtbl; +interface IPropertyBag { + CONST_VTBL IPropertyBagVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPropertyBag_Release(This) (This)->lpVtbl->Release(This) +/*** IPropertyBag methods ***/ +#define IPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog) +#define IPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IPropertyBag_RemoteRead_Proxy( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog, + DWORD varType, + IUnknown *pUnkObj); +void __RPC_STUB IPropertyBag_RemoteRead_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IPropertyBag_Write_Proxy( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar); +void __RPC_STUB IPropertyBag_Write_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IPropertyBag_Read_Proxy( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog); +HRESULT __RPC_STUB IPropertyBag_Read_Stub( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog, + DWORD varType, + IUnknown *pUnkObj); + +#endif /* __IPropertyBag_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *); +unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); +void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *); +ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); +unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); +unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); +void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); +ULONG __RPC_USER CLEANLOCALSTORAGE_UserSize (ULONG *, ULONG, CLEANLOCALSTORAGE *); +unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal (ULONG *, unsigned char *, CLEANLOCALSTORAGE *); +unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(ULONG *, unsigned char *, CLEANLOCALSTORAGE *); +void __RPC_USER CLEANLOCALSTORAGE_UserFree (ULONG *, CLEANLOCALSTORAGE *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __WIDL_OAIDL_H */ |