/*** Autogenerated by WIDL 0.1 from oaidl.idl - Do not edit ***/ #include #include #ifndef __WIDL_OAIDL_H #define __WIDL_OAIDL_H #ifdef __cplusplus extern "C" { #endif #include #ifndef __IDispatch_FWD_DEFINED__ #define __IDispatch_FWD_DEFINED__ typedef struct IDispatch IDispatch; #endif #ifndef __ITypeInfo_FWD_DEFINED__ #define __ITypeInfo_FWD_DEFINED__ typedef struct ITypeInfo ITypeInfo; #endif #ifndef __ITypeLib_FWD_DEFINED__ #define __ITypeLib_FWD_DEFINED__ typedef struct ITypeLib ITypeLib; #endif #ifndef __IRecordInfo_FWD_DEFINED__ #define __IRecordInfo_FWD_DEFINED__ typedef struct IRecordInfo IRecordInfo; #endif typedef CY CURRENCY; typedef struct tagSAFEARRAYBOUND { ULONG cElements; LONG lLbound; } SAFEARRAYBOUND, *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; unsigned long __RPC_USER LPSAFEARRAY_UserSize (unsigned long *, unsigned long, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (unsigned long *, unsigned char *, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY *); void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, 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; unsigned long __RPC_USER VARIANT_UserSize (unsigned long *, unsigned long, VARIANT *); unsigned char * __RPC_USER VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT *); unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *); void __RPC_USER VARIANT_UserFree (unsigned long *, 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, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH, TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX } 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, *LPPARAMDESCEX; typedef struct tagPARAMDESC { LPPARAMDESCEX pparamdescex; USHORT wParamFlags; } PARAMDESC, *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, *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, *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, CC_PASCAL = CC_MSCPASCAL, CC_MACPASCAL, CC_STDCALL, CC_FPFASTCALL, CC_SYSCALL, CC_MPWCDECL, CC_MPWPASCAL, CC_MAX } CALLCONV; typedef enum tagFUNCKIND { FUNC_VIRTUAL, FUNC_PUREVIRTUAL, FUNC_NONVIRTUAL, FUNC_STATIC, FUNC_DISPATCH } 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, *LPFUNCDESC; typedef enum tagVARKIND { VAR_PERINSTANCE, VAR_STATIC, VAR_CONST, VAR_DISPATCH } 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, *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; unsigned long __RPC_USER CLEANLOCALSTORAGE_UserSize (unsigned long *, unsigned long, CLEANLOCALSTORAGE *); unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal (unsigned long *, unsigned char *, CLEANLOCALSTORAGE *); unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE *); void __RPC_USER CLEANLOCALSTORAGE_UserFree (unsigned long *, CLEANLOCALSTORAGE *); typedef struct tagCUSTDATAITEM { GUID guid; VARIANTARG varValue; } CUSTDATAITEM, *LPCUSTDATAITEM; typedef struct tagCUSTDATA { DWORD cCustData; LPCUSTDATAITEM prgCustData; } CUSTDATA, *LPCUSTDATA; 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) /***************************************************************************** * IDispatch interface */ #ifndef __IDispatch_INTERFACE_DEFINED__ #define __IDispatch_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 IDispatchVtbl; struct IDispatch { const IDispatchVtbl* lpVtbl; }; struct IDispatchVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDispatch_Release(p) (p)->lpVtbl->Release(p) /*** IDispatch methods ***/ #define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a) #define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c) #define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e) #define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h) #endif #define IDispatch_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IDispatch methods ***/ \ STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \ STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \ STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \ STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy( IDispatch* This, UINT* pctinfo); void __RPC_STUB IDispatch_GetTypeInfoCount_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDispatch_GetTypeInfo_Proxy( IDispatch* This, UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo); void __RPC_STUB IDispatch_GetTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDispatch_GetIDsOfNames_Proxy( IDispatch* This, REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId); void __RPC_STUB IDispatch_GetIDsOfNames_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK 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( struct IRpcStubBuffer* This, struct 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__ */ #ifndef __IEnumVARIANT_FWD_DEFINED__ #define __IEnumVARIANT_FWD_DEFINED__ typedef struct IEnumVARIANT IEnumVARIANT; #endif typedef IEnumVARIANT *LPENUMVARIANT; /***************************************************************************** * IEnumVARIANT interface */ #ifndef __IEnumVARIANT_INTERFACE_DEFINED__ #define __IEnumVARIANT_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 IEnumVARIANTVtbl; struct IEnumVARIANT { const IEnumVARIANTVtbl* lpVtbl; }; struct IEnumVARIANTVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p) #define IEnumVARIANT_Release(p) (p)->lpVtbl->Release(p) /*** IEnumVARIANT methods ***/ #define IEnumVARIANT_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) #define IEnumVARIANT_Skip(p,a) (p)->lpVtbl->Skip(p,a) #define IEnumVARIANT_Reset(p) (p)->lpVtbl->Reset(p) #define IEnumVARIANT_Clone(p,a) (p)->lpVtbl->Clone(p,a) #endif #define IEnumVARIANT_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IEnumVARIANT methods ***/ \ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE; HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy( IEnumVARIANT* This, ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched); void __RPC_STUB IEnumVARIANT_RemoteNext_Stub( struct IRpcStubBuffer* This, struct 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); HRESULT CALLBACK IEnumVARIANT_Skip_Proxy( IEnumVARIANT* This, ULONG celt); void __RPC_STUB IEnumVARIANT_Skip_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumVARIANT_Reset_Proxy( IEnumVARIANT* This); void __RPC_STUB IEnumVARIANT_Reset_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumVARIANT_Clone_Proxy( IEnumVARIANT* This, IEnumVARIANT** ppEnum); void __RPC_STUB IEnumVARIANT_Clone_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */ #ifndef __ITypeComp_FWD_DEFINED__ #define __ITypeComp_FWD_DEFINED__ typedef struct ITypeComp ITypeComp; #endif typedef ITypeComp *LPTYPECOMP; typedef enum tagDESCKIND { DESCKIND_NONE = 0, DESCKIND_FUNCDESC, DESCKIND_VARDESC, DESCKIND_TYPECOMP, DESCKIND_IMPLICITAPPOBJ, DESCKIND_MAX } DESCKIND; typedef union tagBINDPTR { FUNCDESC *lpfuncdesc; VARDESC *lpvardesc; ITypeComp *lptcomp; } BINDPTR, *LPBINDPTR; /***************************************************************************** * ITypeComp interface */ #ifndef __ITypeComp_INTERFACE_DEFINED__ #define __ITypeComp_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeCompVtbl; struct ITypeComp { const ITypeCompVtbl* lpVtbl; }; struct ITypeCompVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeComp_Release(p) (p)->lpVtbl->Release(p) /*** ITypeComp methods ***/ #define ITypeComp_Bind(p,a,b,c,d,e,f) (p)->lpVtbl->Bind(p,a,b,c,d,e,f) #define ITypeComp_BindType(p,a,b,c,d) (p)->lpVtbl->BindType(p,a,b,c,d) #endif #define ITypeComp_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeComp methods ***/ \ STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \ STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE; HRESULT CALLBACK 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( struct IRpcStubBuffer* This, struct 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_RemoteBindType_Proxy( ITypeComp* This, LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo); void __RPC_STUB ITypeComp_RemoteBindType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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__ */ typedef ITypeInfo *LPTYPEINFO; /***************************************************************************** * ITypeInfo interface */ #ifndef __ITypeInfo_INTERFACE_DEFINED__ #define __ITypeInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeInfoVtbl; struct ITypeInfo { const ITypeInfoVtbl* lpVtbl; }; struct ITypeInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeInfo_Release(p) (p)->lpVtbl->Release(p) /*** ITypeInfo methods ***/ #define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a) #define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a) #define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b) #define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b) #define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d) #define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b) #define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b) #define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c) #define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g) #define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e) #define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e) #define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b) #define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c) #define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c) #define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b) #define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b) #define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a) #define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a) #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a) #endif #define ITypeInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeInfo methods ***/ \ STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \ STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \ STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \ STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \ STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \ STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \ STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \ STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \ STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \ STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \ STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \ STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \ STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \ STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \ STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \ STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \ STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \ STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \ STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy( ITypeInfo* This, LPTYPEATTR* ppTypeAttr, CLEANLOCALSTORAGE* pDummy); void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub( struct IRpcStubBuffer* This, struct 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_GetTypeComp_Proxy( ITypeInfo* This, ITypeComp** ppTComp); void __RPC_STUB ITypeInfo_GetTypeComp_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy( ITypeInfo* This, UINT index, LPFUNCDESC* ppFuncDesc, CLEANLOCALSTORAGE* pDummy); void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteGetVarDesc_Proxy( ITypeInfo* This, UINT index, LPVARDESC* ppVarDesc, CLEANLOCALSTORAGE* pDummy); void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteGetNames_Proxy( ITypeInfo* This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); void __RPC_STUB ITypeInfo_RemoteGetNames_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_GetRefTypeOfImplType_Proxy( ITypeInfo* This, UINT index, HREFTYPE* pRefType); void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy( ITypeInfo* This, UINT index, INT* pImplTypeFlags); void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy( ITypeInfo* This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub( ITypeInfo* This); HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalInvoke_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteGetDocumentation_Proxy( ITypeInfo* This, MEMBERID memid, DWORD refPtrFlags, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteGetDllEntry_Proxy( ITypeInfo* This, MEMBERID memid, INVOKEKIND invKind, DWORD refPtrFlags, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_GetRefTypeInfo_Proxy( ITypeInfo* This, HREFTYPE hRefType, ITypeInfo** ppTInfo); void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy( ITypeInfo* This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub( ITypeInfo* This); HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy( ITypeInfo* This, REFIID riid, IUnknown** ppvObj); void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_GetMops_Proxy( ITypeInfo* This, MEMBERID memid, BSTR* pBstrMops); void __RPC_STUB ITypeInfo_GetMops_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy( ITypeInfo* This, ITypeLib** ppTLib, UINT* pIndex); void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy( ITypeInfo* This, ITypeLib** ppTLib, UINT* pIndex); HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( ITypeInfo* This, ITypeLib** ppTLib, UINT* pIndex); HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy( ITypeInfo* This, TYPEATTR* pTypeAttr); HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub( ITypeInfo* This); HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy( ITypeInfo* This, FUNCDESC* pFuncDesc); HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub( ITypeInfo* This); HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy( ITypeInfo* This); void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy( ITypeInfo* This, VARDESC* pVarDesc); HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub( ITypeInfo* This); #endif /* __ITypeInfo_INTERFACE_DEFINED__ */ #ifndef __ITypeInfo2_FWD_DEFINED__ #define __ITypeInfo2_FWD_DEFINED__ typedef struct ITypeInfo2 ITypeInfo2; #endif typedef ITypeInfo2 *LPTYPEINFO2; /***************************************************************************** * ITypeInfo2 interface */ #ifndef __ITypeInfo2_INTERFACE_DEFINED__ #define __ITypeInfo2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeInfo2Vtbl; struct ITypeInfo2 { const ITypeInfo2Vtbl* lpVtbl; }; struct ITypeInfo2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeInfo2_Release(p) (p)->lpVtbl->Release(p) /*** ITypeInfo methods ***/ #define ITypeInfo2_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a) #define ITypeInfo2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a) #define ITypeInfo2_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b) #define ITypeInfo2_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b) #define ITypeInfo2_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d) #define ITypeInfo2_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b) #define ITypeInfo2_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b) #define ITypeInfo2_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c) #define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g) #define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e) #define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e) #define ITypeInfo2_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b) #define ITypeInfo2_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c) #define ITypeInfo2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c) #define ITypeInfo2_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b) #define ITypeInfo2_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b) #define ITypeInfo2_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a) #define ITypeInfo2_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a) #define ITypeInfo2_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a) /*** ITypeInfo2 methods ***/ #define ITypeInfo2_GetTypeKind(p,a) (p)->lpVtbl->GetTypeKind(p,a) #define ITypeInfo2_GetTypeFlags(p,a) (p)->lpVtbl->GetTypeFlags(p,a) #define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) (p)->lpVtbl->GetFuncIndexOfMemId(p,a,b,c) #define ITypeInfo2_GetVarIndexOfMemId(p,a,b) (p)->lpVtbl->GetVarIndexOfMemId(p,a,b) #define ITypeInfo2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b) #define ITypeInfo2_GetFuncCustData(p,a,b,c) (p)->lpVtbl->GetFuncCustData(p,a,b,c) #define ITypeInfo2_GetParamCustData(p,a,b,c,d) (p)->lpVtbl->GetParamCustData(p,a,b,c,d) #define ITypeInfo2_GetVarCustData(p,a,b,c) (p)->lpVtbl->GetVarCustData(p,a,b,c) #define ITypeInfo2_GetImplTypeCustData(p,a,b,c) (p)->lpVtbl->GetImplTypeCustData(p,a,b,c) #define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e) #define ITypeInfo2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a) #define ITypeInfo2_GetAllFuncCustData(p,a,b) (p)->lpVtbl->GetAllFuncCustData(p,a,b) #define ITypeInfo2_GetAllParamCustData(p,a,b,c) (p)->lpVtbl->GetAllParamCustData(p,a,b,c) #define ITypeInfo2_GetAllVarCustData(p,a,b) (p)->lpVtbl->GetAllVarCustData(p,a,b) #define ITypeInfo2_GetAllImplTypeCustData(p,a,b) (p)->lpVtbl->GetAllImplTypeCustData(p,a,b) #endif #define ITypeInfo2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeInfo methods ***/ \ STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \ STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \ STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \ STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \ STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \ STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \ STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \ STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \ STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \ STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \ STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \ STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \ STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \ STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \ STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \ STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \ STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \ STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \ STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \ /*** ITypeInfo2 methods ***/ \ STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \ STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \ STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \ STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \ STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \ STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \ STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \ STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \ STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \ STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy( ITypeInfo2* This, TYPEKIND* pTypeKind); void __RPC_STUB ITypeInfo2_GetTypeKind_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetTypeFlags_Proxy( ITypeInfo2* This, ULONG* pTypeFlags); void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetFuncIndexOfMemId_Proxy( ITypeInfo2* This, MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex); void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetVarIndexOfMemId_Proxy( ITypeInfo2* This, MEMBERID memid, UINT* pVarIndex); void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetCustData_Proxy( ITypeInfo2* This, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeInfo2_GetCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetFuncCustData_Proxy( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetParamCustData_Proxy( ITypeInfo2* This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeInfo2_GetParamCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetVarCustData_Proxy( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeInfo2_GetVarCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetImplTypeCustData_Proxy( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_RemoteGetDocumentation2_Proxy( ITypeInfo2* This, MEMBERID memid, LCID lcid, DWORD refPtrFlags, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub( struct IRpcStubBuffer* This, struct 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); HRESULT CALLBACK ITypeInfo2_GetAllCustData_Proxy( ITypeInfo2* This, CUSTDATA* pCustData); void __RPC_STUB ITypeInfo2_GetAllCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetAllFuncCustData_Proxy( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetAllParamCustData_Proxy( ITypeInfo2* This, UINT indexFunc, UINT indexParam, CUSTDATA* pCustData); void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetAllVarCustData_Proxy( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeInfo2_GetAllImplTypeCustData_Proxy( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */ typedef ITypeLib *LPTYPELIB; typedef enum tagSYSKIND { SYS_WIN16 = 0, SYS_WIN32, SYS_MAC } 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, *LPTLIBATTR; /***************************************************************************** * ITypeLib interface */ #ifndef __ITypeLib_INTERFACE_DEFINED__ #define __ITypeLib_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeLibVtbl; struct ITypeLib { const ITypeLibVtbl* lpVtbl; }; struct ITypeLibVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeLib_Release(p) (p)->lpVtbl->Release(p) /*** ITypeLib methods ***/ #define ITypeLib_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p) #define ITypeLib_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b) #define ITypeLib_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b) #define ITypeLib_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b) #define ITypeLib_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a) #define ITypeLib_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a) #define ITypeLib_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e) #define ITypeLib_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c) #define ITypeLib_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e) #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a) #endif #define ITypeLib_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeLib methods ***/ \ STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \ STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \ STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \ STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \ STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \ STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \ STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \ STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \ STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \ STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy( ITypeLib* This, UINT* pcTInfo); void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub( struct IRpcStubBuffer* This, struct 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_GetTypeInfo_Proxy( ITypeLib* This, UINT index, ITypeInfo** ppTInfo); void __RPC_STUB ITypeLib_GetTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy( ITypeLib* This, UINT index, TYPEKIND* pTKind); void __RPC_STUB ITypeLib_GetTypeInfoType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy( ITypeLib* This, REFGUID guid, ITypeInfo** ppTinfo); void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy( ITypeLib* This, LPTLIBATTR* ppTLibAttr, CLEANLOCALSTORAGE* pDummy); void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy( ITypeLib* This, TLIBATTR** ppTLibAttr); HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( ITypeLib* This, LPTLIBATTR* ppTLibAttr, CLEANLOCALSTORAGE* pDummy); HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy( ITypeLib* This, ITypeComp** ppTComp); void __RPC_STUB ITypeLib_GetTypeComp_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy( ITypeLib* This, INT index, DWORD refPtrFlags, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteIsName_Proxy( ITypeLib* This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName, BSTR* pBstrLibName); void __RPC_STUB ITypeLib_RemoteIsName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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_RemoteFindName_Proxy( ITypeLib* This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound, BSTR* pBstrLibName); void __RPC_STUB ITypeLib_RemoteFindName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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); HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy( ITypeLib* This); void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy( ITypeLib* This, TLIBATTR* pTLibAttr); HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub( ITypeLib* This); #endif /* __ITypeLib_INTERFACE_DEFINED__ */ #ifndef __ITypeLib2_FWD_DEFINED__ #define __ITypeLib2_FWD_DEFINED__ typedef struct ITypeLib2 ITypeLib2; #endif typedef ITypeLib2 *LPTYPELIB2; /***************************************************************************** * ITypeLib2 interface */ #ifndef __ITypeLib2_INTERFACE_DEFINED__ #define __ITypeLib2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeLib2Vtbl; struct ITypeLib2 { const ITypeLib2Vtbl* lpVtbl; }; struct ITypeLib2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeLib2_Release(p) (p)->lpVtbl->Release(p) /*** ITypeLib methods ***/ #define ITypeLib2_GetTypeInfoCount(p) (p)->lpVtbl->GetTypeInfoCount(p) #define ITypeLib2_GetTypeInfo(p,a,b) (p)->lpVtbl->GetTypeInfo(p,a,b) #define ITypeLib2_GetTypeInfoType(p,a,b) (p)->lpVtbl->GetTypeInfoType(p,a,b) #define ITypeLib2_GetTypeInfoOfGuid(p,a,b) (p)->lpVtbl->GetTypeInfoOfGuid(p,a,b) #define ITypeLib2_GetLibAttr(p,a) (p)->lpVtbl->GetLibAttr(p,a) #define ITypeLib2_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a) #define ITypeLib2_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e) #define ITypeLib2_IsName(p,a,b,c) (p)->lpVtbl->IsName(p,a,b,c) #define ITypeLib2_FindName(p,a,b,c,d,e) (p)->lpVtbl->FindName(p,a,b,c,d,e) #define ITypeLib2_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a) /*** ITypeLib2 methods ***/ #define ITypeLib2_GetCustData(p,a,b) (p)->lpVtbl->GetCustData(p,a,b) #define ITypeLib2_GetLibStatistics(p,a,b) (p)->lpVtbl->GetLibStatistics(p,a,b) #define ITypeLib2_GetDocumentation2(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation2(p,a,b,c,d,e) #define ITypeLib2_GetAllCustData(p,a) (p)->lpVtbl->GetAllCustData(p,a) #endif #define ITypeLib2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeLib methods ***/ \ STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \ STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \ STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \ STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \ STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \ STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \ STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \ STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \ STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \ STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \ /*** ITypeLib2 methods ***/ \ STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \ STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \ STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; HRESULT CALLBACK ITypeLib2_GetCustData_Proxy( ITypeLib2* This, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ITypeLib2_GetCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeLib2_RemoteGetLibStatistics_Proxy( ITypeLib2* This, ULONG* pcUniqueNames, ULONG* pcchUniqueNames); void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub( struct IRpcStubBuffer* This, struct 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_RemoteGetDocumentation2_Proxy( ITypeLib2* This, INT index, LCID lcid, DWORD refPtrFlags, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); 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); HRESULT CALLBACK ITypeLib2_GetAllCustData_Proxy( ITypeLib2* This, CUSTDATA* pCustData); void __RPC_STUB ITypeLib2_GetAllCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ITypeLib2_INTERFACE_DEFINED__ */ #ifndef __ITypeChangeEvents_FWD_DEFINED__ #define __ITypeChangeEvents_FWD_DEFINED__ typedef struct ITypeChangeEvents ITypeChangeEvents; #endif typedef ITypeChangeEvents *LPTYPECHANGEEVENTS; typedef enum tagCHANGEKIND { CHANGEKIND_ADDMEMBER, CHANGEKIND_DELETEMEMBER, CHANGEKIND_SETNAMES, CHANGEKIND_SETDOCUMENTATION, CHANGEKIND_GENERAL, CHANGEKIND_INVALIDATE, CHANGEKIND_CHANGEFAILED, CHANGEKIND_MAX } CHANGEKIND; /***************************************************************************** * ITypeChangeEvents interface */ #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__ #define __ITypeChangeEvents_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ITypeChangeEventsVtbl; struct ITypeChangeEvents { const ITypeChangeEventsVtbl* lpVtbl; }; struct ITypeChangeEventsVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeChangeEvents_Release(p) (p)->lpVtbl->Release(p) /*** ITypeChangeEvents methods ***/ #define ITypeChangeEvents_RequestTypeChange(p,a,b,c,d) (p)->lpVtbl->RequestTypeChange(p,a,b,c,d) #define ITypeChangeEvents_AfterTypeChange(p,a,b,c) (p)->lpVtbl->AfterTypeChange(p,a,b,c) #endif #define ITypeChangeEvents_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeChangeEvents methods ***/ \ STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \ STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE; HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy( ITypeChangeEvents* This, CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel); void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeChangeEvents_AfterTypeChange_Proxy( ITypeChangeEvents* This, CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName); void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */ #ifndef __IErrorInfo_FWD_DEFINED__ #define __IErrorInfo_FWD_DEFINED__ typedef struct IErrorInfo IErrorInfo; #endif typedef IErrorInfo *LPERRORINFO; /***************************************************************************** * IErrorInfo interface */ #ifndef __IErrorInfo_INTERFACE_DEFINED__ #define __IErrorInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 IErrorInfoVtbl; struct IErrorInfo { const IErrorInfoVtbl* lpVtbl; }; struct IErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define IErrorInfo_Release(p) (p)->lpVtbl->Release(p) /*** IErrorInfo methods ***/ #define IErrorInfo_GetGUID(p,a) (p)->lpVtbl->GetGUID(p,a) #define IErrorInfo_GetSource(p,a) (p)->lpVtbl->GetSource(p,a) #define IErrorInfo_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a) #define IErrorInfo_GetHelpFile(p,a) (p)->lpVtbl->GetHelpFile(p,a) #define IErrorInfo_GetHelpContext(p,a) (p)->lpVtbl->GetHelpContext(p,a) #endif #define IErrorInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IErrorInfo methods ***/ \ STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \ STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \ STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \ STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \ STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE; HRESULT CALLBACK IErrorInfo_GetGUID_Proxy( IErrorInfo* This, GUID* pGUID); void __RPC_STUB IErrorInfo_GetGUID_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IErrorInfo_GetSource_Proxy( IErrorInfo* This, BSTR* pBstrSource); void __RPC_STUB IErrorInfo_GetSource_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IErrorInfo_GetDescription_Proxy( IErrorInfo* This, BSTR* pBstrDescription); void __RPC_STUB IErrorInfo_GetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IErrorInfo_GetHelpFile_Proxy( IErrorInfo* This, BSTR* pBstrHelpFile); void __RPC_STUB IErrorInfo_GetHelpFile_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IErrorInfo_GetHelpContext_Proxy( IErrorInfo* This, DWORD* pdwHelpContext); void __RPC_STUB IErrorInfo_GetHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IErrorInfo_INTERFACE_DEFINED__ */ #ifndef __ICreateErrorInfo_FWD_DEFINED__ #define __ICreateErrorInfo_FWD_DEFINED__ typedef struct ICreateErrorInfo ICreateErrorInfo; #endif typedef ICreateErrorInfo *LPCREATEERRORINFO; /***************************************************************************** * ICreateErrorInfo interface */ #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__ #define __ICreateErrorInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ICreateErrorInfoVtbl; struct ICreateErrorInfo { const ICreateErrorInfoVtbl* lpVtbl; }; struct ICreateErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICreateErrorInfo_Release(p) (p)->lpVtbl->Release(p) /*** ICreateErrorInfo methods ***/ #define ICreateErrorInfo_SetGUID(p,a) (p)->lpVtbl->SetGUID(p,a) #define ICreateErrorInfo_SetSource(p,a) (p)->lpVtbl->SetSource(p,a) #define ICreateErrorInfo_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a) #define ICreateErrorInfo_SetHelpFile(p,a) (p)->lpVtbl->SetHelpFile(p,a) #define ICreateErrorInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a) #endif #define ICreateErrorInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICreateErrorInfo methods ***/ \ STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \ STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \ STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \ STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \ STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy( ICreateErrorInfo* This, REFGUID rguid); void __RPC_STUB ICreateErrorInfo_SetGUID_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateErrorInfo_SetSource_Proxy( ICreateErrorInfo* This, LPOLESTR szSource); void __RPC_STUB ICreateErrorInfo_SetSource_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateErrorInfo_SetDescription_Proxy( ICreateErrorInfo* This, LPOLESTR szDescription); void __RPC_STUB ICreateErrorInfo_SetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateErrorInfo_SetHelpFile_Proxy( ICreateErrorInfo* This, LPOLESTR szHelpFile); void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateErrorInfo_SetHelpContext_Proxy( ICreateErrorInfo* This, DWORD dwHelpContext); void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */ #ifndef __ISupportErrorInfo_FWD_DEFINED__ #define __ISupportErrorInfo_FWD_DEFINED__ typedef struct ISupportErrorInfo ISupportErrorInfo; #endif typedef ISupportErrorInfo *LPSUPPORTERRORINFO; /***************************************************************************** * ISupportErrorInfo interface */ #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__ #define __ISupportErrorInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct ISupportErrorInfo : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( REFIID riid) = 0; }; #else typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl; struct ISupportErrorInfo { const ISupportErrorInfoVtbl* lpVtbl; }; struct ISupportErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define ISupportErrorInfo_Release(p) (p)->lpVtbl->Release(p) /*** ISupportErrorInfo methods ***/ #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) (p)->lpVtbl->InterfaceSupportsErrorInfo(p,a) #endif #define ISupportErrorInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ISupportErrorInfo methods ***/ \ STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE; HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( ISupportErrorInfo* This, REFIID riid); void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */ #ifndef __ITypeFactory_FWD_DEFINED__ #define __ITypeFactory_FWD_DEFINED__ typedef struct ITypeFactory ITypeFactory; #endif /***************************************************************************** * 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) struct ITypeFactory : public IUnknown { virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo( ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) = 0; }; #else typedef struct ITypeFactoryVtbl ITypeFactoryVtbl; struct ITypeFactory { const ITypeFactoryVtbl* lpVtbl; }; struct ITypeFactoryVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeFactory_Release(p) (p)->lpVtbl->Release(p) /*** ITypeFactory methods ***/ #define ITypeFactory_CreateFromTypeInfo(p,a,b,c) (p)->lpVtbl->CreateFromTypeInfo(p,a,b,c) #endif #define ITypeFactory_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeFactory methods ***/ \ STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE; HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy( ITypeFactory* This, ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv); void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ITypeFactory_INTERFACE_DEFINED__ */ #ifndef __ITypeMarshal_FWD_DEFINED__ #define __ITypeMarshal_FWD_DEFINED__ typedef struct ITypeMarshal ITypeMarshal; #endif /***************************************************************************** * 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) struct 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 ITypeMarshalVtbl; struct ITypeMarshal { const ITypeMarshalVtbl* lpVtbl; }; struct ITypeMarshalVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITypeMarshal_Release(p) (p)->lpVtbl->Release(p) /*** ITypeMarshal methods ***/ #define ITypeMarshal_Size(p,a,b,c,d) (p)->lpVtbl->Size(p,a,b,c,d) #define ITypeMarshal_Marshal(p,a,b,c,d,e,f) (p)->lpVtbl->Marshal(p,a,b,c,d,e,f) #define ITypeMarshal_Unmarshal(p,a,b,c,d,e) (p)->lpVtbl->Unmarshal(p,a,b,c,d,e) #define ITypeMarshal_Free(p,a) (p)->lpVtbl->Free(p,a) #endif #define ITypeMarshal_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ITypeMarshal methods ***/ \ STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \ STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \ STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \ STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE; HRESULT CALLBACK ITypeMarshal_Size_Proxy( ITypeMarshal* This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize); void __RPC_STUB ITypeMarshal_Size_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeMarshal_Marshal_Proxy( ITypeMarshal* This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten); void __RPC_STUB ITypeMarshal_Marshal_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeMarshal_Unmarshal_Proxy( ITypeMarshal* This, PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead); void __RPC_STUB ITypeMarshal_Unmarshal_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ITypeMarshal_Free_Proxy( ITypeMarshal* This, PVOID pvType); void __RPC_STUB ITypeMarshal_Free_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */ typedef IRecordInfo *LPRECORDINFO; /***************************************************************************** * IRecordInfo interface */ #ifndef __IRecordInfo_INTERFACE_DEFINED__ #define __IRecordInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 IRecordInfoVtbl; struct IRecordInfo { const IRecordInfoVtbl* lpVtbl; }; struct IRecordInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define IRecordInfo_Release(p) (p)->lpVtbl->Release(p) /*** IRecordInfo methods ***/ #define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a) #define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a) #define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b) #define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a) #define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a) #define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a) #define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a) #define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c) #define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d) #define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d) #define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d) #define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b) #define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a) #define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p) #define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b) #define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a) #endif #define IRecordInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IRecordInfo methods ***/ \ STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \ STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \ STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \ STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \ STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \ STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \ STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \ STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \ STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \ STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \ STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \ STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \ STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \ STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \ STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \ STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE; HRESULT CALLBACK IRecordInfo_RecordInit_Proxy( IRecordInfo* This, PVOID pvNew); void __RPC_STUB IRecordInfo_RecordInit_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_RecordClear_Proxy( IRecordInfo* This, PVOID pvExisting); void __RPC_STUB IRecordInfo_RecordClear_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_RecordCopy_Proxy( IRecordInfo* This, PVOID pvExisting, PVOID pvNew); void __RPC_STUB IRecordInfo_RecordCopy_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetGuid_Proxy( IRecordInfo* This, GUID* pguid); void __RPC_STUB IRecordInfo_GetGuid_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetName_Proxy( IRecordInfo* This, BSTR* pbstrName); void __RPC_STUB IRecordInfo_GetName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetSize_Proxy( IRecordInfo* This, ULONG* pcbSize); void __RPC_STUB IRecordInfo_GetSize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetTypeInfo_Proxy( IRecordInfo* This, ITypeInfo** ppTypeInfo); void __RPC_STUB IRecordInfo_GetTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetField_Proxy( IRecordInfo* This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); void __RPC_STUB IRecordInfo_GetField_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetFieldNoCopy_Proxy( IRecordInfo* This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray); void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_PutField_Proxy( IRecordInfo* This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); void __RPC_STUB IRecordInfo_PutField_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_PutFieldNoCopy_Proxy( IRecordInfo* This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_GetFieldNames_Proxy( IRecordInfo* This, ULONG* pcNames, BSTR* rgBstrNames); void __RPC_STUB IRecordInfo_GetFieldNames_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); BOOL CALLBACK IRecordInfo_IsMatchingType_Proxy( IRecordInfo* This, IRecordInfo* pRecordInfo); void __RPC_STUB IRecordInfo_IsMatchingType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); PVOID CALLBACK IRecordInfo_RecordCreate_Proxy( IRecordInfo* This); void __RPC_STUB IRecordInfo_RecordCreate_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_RecordCreateCopy_Proxy( IRecordInfo* This, PVOID pvSource, PVOID* ppvDest); void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IRecordInfo_RecordDestroy_Proxy( IRecordInfo* This, PVOID pvRecord); void __RPC_STUB IRecordInfo_RecordDestroy_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IRecordInfo_INTERFACE_DEFINED__ */ #ifndef __ICreateTypeInfo_FWD_DEFINED__ #define __ICreateTypeInfo_FWD_DEFINED__ typedef struct ICreateTypeInfo ICreateTypeInfo; #endif typedef ICreateTypeInfo *LPCREATETYPEINFO; /***************************************************************************** * ICreateTypeInfo interface */ #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__ #define __ICreateTypeInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ICreateTypeInfoVtbl; struct ICreateTypeInfo { const ICreateTypeInfoVtbl* lpVtbl; }; struct ICreateTypeInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICreateTypeInfo_Release(p) (p)->lpVtbl->Release(p) /*** ICreateTypeInfo methods ***/ #define ICreateTypeInfo_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a) #define ICreateTypeInfo_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a) #define ICreateTypeInfo_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a) #define ICreateTypeInfo_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a) #define ICreateTypeInfo_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b) #define ICreateTypeInfo_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b) #define ICreateTypeInfo_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b) #define ICreateTypeInfo_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b) #define ICreateTypeInfo_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b) #define ICreateTypeInfo_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a) #define ICreateTypeInfo_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a) #define ICreateTypeInfo_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b) #define ICreateTypeInfo_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c) #define ICreateTypeInfo_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b) #define ICreateTypeInfo_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a) #define ICreateTypeInfo_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c) #define ICreateTypeInfo_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b) #define ICreateTypeInfo_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b) #define ICreateTypeInfo_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b) #define ICreateTypeInfo_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b) #define ICreateTypeInfo_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b) #define ICreateTypeInfo_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a) #define ICreateTypeInfo_LayOut(p) (p)->lpVtbl->LayOut(p) #endif #define ICreateTypeInfo_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICreateTypeInfo methods ***/ \ STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \ STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \ STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \ STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \ STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \ STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \ STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \ STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \ STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \ STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \ STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \ STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \ STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \ STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \ STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \ STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \ STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \ STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \ STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \ STDMETHOD_(HRESULT,LayOut)(THIS) PURE; HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy( ICreateTypeInfo* This, REFGUID guid); void __RPC_STUB ICreateTypeInfo_SetGuid_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetTypeFlags_Proxy( ICreateTypeInfo* This, UINT uTypeFlags); void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetDocString_Proxy( ICreateTypeInfo* This, LPOLESTR pStrDoc); void __RPC_STUB ICreateTypeInfo_SetDocString_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetHelpContext_Proxy( ICreateTypeInfo* This, DWORD dwHelpContext); void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetVersion_Proxy( ICreateTypeInfo* This, WORD wMajorVerNum, WORD wMinorVerNum); void __RPC_STUB ICreateTypeInfo_SetVersion_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_AddRefTypeInfo_Proxy( ICreateTypeInfo* This, ITypeInfo* pTInfo, HREFTYPE* phRefType); void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_AddFuncDesc_Proxy( ICreateTypeInfo* This, UINT index, FUNCDESC* pFuncDesc); void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_AddImplType_Proxy( ICreateTypeInfo* This, UINT index, HREFTYPE hRefType); void __RPC_STUB ICreateTypeInfo_AddImplType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetImplTypeFlags_Proxy( ICreateTypeInfo* This, UINT index, INT implTypeFlags); void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetAlignment_Proxy( ICreateTypeInfo* This, WORD cbAlignment); void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetSchema_Proxy( ICreateTypeInfo* This, LPOLESTR pStrSchema); void __RPC_STUB ICreateTypeInfo_SetSchema_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_AddVarDesc_Proxy( ICreateTypeInfo* This, UINT index, VARDESC* pVarDesc); void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetFuncAndParamNames_Proxy( ICreateTypeInfo* This, UINT index, LPOLESTR* rgszNames, UINT cNames); void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetVarName_Proxy( ICreateTypeInfo* This, UINT index, LPOLESTR szName); void __RPC_STUB ICreateTypeInfo_SetVarName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetTypeDescAlias_Proxy( ICreateTypeInfo* This, TYPEDESC* pTDescAlias); void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( ICreateTypeInfo* This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetFuncDocString_Proxy( ICreateTypeInfo* This, UINT index, LPOLESTR szDocString); void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetVarDocString_Proxy( ICreateTypeInfo* This, UINT index, LPOLESTR szDocString); void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetFuncHelpContext_Proxy( ICreateTypeInfo* This, UINT index, DWORD dwHelpContext); void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetVarHelpContext_Proxy( ICreateTypeInfo* This, UINT index, DWORD dwHelpContext); void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetMops_Proxy( ICreateTypeInfo* This, UINT index, BSTR bstrMops); void __RPC_STUB ICreateTypeInfo_SetMops_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_SetTypeIdldesc_Proxy( ICreateTypeInfo* This, IDLDESC* pIdlDesc); void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo_LayOut_Proxy( ICreateTypeInfo* This); void __RPC_STUB ICreateTypeInfo_LayOut_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */ #ifndef __ICreateTypeInfo2_FWD_DEFINED__ #define __ICreateTypeInfo2_FWD_DEFINED__ typedef struct ICreateTypeInfo2 ICreateTypeInfo2; #endif typedef ICreateTypeInfo2 *LPCREATETYPEINFO2; /***************************************************************************** * ICreateTypeInfo2 interface */ #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__ #define __ICreateTypeInfo2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ICreateTypeInfo2Vtbl; struct ICreateTypeInfo2 { const ICreateTypeInfo2Vtbl* lpVtbl; }; struct ICreateTypeInfo2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICreateTypeInfo2_Release(p) (p)->lpVtbl->Release(p) /*** ICreateTypeInfo methods ***/ #define ICreateTypeInfo2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a) #define ICreateTypeInfo2_SetTypeFlags(p,a) (p)->lpVtbl->SetTypeFlags(p,a) #define ICreateTypeInfo2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a) #define ICreateTypeInfo2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a) #define ICreateTypeInfo2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b) #define ICreateTypeInfo2_AddRefTypeInfo(p,a,b) (p)->lpVtbl->AddRefTypeInfo(p,a,b) #define ICreateTypeInfo2_AddFuncDesc(p,a,b) (p)->lpVtbl->AddFuncDesc(p,a,b) #define ICreateTypeInfo2_AddImplType(p,a,b) (p)->lpVtbl->AddImplType(p,a,b) #define ICreateTypeInfo2_SetImplTypeFlags(p,a,b) (p)->lpVtbl->SetImplTypeFlags(p,a,b) #define ICreateTypeInfo2_SetAlignment(p,a) (p)->lpVtbl->SetAlignment(p,a) #define ICreateTypeInfo2_SetSchema(p,a) (p)->lpVtbl->SetSchema(p,a) #define ICreateTypeInfo2_AddVarDesc(p,a,b) (p)->lpVtbl->AddVarDesc(p,a,b) #define ICreateTypeInfo2_SetFuncAndParamNames(p,a,b,c) (p)->lpVtbl->SetFuncAndParamNames(p,a,b,c) #define ICreateTypeInfo2_SetVarName(p,a,b) (p)->lpVtbl->SetVarName(p,a,b) #define ICreateTypeInfo2_SetTypeDescAlias(p,a) (p)->lpVtbl->SetTypeDescAlias(p,a) #define ICreateTypeInfo2_DefineFuncAsDllEntry(p,a,b,c) (p)->lpVtbl->DefineFuncAsDllEntry(p,a,b,c) #define ICreateTypeInfo2_SetFuncDocString(p,a,b) (p)->lpVtbl->SetFuncDocString(p,a,b) #define ICreateTypeInfo2_SetVarDocString(p,a,b) (p)->lpVtbl->SetVarDocString(p,a,b) #define ICreateTypeInfo2_SetFuncHelpContext(p,a,b) (p)->lpVtbl->SetFuncHelpContext(p,a,b) #define ICreateTypeInfo2_SetVarHelpContext(p,a,b) (p)->lpVtbl->SetVarHelpContext(p,a,b) #define ICreateTypeInfo2_SetMops(p,a,b) (p)->lpVtbl->SetMops(p,a,b) #define ICreateTypeInfo2_SetTypeIdldesc(p,a) (p)->lpVtbl->SetTypeIdldesc(p,a) #define ICreateTypeInfo2_LayOut(p) (p)->lpVtbl->LayOut(p) /*** ICreateTypeInfo2 methods ***/ #define ICreateTypeInfo2_DeleteFuncDesc(p,a) (p)->lpVtbl->DeleteFuncDesc(p,a) #define ICreateTypeInfo2_DeleteFuncDescByMemId(p,a,b) (p)->lpVtbl->DeleteFuncDescByMemId(p,a,b) #define ICreateTypeInfo2_DeleteVarDesc(p,a) (p)->lpVtbl->DeleteVarDesc(p,a) #define ICreateTypeInfo2_DeleteVarDescByMemId(p,a) (p)->lpVtbl->DeleteVarDescByMemId(p,a) #define ICreateTypeInfo2_DeleteImplType(p,a) (p)->lpVtbl->DeleteImplType(p,a) #define ICreateTypeInfo2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b) #define ICreateTypeInfo2_SetFuncCustData(p,a,b,c) (p)->lpVtbl->SetFuncCustData(p,a,b,c) #define ICreateTypeInfo2_SetParamCustData(p,a,b,c,d) (p)->lpVtbl->SetParamCustData(p,a,b,c,d) #define ICreateTypeInfo2_SetVarCustData(p,a,b,c) (p)->lpVtbl->SetVarCustData(p,a,b,c) #define ICreateTypeInfo2_SetImplTypeCustData(p,a,b,c) (p)->lpVtbl->SetImplTypeCustData(p,a,b,c) #define ICreateTypeInfo2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a) #define ICreateTypeInfo2_SetFuncHelpStringContext(p,a,b) (p)->lpVtbl->SetFuncHelpStringContext(p,a,b) #define ICreateTypeInfo2_SetVarHelpStringContext(p,a,b) (p)->lpVtbl->SetVarHelpStringContext(p,a,b) #define ICreateTypeInfo2_Invalidate(p) (p)->lpVtbl->Invalidate(p) #define ICreateTypeInfo2_SetName(p,a) (p)->lpVtbl->SetName(p,a) #endif #define ICreateTypeInfo2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICreateTypeInfo methods ***/ \ STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \ STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \ STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \ STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \ STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \ STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \ STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \ STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \ STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \ STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \ STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \ STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \ STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \ STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \ STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \ STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \ STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \ STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \ STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \ STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \ /*** ICreateTypeInfo2 methods ***/ \ STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \ STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \ STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \ STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \ STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \ STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \ STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \ STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \ STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \ STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy( ICreateTypeInfo2* This, UINT index); void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy( ICreateTypeInfo2* This, MEMBERID memid, INVOKEKIND invKind); void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDesc_Proxy( ICreateTypeInfo2* This, UINT index); void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_DeleteVarDescByMemId_Proxy( ICreateTypeInfo2* This, MEMBERID memid); void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_DeleteImplType_Proxy( ICreateTypeInfo2* This, UINT index); void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetCustData_Proxy( ICreateTypeInfo2* This, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetFuncCustData_Proxy( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetParamCustData_Proxy( ICreateTypeInfo2* This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetVarCustData_Proxy( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetImplTypeCustData_Proxy( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetHelpStringContext_Proxy( ICreateTypeInfo2* This, ULONG dwHelpStringContext); void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetFuncHelpStringContext_Proxy( ICreateTypeInfo2* This, UINT index, ULONG dwHelpStringContext); void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetVarHelpStringContext_Proxy( ICreateTypeInfo2* This, UINT index, ULONG dwHelpStringContext); void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_Invalidate_Proxy( ICreateTypeInfo2* This); void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeInfo2_SetName_Proxy( ICreateTypeInfo2* This, LPOLESTR szName); void __RPC_STUB ICreateTypeInfo2_SetName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */ #ifndef __ICreateTypeLib_FWD_DEFINED__ #define __ICreateTypeLib_FWD_DEFINED__ typedef struct ICreateTypeLib ICreateTypeLib; #endif typedef ICreateTypeLib *LPCREATETYPELIB; /***************************************************************************** * ICreateTypeLib interface */ #ifndef __ICreateTypeLib_INTERFACE_DEFINED__ #define __ICreateTypeLib_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ICreateTypeLibVtbl; struct ICreateTypeLib { const ICreateTypeLibVtbl* lpVtbl; }; struct ICreateTypeLibVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICreateTypeLib_Release(p) (p)->lpVtbl->Release(p) /*** ICreateTypeLib methods ***/ #define ICreateTypeLib_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c) #define ICreateTypeLib_SetName(p,a) (p)->lpVtbl->SetName(p,a) #define ICreateTypeLib_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b) #define ICreateTypeLib_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a) #define ICreateTypeLib_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a) #define ICreateTypeLib_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a) #define ICreateTypeLib_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a) #define ICreateTypeLib_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a) #define ICreateTypeLib_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a) #define ICreateTypeLib_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p) #endif #define ICreateTypeLib_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICreateTypeLib methods ***/ \ STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \ STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \ STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \ STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \ STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \ STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \ STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \ STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \ STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy( ICreateTypeLib* This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetName_Proxy( ICreateTypeLib* This, LPOLESTR szName); void __RPC_STUB ICreateTypeLib_SetName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetVersion_Proxy( ICreateTypeLib* This, WORD wMajorVerNum, WORD wMinorVerNum); void __RPC_STUB ICreateTypeLib_SetVersion_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetGuid_Proxy( ICreateTypeLib* This, REFGUID guid); void __RPC_STUB ICreateTypeLib_SetGuid_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetDocString_Proxy( ICreateTypeLib* This, LPOLESTR szDoc); void __RPC_STUB ICreateTypeLib_SetDocString_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetHelpFileName_Proxy( ICreateTypeLib* This, LPOLESTR szHelpFileName); void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetHelpContext_Proxy( ICreateTypeLib* This, DWORD dwHelpContext); void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetLcid_Proxy( ICreateTypeLib* This, LCID lcid); void __RPC_STUB ICreateTypeLib_SetLcid_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SetLibFlags_Proxy( ICreateTypeLib* This, UINT uLibFlags); void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib_SaveAllChanges_Proxy( ICreateTypeLib* This); void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */ #ifndef __ICreateTypeLib2_FWD_DEFINED__ #define __ICreateTypeLib2_FWD_DEFINED__ typedef struct ICreateTypeLib2 ICreateTypeLib2; #endif typedef ICreateTypeLib2 *LPCREATETYPELIB2; /***************************************************************************** * ICreateTypeLib2 interface */ #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__ #define __ICreateTypeLib2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 ICreateTypeLib2Vtbl; struct ICreateTypeLib2 { const ICreateTypeLib2Vtbl* lpVtbl; }; struct ICreateTypeLib2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICreateTypeLib2_Release(p) (p)->lpVtbl->Release(p) /*** ICreateTypeLib methods ***/ #define ICreateTypeLib2_CreateTypeInfo(p,a,b,c) (p)->lpVtbl->CreateTypeInfo(p,a,b,c) #define ICreateTypeLib2_SetName(p,a) (p)->lpVtbl->SetName(p,a) #define ICreateTypeLib2_SetVersion(p,a,b) (p)->lpVtbl->SetVersion(p,a,b) #define ICreateTypeLib2_SetGuid(p,a) (p)->lpVtbl->SetGuid(p,a) #define ICreateTypeLib2_SetDocString(p,a) (p)->lpVtbl->SetDocString(p,a) #define ICreateTypeLib2_SetHelpFileName(p,a) (p)->lpVtbl->SetHelpFileName(p,a) #define ICreateTypeLib2_SetHelpContext(p,a) (p)->lpVtbl->SetHelpContext(p,a) #define ICreateTypeLib2_SetLcid(p,a) (p)->lpVtbl->SetLcid(p,a) #define ICreateTypeLib2_SetLibFlags(p,a) (p)->lpVtbl->SetLibFlags(p,a) #define ICreateTypeLib2_SaveAllChanges(p) (p)->lpVtbl->SaveAllChanges(p) /*** ICreateTypeLib2 methods ***/ #define ICreateTypeLib2_DeleteTypeInfo(p,a) (p)->lpVtbl->DeleteTypeInfo(p,a) #define ICreateTypeLib2_SetCustData(p,a,b) (p)->lpVtbl->SetCustData(p,a,b) #define ICreateTypeLib2_SetHelpStringContext(p,a) (p)->lpVtbl->SetHelpStringContext(p,a) #define ICreateTypeLib2_SetHelpStringDll(p,a) (p)->lpVtbl->SetHelpStringDll(p,a) #endif #define ICreateTypeLib2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICreateTypeLib methods ***/ \ STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \ STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \ STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \ STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \ STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \ STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \ STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \ STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \ STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \ STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \ /*** ICreateTypeLib2 methods ***/ \ STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \ STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \ STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \ STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE; HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy( ICreateTypeLib2* This, LPOLESTR szName); void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib2_SetCustData_Proxy( ICreateTypeLib2* This, REFGUID guid, VARIANT* pVarVal); void __RPC_STUB ICreateTypeLib2_SetCustData_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib2_SetHelpStringContext_Proxy( ICreateTypeLib2* This, ULONG dwHelpStringContext); void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICreateTypeLib2_SetHelpStringDll_Proxy( ICreateTypeLib2* This, LPOLESTR szFileName); void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */ #ifndef __IErrorLog_FWD_DEFINED__ #define __IErrorLog_FWD_DEFINED__ typedef struct IErrorLog IErrorLog; #endif typedef IErrorLog *LPERRORLOG; /***************************************************************************** * IErrorLog interface */ #ifndef __IErrorLog_INTERFACE_DEFINED__ #define __IErrorLog_INTERFACE_DEFINED__ DEFINE_GUID(IID_IErrorLog, 0x3127ca40, 0x446e, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); #if defined(__cplusplus) && !defined(CINTERFACE) struct IErrorLog : public IUnknown { virtual HRESULT STDMETHODCALLTYPE AddError( LPCOLESTR pszPropName, EXCEPINFO* pExcepInfo) = 0; }; #else typedef struct IErrorLogVtbl IErrorLogVtbl; struct IErrorLog { const IErrorLogVtbl* lpVtbl; }; struct IErrorLogVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IErrorLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IErrorLog_AddRef(p) (p)->lpVtbl->AddRef(p) #define IErrorLog_Release(p) (p)->lpVtbl->Release(p) /*** IErrorLog methods ***/ #define IErrorLog_AddError(p,a,b) (p)->lpVtbl->AddError(p,a,b) #endif #define IErrorLog_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IErrorLog methods ***/ \ STDMETHOD_(HRESULT,AddError)(THIS_ LPCOLESTR pszPropName, EXCEPINFO* pExcepInfo) PURE; HRESULT CALLBACK IErrorLog_AddError_Proxy( IErrorLog* This, LPCOLESTR pszPropName, EXCEPINFO* pExcepInfo); void __RPC_STUB IErrorLog_AddError_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IErrorLog_INTERFACE_DEFINED__ */ #ifndef __IPropertyBag_FWD_DEFINED__ #define __IPropertyBag_FWD_DEFINED__ typedef struct IPropertyBag IPropertyBag; #endif typedef IPropertyBag *LPPROPERTYBAG; /***************************************************************************** * IPropertyBag interface */ #ifndef __IPropertyBag_INTERFACE_DEFINED__ #define __IPropertyBag_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51); #if defined(__cplusplus) && !defined(CINTERFACE) struct 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 IPropertyBagVtbl; struct IPropertyBag { const IPropertyBagVtbl* lpVtbl; }; struct IPropertyBagVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IPropertyBag_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IPropertyBag_AddRef(p) (p)->lpVtbl->AddRef(p) #define IPropertyBag_Release(p) (p)->lpVtbl->Release(p) /*** IPropertyBag methods ***/ #define IPropertyBag_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c) #define IPropertyBag_Write(p,a,b) (p)->lpVtbl->Write(p,a,b) #endif #define IPropertyBag_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IPropertyBag methods ***/ \ STDMETHOD_(HRESULT,Read)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog) PURE; \ STDMETHOD_(HRESULT,Write)(THIS_ LPCOLESTR pszPropName, VARIANT* pVar) PURE; HRESULT CALLBACK IPropertyBag_RemoteRead_Proxy( IPropertyBag* This, LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog, DWORD varType, IUnknown* pUnkObj); void __RPC_STUB IPropertyBag_RemoteRead_Stub( struct IRpcStubBuffer* This, struct 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); HRESULT CALLBACK IPropertyBag_Write_Proxy( IPropertyBag* This, LPCOLESTR pszPropName, VARIANT* pVar); void __RPC_STUB IPropertyBag_Write_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IPropertyBag_INTERFACE_DEFINED__ */ #ifdef __cplusplus } #endif #endif /* __WIDL_OAIDL_H */