/*** Autogenerated by WIDL 0.1 from oaidl.idl - Do not edit ***/ #include "rpc.h" #include "rpcndr.h" #ifndef __WIDL_OAIDL_H #define __WIDL_OAIDL_H #ifdef __cplusplus extern "C" { #endif #include "objidl.h" typedef struct IDispatch IDispatch; typedef struct ITypeInfo ITypeInfo; typedef struct ITypeLib ITypeLib; typedef struct IRecordInfo IRecordInfo; 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_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 { 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; 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; 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 { 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; 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 */ DEFINE_GUID(IID_IDispatch, 0x00020400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDispatch: IUnknown { virtual HRESULT CALLBACK GetTypeInfoCount( UINT* pctinfo) = 0; virtual HRESULT CALLBACK GetTypeInfo( UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) = 0; virtual HRESULT CALLBACK GetIDsOfNames( REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) = 0; virtual HRESULT CALLBACK Invoke( DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct IDispatchVtbl IDispatchVtbl; struct IDispatch { const IDispatchVtbl* lpVtbl; }; struct IDispatchVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( IDispatch* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( IDispatch* This); ULONG (CALLBACK *Release)( IDispatch* This); /*** IDispatch methods ***/ HRESULT (CALLBACK *GetTypeInfoCount)( IDispatch* This, UINT* pctinfo); HRESULT (CALLBACK *GetTypeInfo)( IDispatch* This, UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo); HRESULT (CALLBACK *GetIDsOfNames)( IDispatch* This, REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId); HRESULT (CALLBACK *Invoke)( IDispatch* This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); }; #define IDispatch_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,GetTypeInfoCount,UINT*,pctinfo) \ ICOM_METHOD3 (HRESULT,GetTypeInfo,UINT,iTInfo,LCID,lcid,ITypeInfo**,ppTInfo) \ ICOM_METHOD5 (HRESULT,GetIDsOfNames,REFIID,riid,LPOLESTR*,rgszNames,UINT,cNames,LCID,lcid,DISPID*,rgDispId) \ ICOM_METHOD8 (HRESULT,Invoke,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 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); typedef struct IEnumVARIANT IEnumVARIANT; typedef IEnumVARIANT *LPENUMVARIANT; /***************************************************************************** * IEnumVARIANT interface */ DEFINE_GUID(IID_IEnumVARIANT, 0x00020404, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumVARIANT: IUnknown { virtual HRESULT CALLBACK Next( ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) = 0; virtual HRESULT CALLBACK Skip( ULONG celt) = 0; virtual HRESULT CALLBACK Reset( ) = 0; virtual HRESULT CALLBACK Clone( IEnumVARIANT** ppEnum) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct IEnumVARIANTVtbl IEnumVARIANTVtbl; struct IEnumVARIANT { const IEnumVARIANTVtbl* lpVtbl; }; struct IEnumVARIANTVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( IEnumVARIANT* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( IEnumVARIANT* This); ULONG (CALLBACK *Release)( IEnumVARIANT* This); /*** IEnumVARIANT methods ***/ HRESULT (CALLBACK *Next)( IEnumVARIANT* This, ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched); HRESULT (CALLBACK *Skip)( IEnumVARIANT* This, ULONG celt); HRESULT (CALLBACK *Reset)( IEnumVARIANT* This); HRESULT (CALLBACK *Clone)( IEnumVARIANT* This, IEnumVARIANT** ppEnum); }; #define IEnumVARIANT_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD3 (HRESULT,Next,ULONG,celt,VARIANT*,rgVar,ULONG*,pCeltFetched) \ ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \ ICOM_METHOD (HRESULT,Reset) \ ICOM_METHOD1 (HRESULT,Clone,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 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); typedef struct ITypeComp ITypeComp; 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 */ DEFINE_GUID(IID_ITypeComp, 0x00020403, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeComp: IUnknown { virtual HRESULT CALLBACK Bind( LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) = 0; virtual HRESULT CALLBACK BindType( LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeCompVtbl ITypeCompVtbl; struct ITypeComp { const ITypeCompVtbl* lpVtbl; }; struct ITypeCompVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeComp* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeComp* This); ULONG (CALLBACK *Release)( ITypeComp* This); /*** ITypeComp methods ***/ HRESULT (CALLBACK *Bind)( ITypeComp* This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr); HRESULT (CALLBACK *BindType)( ITypeComp* This, LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp); }; #define ITypeComp_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD6 (HRESULT,Bind,LPOLESTR,szName,ULONG,lHashVal,WORD,wFlags,ITypeInfo**,ppTInfo,DESCKIND*,pDescKind,BINDPTR*,pBindPtr) \ ICOM_METHOD4 (HRESULT,BindType,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 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); typedef ITypeInfo *LPTYPEINFO; /***************************************************************************** * ITypeInfo interface */ DEFINE_GUID(IID_ITypeInfo, 0x00020401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeInfo: IUnknown { virtual HRESULT CALLBACK GetTypeAttr( TYPEATTR** ppTypeAttr) = 0; virtual HRESULT CALLBACK GetTypeComp( ITypeComp** ppTComp) = 0; virtual HRESULT CALLBACK GetFuncDesc( UINT index, FUNCDESC** ppFuncDesc) = 0; virtual HRESULT CALLBACK GetVarDesc( UINT index, VARDESC** ppVarDesc) = 0; virtual HRESULT CALLBACK GetNames( MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) = 0; virtual HRESULT CALLBACK GetRefTypeOfImplType( UINT index, HREFTYPE* pRefType) = 0; virtual HRESULT CALLBACK GetImplTypeFlags( UINT index, INT* pImplTypeFlags) = 0; virtual HRESULT CALLBACK GetIDsOfNames( LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) = 0; virtual HRESULT CALLBACK Invoke( PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) = 0; virtual HRESULT CALLBACK GetDocumentation( MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) = 0; virtual HRESULT CALLBACK GetDllEntry( MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) = 0; virtual HRESULT CALLBACK GetRefTypeInfo( HREFTYPE hRefType, ITypeInfo** ppTInfo) = 0; virtual HRESULT CALLBACK AddressOfMember( MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) = 0; virtual HRESULT CALLBACK CreateInstance( IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) = 0; virtual HRESULT CALLBACK GetMops( MEMBERID memid, BSTR* pBstrMops) = 0; virtual HRESULT CALLBACK GetContainingTypeLib( ITypeLib** ppTLib, UINT* pIndex) = 0; virtual void CALLBACK ReleaseTypeAttr( TYPEATTR* pTypeAttr) = 0; virtual void CALLBACK ReleaseFuncDesc( FUNCDESC* pFuncDesc) = 0; virtual void CALLBACK ReleaseVarDesc( VARDESC* pVarDesc) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeInfoVtbl ITypeInfoVtbl; struct ITypeInfo { const ITypeInfoVtbl* lpVtbl; }; struct ITypeInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeInfo* This); ULONG (CALLBACK *Release)( ITypeInfo* This); /*** ITypeInfo methods ***/ HRESULT (CALLBACK *GetTypeAttr)( ITypeInfo* This, TYPEATTR** ppTypeAttr); HRESULT (CALLBACK *GetTypeComp)( ITypeInfo* This, ITypeComp** ppTComp); HRESULT (CALLBACK *GetFuncDesc)( ITypeInfo* This, UINT index, FUNCDESC** ppFuncDesc); HRESULT (CALLBACK *GetVarDesc)( ITypeInfo* This, UINT index, VARDESC** ppVarDesc); HRESULT (CALLBACK *GetNames)( ITypeInfo* This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); HRESULT (CALLBACK *GetRefTypeOfImplType)( ITypeInfo* This, UINT index, HREFTYPE* pRefType); HRESULT (CALLBACK *GetImplTypeFlags)( ITypeInfo* This, UINT index, INT* pImplTypeFlags); HRESULT (CALLBACK *GetIDsOfNames)( ITypeInfo* This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); HRESULT (CALLBACK *Invoke)( ITypeInfo* This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); HRESULT (CALLBACK *GetDocumentation)( ITypeInfo* This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); HRESULT (CALLBACK *GetDllEntry)( ITypeInfo* This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); HRESULT (CALLBACK *GetRefTypeInfo)( ITypeInfo* This, HREFTYPE hRefType, ITypeInfo** ppTInfo); HRESULT (CALLBACK *AddressOfMember)( ITypeInfo* This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); HRESULT (CALLBACK *CreateInstance)( ITypeInfo* This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); HRESULT (CALLBACK *GetMops)( ITypeInfo* This, MEMBERID memid, BSTR* pBstrMops); HRESULT (CALLBACK *GetContainingTypeLib)( ITypeInfo* This, ITypeLib** ppTLib, UINT* pIndex); void (CALLBACK *ReleaseTypeAttr)( ITypeInfo* This, TYPEATTR* pTypeAttr); void (CALLBACK *ReleaseFuncDesc)( ITypeInfo* This, FUNCDESC* pFuncDesc); void (CALLBACK *ReleaseVarDesc)( ITypeInfo* This, VARDESC* pVarDesc); }; #define ITypeInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,GetTypeAttr,TYPEATTR**,ppTypeAttr) \ ICOM_METHOD1 (HRESULT,GetTypeComp,ITypeComp**,ppTComp) \ ICOM_METHOD2 (HRESULT,GetFuncDesc,UINT,index,FUNCDESC**,ppFuncDesc) \ ICOM_METHOD2 (HRESULT,GetVarDesc,UINT,index,VARDESC**,ppVarDesc) \ ICOM_METHOD4 (HRESULT,GetNames,MEMBERID,memid,BSTR*,rgBstrNames,UINT,cMaxNames,UINT*,pcNames) \ ICOM_METHOD2 (HRESULT,GetRefTypeOfImplType,UINT,index,HREFTYPE*,pRefType) \ ICOM_METHOD2 (HRESULT,GetImplTypeFlags,UINT,index,INT*,pImplTypeFlags) \ ICOM_METHOD3 (HRESULT,GetIDsOfNames,LPOLESTR*,rgszNames,UINT,cNames,MEMBERID*,pMemId) \ ICOM_METHOD7 (HRESULT,Invoke,PVOID,pvInstance,MEMBERID,memid,WORD,wFlags,DISPPARAMS*,pDispParams,VARIANT*,pVarResult,EXCEPINFO*,pExcepInfo,UINT*,puArgErr) \ ICOM_METHOD5 (HRESULT,GetDocumentation,MEMBERID,memid,BSTR*,pBstrName,BSTR*,pBstrDocString,DWORD*,pdwHelpContext,BSTR*,pBstrHelpFile) \ ICOM_METHOD5 (HRESULT,GetDllEntry,MEMBERID,memid,INVOKEKIND,invKind,BSTR*,pBstrDllName,BSTR*,pBstrName,WORD*,pwOrdinal) \ ICOM_METHOD2 (HRESULT,GetRefTypeInfo,HREFTYPE,hRefType,ITypeInfo**,ppTInfo) \ ICOM_METHOD3 (HRESULT,AddressOfMember,MEMBERID,memid,INVOKEKIND,invKind,PVOID*,ppv) \ ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,PVOID*,ppvObj) \ ICOM_METHOD2 (HRESULT,GetMops,MEMBERID,memid,BSTR*,pBstrMops) \ ICOM_METHOD2 (HRESULT,GetContainingTypeLib,ITypeLib**,ppTLib,UINT*,pIndex) \ ICOM_VMETHOD1(ReleaseTypeAttr,TYPEATTR*,pTypeAttr) \ ICOM_VMETHOD1(ReleaseFuncDesc,FUNCDESC*,pFuncDesc) \ ICOM_VMETHOD1(ReleaseVarDesc,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 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); typedef struct ITypeInfo2 ITypeInfo2; typedef ITypeInfo2 *LPTYPEINFO2; /***************************************************************************** * ITypeInfo2 interface */ DEFINE_GUID(IID_ITypeInfo2, 0x00020412, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeInfo2: ITypeInfo { virtual HRESULT CALLBACK GetTypeKind( TYPEKIND* pTypeKind) = 0; virtual HRESULT CALLBACK GetTypeFlags( ULONG* pTypeFlags) = 0; virtual HRESULT CALLBACK GetFuncIndexOfMemId( MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) = 0; virtual HRESULT CALLBACK GetVarIndexOfMemId( MEMBERID memid, UINT* pVarIndex) = 0; virtual HRESULT CALLBACK GetCustData( REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetFuncCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetParamCustData( UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetVarCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetImplTypeCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetDocumentation2( MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) = 0; virtual HRESULT CALLBACK GetAllCustData( CUSTDATA* pCustData) = 0; virtual HRESULT CALLBACK GetAllFuncCustData( UINT index, CUSTDATA* pCustData) = 0; virtual HRESULT CALLBACK GetAllParamCustData( UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) = 0; virtual HRESULT CALLBACK GetAllVarCustData( UINT index, CUSTDATA* pCustData) = 0; virtual HRESULT CALLBACK GetAllImplTypeCustData( UINT index, CUSTDATA* pCustData) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeInfo2Vtbl ITypeInfo2Vtbl; struct ITypeInfo2 { const ITypeInfo2Vtbl* lpVtbl; }; struct ITypeInfo2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeInfo2* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeInfo2* This); ULONG (CALLBACK *Release)( ITypeInfo2* This); /*** ITypeInfo methods ***/ HRESULT (CALLBACK *GetTypeAttr)( ITypeInfo2* This, TYPEATTR** ppTypeAttr); HRESULT (CALLBACK *GetTypeComp)( ITypeInfo2* This, ITypeComp** ppTComp); HRESULT (CALLBACK *GetFuncDesc)( ITypeInfo2* This, UINT index, FUNCDESC** ppFuncDesc); HRESULT (CALLBACK *GetVarDesc)( ITypeInfo2* This, UINT index, VARDESC** ppVarDesc); HRESULT (CALLBACK *GetNames)( ITypeInfo2* This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); HRESULT (CALLBACK *GetRefTypeOfImplType)( ITypeInfo2* This, UINT index, HREFTYPE* pRefType); HRESULT (CALLBACK *GetImplTypeFlags)( ITypeInfo2* This, UINT index, INT* pImplTypeFlags); HRESULT (CALLBACK *GetIDsOfNames)( ITypeInfo2* This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); HRESULT (CALLBACK *Invoke)( ITypeInfo2* This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); HRESULT (CALLBACK *GetDocumentation)( ITypeInfo2* This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); HRESULT (CALLBACK *GetDllEntry)( ITypeInfo2* This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); HRESULT (CALLBACK *GetRefTypeInfo)( ITypeInfo2* This, HREFTYPE hRefType, ITypeInfo** ppTInfo); HRESULT (CALLBACK *AddressOfMember)( ITypeInfo2* This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); HRESULT (CALLBACK *CreateInstance)( ITypeInfo2* This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); HRESULT (CALLBACK *GetMops)( ITypeInfo2* This, MEMBERID memid, BSTR* pBstrMops); HRESULT (CALLBACK *GetContainingTypeLib)( ITypeInfo2* This, ITypeLib** ppTLib, UINT* pIndex); void (CALLBACK *ReleaseTypeAttr)( ITypeInfo2* This, TYPEATTR* pTypeAttr); void (CALLBACK *ReleaseFuncDesc)( ITypeInfo2* This, FUNCDESC* pFuncDesc); void (CALLBACK *ReleaseVarDesc)( ITypeInfo2* This, VARDESC* pVarDesc); /*** ITypeInfo2 methods ***/ HRESULT (CALLBACK *GetTypeKind)( ITypeInfo2* This, TYPEKIND* pTypeKind); HRESULT (CALLBACK *GetTypeFlags)( ITypeInfo2* This, ULONG* pTypeFlags); HRESULT (CALLBACK *GetFuncIndexOfMemId)( ITypeInfo2* This, MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex); HRESULT (CALLBACK *GetVarIndexOfMemId)( ITypeInfo2* This, MEMBERID memid, UINT* pVarIndex); HRESULT (CALLBACK *GetCustData)( ITypeInfo2* This, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetFuncCustData)( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetParamCustData)( ITypeInfo2* This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetVarCustData)( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetImplTypeCustData)( ITypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetDocumentation2)( ITypeInfo2* This, MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); HRESULT (CALLBACK *GetAllCustData)( ITypeInfo2* This, CUSTDATA* pCustData); HRESULT (CALLBACK *GetAllFuncCustData)( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); HRESULT (CALLBACK *GetAllParamCustData)( ITypeInfo2* This, UINT indexFunc, UINT indexParam, CUSTDATA* pCustData); HRESULT (CALLBACK *GetAllVarCustData)( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); HRESULT (CALLBACK *GetAllImplTypeCustData)( ITypeInfo2* This, UINT index, CUSTDATA* pCustData); }; #define ITypeInfo2_IMETHODS \ ITypeInfo_IMETHODS \ ICOM_METHOD1 (HRESULT,GetTypeKind,TYPEKIND*,pTypeKind) \ ICOM_METHOD1 (HRESULT,GetTypeFlags,ULONG*,pTypeFlags) \ ICOM_METHOD3 (HRESULT,GetFuncIndexOfMemId,MEMBERID,memid,INVOKEKIND,invKind,UINT*,pFuncIndex) \ ICOM_METHOD2 (HRESULT,GetVarIndexOfMemId,MEMBERID,memid,UINT*,pVarIndex) \ ICOM_METHOD2 (HRESULT,GetCustData,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,GetFuncCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD4 (HRESULT,GetParamCustData,UINT,indexFunc,UINT,indexParam,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,GetVarCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,GetImplTypeCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD5 (HRESULT,GetDocumentation2,MEMBERID,memid,LCID,lcid,BSTR*,pbstrHelpString,DWORD*,pdwHelpStringContext,BSTR*,pbstrHelpStringDll) \ ICOM_METHOD1 (HRESULT,GetAllCustData,CUSTDATA*,pCustData) \ ICOM_METHOD2 (HRESULT,GetAllFuncCustData,UINT,index,CUSTDATA*,pCustData) \ ICOM_METHOD3 (HRESULT,GetAllParamCustData,UINT,indexFunc,UINT,indexParam,CUSTDATA*,pCustData) \ ICOM_METHOD2 (HRESULT,GetAllVarCustData,UINT,index,CUSTDATA*,pCustData) \ ICOM_METHOD2 (HRESULT,GetAllImplTypeCustData,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 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); 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 */ DEFINE_GUID(IID_ITypeLib, 0x00020402, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeLib: IUnknown { virtual UINT CALLBACK GetTypeInfoCount( ) = 0; virtual HRESULT CALLBACK GetTypeInfo( UINT index, ITypeInfo** ppTInfo) = 0; virtual HRESULT CALLBACK GetTypeInfoType( UINT index, TYPEKIND* pTKind) = 0; virtual HRESULT CALLBACK GetTypeInfoOfGuid( REFGUID guid, ITypeInfo** ppTinfo) = 0; virtual HRESULT CALLBACK GetLibAttr( TLIBATTR** ppTLibAttr) = 0; virtual HRESULT CALLBACK GetTypeComp( ITypeComp** ppTComp) = 0; virtual HRESULT CALLBACK GetDocumentation( INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) = 0; virtual HRESULT CALLBACK IsName( LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) = 0; virtual HRESULT CALLBACK FindName( LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) = 0; virtual void CALLBACK ReleaseTLibAttr( TLIBATTR* pTLibAttr) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeLibVtbl ITypeLibVtbl; struct ITypeLib { const ITypeLibVtbl* lpVtbl; }; struct ITypeLibVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeLib* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeLib* This); ULONG (CALLBACK *Release)( ITypeLib* This); /*** ITypeLib methods ***/ UINT (CALLBACK *GetTypeInfoCount)( ITypeLib* This); HRESULT (CALLBACK *GetTypeInfo)( ITypeLib* This, UINT index, ITypeInfo** ppTInfo); HRESULT (CALLBACK *GetTypeInfoType)( ITypeLib* This, UINT index, TYPEKIND* pTKind); HRESULT (CALLBACK *GetTypeInfoOfGuid)( ITypeLib* This, REFGUID guid, ITypeInfo** ppTinfo); HRESULT (CALLBACK *GetLibAttr)( ITypeLib* This, TLIBATTR** ppTLibAttr); HRESULT (CALLBACK *GetTypeComp)( ITypeLib* This, ITypeComp** ppTComp); HRESULT (CALLBACK *GetDocumentation)( ITypeLib* This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); HRESULT (CALLBACK *IsName)( ITypeLib* This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); HRESULT (CALLBACK *FindName)( ITypeLib* This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); void (CALLBACK *ReleaseTLibAttr)( ITypeLib* This, TLIBATTR* pTLibAttr); }; #define ITypeLib_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD (UINT,GetTypeInfoCount) \ ICOM_METHOD2 (HRESULT,GetTypeInfo,UINT,index,ITypeInfo**,ppTInfo) \ ICOM_METHOD2 (HRESULT,GetTypeInfoType,UINT,index,TYPEKIND*,pTKind) \ ICOM_METHOD2 (HRESULT,GetTypeInfoOfGuid,REFGUID,guid,ITypeInfo**,ppTinfo) \ ICOM_METHOD1 (HRESULT,GetLibAttr,TLIBATTR**,ppTLibAttr) \ ICOM_METHOD1 (HRESULT,GetTypeComp,ITypeComp**,ppTComp) \ ICOM_METHOD5 (HRESULT,GetDocumentation,INT,index,BSTR*,pBstrName,BSTR*,pBstrDocString,DWORD*,pdwHelpContext,BSTR*,pBstrHelpFile) \ ICOM_METHOD3 (HRESULT,IsName,LPOLESTR,szNameBuf,ULONG,lHashVal,BOOL*,pfName) \ ICOM_METHOD5 (HRESULT,FindName,LPOLESTR,szNameBuf,ULONG,lHashVal,ITypeInfo**,ppTInfo,MEMBERID*,rgMemId,USHORT*,pcFound) \ ICOM_VMETHOD1(ReleaseTLibAttr,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 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); typedef struct ITypeLib2 ITypeLib2; typedef ITypeLib2 *LPTYPELIB2; /***************************************************************************** * ITypeLib2 interface */ DEFINE_GUID(IID_ITypeLib2, 0x00020411, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeLib2: ITypeLib { virtual HRESULT CALLBACK GetCustData( REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK GetLibStatistics( ULONG* pcUniqueNames, ULONG* pcchUniqueNames) = 0; virtual HRESULT CALLBACK GetDocumentation2( INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) = 0; virtual HRESULT CALLBACK GetAllCustData( CUSTDATA* pCustData) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeLib2Vtbl ITypeLib2Vtbl; struct ITypeLib2 { const ITypeLib2Vtbl* lpVtbl; }; struct ITypeLib2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeLib2* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeLib2* This); ULONG (CALLBACK *Release)( ITypeLib2* This); /*** ITypeLib methods ***/ UINT (CALLBACK *GetTypeInfoCount)( ITypeLib2* This); HRESULT (CALLBACK *GetTypeInfo)( ITypeLib2* This, UINT index, ITypeInfo** ppTInfo); HRESULT (CALLBACK *GetTypeInfoType)( ITypeLib2* This, UINT index, TYPEKIND* pTKind); HRESULT (CALLBACK *GetTypeInfoOfGuid)( ITypeLib2* This, REFGUID guid, ITypeInfo** ppTinfo); HRESULT (CALLBACK *GetLibAttr)( ITypeLib2* This, TLIBATTR** ppTLibAttr); HRESULT (CALLBACK *GetTypeComp)( ITypeLib2* This, ITypeComp** ppTComp); HRESULT (CALLBACK *GetDocumentation)( ITypeLib2* This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); HRESULT (CALLBACK *IsName)( ITypeLib2* This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); HRESULT (CALLBACK *FindName)( ITypeLib2* This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); void (CALLBACK *ReleaseTLibAttr)( ITypeLib2* This, TLIBATTR* pTLibAttr); /*** ITypeLib2 methods ***/ HRESULT (CALLBACK *GetCustData)( ITypeLib2* This, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *GetLibStatistics)( ITypeLib2* This, ULONG* pcUniqueNames, ULONG* pcchUniqueNames); HRESULT (CALLBACK *GetDocumentation2)( ITypeLib2* This, INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); HRESULT (CALLBACK *GetAllCustData)( ITypeLib2* This, CUSTDATA* pCustData); }; #define ITypeLib2_IMETHODS \ ITypeLib_IMETHODS \ ICOM_METHOD2 (HRESULT,GetCustData,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD2 (HRESULT,GetLibStatistics,ULONG*,pcUniqueNames,ULONG*,pcchUniqueNames) \ ICOM_METHOD5 (HRESULT,GetDocumentation2,INT,index,LCID,lcid,BSTR*,pbstrHelpString,DWORD*,pdwHelpStringContext,BSTR*,pbstrHelpStringDll) \ ICOM_METHOD1 (HRESULT,GetAllCustData,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 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); typedef struct ITypeChangeEvents ITypeChangeEvents; 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 */ DEFINE_GUID(IID_ITypeChangeEvents, 0x00020410, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeChangeEvents: IUnknown { virtual HRESULT CALLBACK RequestTypeChange( CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) = 0; virtual HRESULT CALLBACK AfterTypeChange( CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeChangeEventsVtbl ITypeChangeEventsVtbl; struct ITypeChangeEvents { const ITypeChangeEventsVtbl* lpVtbl; }; struct ITypeChangeEventsVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeChangeEvents* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeChangeEvents* This); ULONG (CALLBACK *Release)( ITypeChangeEvents* This); /*** ITypeChangeEvents methods ***/ HRESULT (CALLBACK *RequestTypeChange)( ITypeChangeEvents* This, CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel); HRESULT (CALLBACK *AfterTypeChange)( ITypeChangeEvents* This, CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName); }; #define ITypeChangeEvents_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD4 (HRESULT,RequestTypeChange,CHANGEKIND,changeKind,ITypeInfo*,pTInfoBefore,LPOLESTR,pStrName,INT*,pfCancel) \ ICOM_METHOD3 (HRESULT,AfterTypeChange,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 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); typedef struct IErrorInfo IErrorInfo; typedef IErrorInfo *LPERRORINFO; /***************************************************************************** * IErrorInfo interface */ DEFINE_GUID(IID_IErrorInfo, 0x1cf2b120, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct IErrorInfo: IUnknown { virtual HRESULT CALLBACK GetGUID( GUID* pGUID) = 0; virtual HRESULT CALLBACK GetSource( BSTR* pBstrSource) = 0; virtual HRESULT CALLBACK GetDescription( BSTR* pBstrDescription) = 0; virtual HRESULT CALLBACK GetHelpFile( BSTR* pBstrHelpFile) = 0; virtual HRESULT CALLBACK GetHelpContext( DWORD* pdwHelpContext) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct IErrorInfoVtbl IErrorInfoVtbl; struct IErrorInfo { const IErrorInfoVtbl* lpVtbl; }; struct IErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( IErrorInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( IErrorInfo* This); ULONG (CALLBACK *Release)( IErrorInfo* This); /*** IErrorInfo methods ***/ HRESULT (CALLBACK *GetGUID)( IErrorInfo* This, GUID* pGUID); HRESULT (CALLBACK *GetSource)( IErrorInfo* This, BSTR* pBstrSource); HRESULT (CALLBACK *GetDescription)( IErrorInfo* This, BSTR* pBstrDescription); HRESULT (CALLBACK *GetHelpFile)( IErrorInfo* This, BSTR* pBstrHelpFile); HRESULT (CALLBACK *GetHelpContext)( IErrorInfo* This, DWORD* pdwHelpContext); }; #define IErrorInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,GetGUID,GUID*,pGUID) \ ICOM_METHOD1 (HRESULT,GetSource,BSTR*,pBstrSource) \ ICOM_METHOD1 (HRESULT,GetDescription,BSTR*,pBstrDescription) \ ICOM_METHOD1 (HRESULT,GetHelpFile,BSTR*,pBstrHelpFile) \ ICOM_METHOD1 (HRESULT,GetHelpContext,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 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); typedef struct ICreateErrorInfo ICreateErrorInfo; typedef ICreateErrorInfo *LPCREATEERRORINFO; /***************************************************************************** * ICreateErrorInfo interface */ DEFINE_GUID(IID_ICreateErrorInfo, 0x22f03340, 0x547d, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICreateErrorInfo: IUnknown { virtual HRESULT CALLBACK SetGUID( REFGUID rguid) = 0; virtual HRESULT CALLBACK SetSource( LPOLESTR szSource) = 0; virtual HRESULT CALLBACK SetDescription( LPOLESTR szDescription) = 0; virtual HRESULT CALLBACK SetHelpFile( LPOLESTR szHelpFile) = 0; virtual HRESULT CALLBACK SetHelpContext( DWORD dwHelpContext) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ICreateErrorInfoVtbl ICreateErrorInfoVtbl; struct ICreateErrorInfo { const ICreateErrorInfoVtbl* lpVtbl; }; struct ICreateErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ICreateErrorInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ICreateErrorInfo* This); ULONG (CALLBACK *Release)( ICreateErrorInfo* This); /*** ICreateErrorInfo methods ***/ HRESULT (CALLBACK *SetGUID)( ICreateErrorInfo* This, REFGUID rguid); HRESULT (CALLBACK *SetSource)( ICreateErrorInfo* This, LPOLESTR szSource); HRESULT (CALLBACK *SetDescription)( ICreateErrorInfo* This, LPOLESTR szDescription); HRESULT (CALLBACK *SetHelpFile)( ICreateErrorInfo* This, LPOLESTR szHelpFile); HRESULT (CALLBACK *SetHelpContext)( ICreateErrorInfo* This, DWORD dwHelpContext); }; #define ICreateErrorInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,SetGUID,REFGUID,rguid) \ ICOM_METHOD1 (HRESULT,SetSource,LPOLESTR,szSource) \ ICOM_METHOD1 (HRESULT,SetDescription,LPOLESTR,szDescription) \ ICOM_METHOD1 (HRESULT,SetHelpFile,LPOLESTR,szHelpFile) \ ICOM_METHOD1 (HRESULT,SetHelpContext,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 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); typedef struct ISupportErrorInfo ISupportErrorInfo; typedef ISupportErrorInfo *LPSUPPORTERRORINFO; /***************************************************************************** * ISupportErrorInfo interface */ DEFINE_GUID(IID_ISupportErrorInfo, 0xdf0b3d60, 0x548f, 0x101b, 0x8e,0x65, 0x08,0x00,0x2b,0x2b,0xd1,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct ISupportErrorInfo: IUnknown { virtual HRESULT CALLBACK InterfaceSupportsErrorInfo( REFIID riid) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ISupportErrorInfoVtbl ISupportErrorInfoVtbl; struct ISupportErrorInfo { const ISupportErrorInfoVtbl* lpVtbl; }; struct ISupportErrorInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ISupportErrorInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ISupportErrorInfo* This); ULONG (CALLBACK *Release)( ISupportErrorInfo* This); /*** ISupportErrorInfo methods ***/ HRESULT (CALLBACK *InterfaceSupportsErrorInfo)( ISupportErrorInfo* This, REFIID riid); }; #define ISupportErrorInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,InterfaceSupportsErrorInfo,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 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); typedef struct ITypeFactory ITypeFactory; /***************************************************************************** * ITypeFactory interface */ DEFINE_GUID(IID_ITypeFactory, 0x0000002e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeFactory: IUnknown { virtual HRESULT CALLBACK CreateFromTypeInfo( ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeFactoryVtbl ITypeFactoryVtbl; struct ITypeFactory { const ITypeFactoryVtbl* lpVtbl; }; struct ITypeFactoryVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeFactory* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeFactory* This); ULONG (CALLBACK *Release)( ITypeFactory* This); /*** ITypeFactory methods ***/ HRESULT (CALLBACK *CreateFromTypeInfo)( ITypeFactory* This, ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv); }; #define ITypeFactory_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD3 (HRESULT,CreateFromTypeInfo,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 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); typedef struct ITypeMarshal ITypeMarshal; /***************************************************************************** * ITypeMarshal interface */ DEFINE_GUID(IID_ITypeMarshal, 0x0000002d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ITypeMarshal: IUnknown { virtual HRESULT CALLBACK Size( PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) = 0; virtual HRESULT CALLBACK Marshal( PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) = 0; virtual HRESULT CALLBACK Unmarshal( PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) = 0; virtual HRESULT CALLBACK Free( PVOID pvType) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ITypeMarshalVtbl ITypeMarshalVtbl; struct ITypeMarshal { const ITypeMarshalVtbl* lpVtbl; }; struct ITypeMarshalVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ITypeMarshal* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ITypeMarshal* This); ULONG (CALLBACK *Release)( ITypeMarshal* This); /*** ITypeMarshal methods ***/ HRESULT (CALLBACK *Size)( ITypeMarshal* This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize); HRESULT (CALLBACK *Marshal)( ITypeMarshal* This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten); HRESULT (CALLBACK *Unmarshal)( ITypeMarshal* This, PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead); HRESULT (CALLBACK *Free)( ITypeMarshal* This, PVOID pvType); }; #define ITypeMarshal_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD4 (HRESULT,Size,PVOID,pvType,DWORD,dwDestContext,PVOID,pvDestContext,ULONG*,pSize) \ ICOM_METHOD6 (HRESULT,Marshal,PVOID,pvType,DWORD,dwDestContext,PVOID,pvDestContext,ULONG,cbBufferLength,BYTE*,pBuffer,ULONG*,pcbWritten) \ ICOM_METHOD5 (HRESULT,Unmarshal,PVOID,pvType,DWORD,dwFlags,ULONG,cbBufferLength,BYTE*,pBuffer,ULONG*,pcbRead) \ ICOM_METHOD1 (HRESULT,Free,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 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); typedef IRecordInfo *LPRECORDINFO; /***************************************************************************** * IRecordInfo interface */ DEFINE_GUID(IID_IRecordInfo, 0x0000002f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRecordInfo: IUnknown { virtual HRESULT CALLBACK RecordInit( PVOID pvNew) = 0; virtual HRESULT CALLBACK RecordClear( PVOID pvExisting) = 0; virtual HRESULT CALLBACK RecordCopy( PVOID pvExisting, PVOID pvNew) = 0; virtual HRESULT CALLBACK GetGuid( GUID* pguid) = 0; virtual HRESULT CALLBACK GetName( BSTR* pbstrName) = 0; virtual HRESULT CALLBACK GetSize( ULONG* pcbSize) = 0; virtual HRESULT CALLBACK GetTypeInfo( ITypeInfo** ppTypeInfo) = 0; virtual HRESULT CALLBACK GetField( PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) = 0; virtual HRESULT CALLBACK GetFieldNoCopy( PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) = 0; virtual HRESULT CALLBACK PutField( ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) = 0; virtual HRESULT CALLBACK PutFieldNoCopy( ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) = 0; virtual HRESULT CALLBACK GetFieldNames( ULONG* pcNames, BSTR* rgBstrNames) = 0; virtual BOOL CALLBACK IsMatchingType( IRecordInfo* pRecordInfo) = 0; virtual PVOID CALLBACK RecordCreate( ) = 0; virtual HRESULT CALLBACK RecordCreateCopy( PVOID pvSource, PVOID* ppvDest) = 0; virtual HRESULT CALLBACK RecordDestroy( PVOID pvRecord) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct IRecordInfoVtbl IRecordInfoVtbl; struct IRecordInfo { const IRecordInfoVtbl* lpVtbl; }; struct IRecordInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( IRecordInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( IRecordInfo* This); ULONG (CALLBACK *Release)( IRecordInfo* This); /*** IRecordInfo methods ***/ HRESULT (CALLBACK *RecordInit)( IRecordInfo* This, PVOID pvNew); HRESULT (CALLBACK *RecordClear)( IRecordInfo* This, PVOID pvExisting); HRESULT (CALLBACK *RecordCopy)( IRecordInfo* This, PVOID pvExisting, PVOID pvNew); HRESULT (CALLBACK *GetGuid)( IRecordInfo* This, GUID* pguid); HRESULT (CALLBACK *GetName)( IRecordInfo* This, BSTR* pbstrName); HRESULT (CALLBACK *GetSize)( IRecordInfo* This, ULONG* pcbSize); HRESULT (CALLBACK *GetTypeInfo)( IRecordInfo* This, ITypeInfo** ppTypeInfo); HRESULT (CALLBACK *GetField)( IRecordInfo* This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); HRESULT (CALLBACK *GetFieldNoCopy)( IRecordInfo* This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray); HRESULT (CALLBACK *PutField)( IRecordInfo* This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); HRESULT (CALLBACK *PutFieldNoCopy)( IRecordInfo* This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); HRESULT (CALLBACK *GetFieldNames)( IRecordInfo* This, ULONG* pcNames, BSTR* rgBstrNames); BOOL (CALLBACK *IsMatchingType)( IRecordInfo* This, IRecordInfo* pRecordInfo); PVOID (CALLBACK *RecordCreate)( IRecordInfo* This); HRESULT (CALLBACK *RecordCreateCopy)( IRecordInfo* This, PVOID pvSource, PVOID* ppvDest); HRESULT (CALLBACK *RecordDestroy)( IRecordInfo* This, PVOID pvRecord); }; #define IRecordInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,RecordInit,PVOID,pvNew) \ ICOM_METHOD1 (HRESULT,RecordClear,PVOID,pvExisting) \ ICOM_METHOD2 (HRESULT,RecordCopy,PVOID,pvExisting,PVOID,pvNew) \ ICOM_METHOD1 (HRESULT,GetGuid,GUID*,pguid) \ ICOM_METHOD1 (HRESULT,GetName,BSTR*,pbstrName) \ ICOM_METHOD1 (HRESULT,GetSize,ULONG*,pcbSize) \ ICOM_METHOD1 (HRESULT,GetTypeInfo,ITypeInfo**,ppTypeInfo) \ ICOM_METHOD3 (HRESULT,GetField,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \ ICOM_METHOD4 (HRESULT,GetFieldNoCopy,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField,PVOID*,ppvDataCArray) \ ICOM_METHOD4 (HRESULT,PutField,ULONG,wFlags,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \ ICOM_METHOD4 (HRESULT,PutFieldNoCopy,ULONG,wFlags,PVOID,pvData,LPCOLESTR,szFieldName,VARIANT*,pvarField) \ ICOM_METHOD2 (HRESULT,GetFieldNames,ULONG*,pcNames,BSTR*,rgBstrNames) \ ICOM_METHOD1 (BOOL,IsMatchingType,IRecordInfo*,pRecordInfo) \ ICOM_METHOD (PVOID,RecordCreate) \ ICOM_METHOD2 (HRESULT,RecordCreateCopy,PVOID,pvSource,PVOID*,ppvDest) \ ICOM_METHOD1 (HRESULT,RecordDestroy,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 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); typedef struct ICreateTypeInfo ICreateTypeInfo; typedef ICreateTypeInfo *LPCREATETYPEINFO; /***************************************************************************** * ICreateTypeInfo interface */ DEFINE_GUID(IID_ICreateTypeInfo, 0x00020405, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICreateTypeInfo: IUnknown { virtual HRESULT CALLBACK SetGuid( REFGUID guid) = 0; virtual HRESULT CALLBACK SetTypeFlags( UINT uTypeFlags) = 0; virtual HRESULT CALLBACK SetDocString( LPOLESTR pStrDoc) = 0; virtual HRESULT CALLBACK SetHelpContext( DWORD dwHelpContext) = 0; virtual HRESULT CALLBACK SetVersion( WORD wMajorVerNum, WORD wMinorVerNum) = 0; virtual HRESULT CALLBACK AddRefTypeInfo( ITypeInfo* pTInfo, HREFTYPE* phRefType) = 0; virtual HRESULT CALLBACK AddFuncDesc( UINT index, FUNCDESC* pFuncDesc) = 0; virtual HRESULT CALLBACK AddImplType( UINT index, HREFTYPE hRefType) = 0; virtual HRESULT CALLBACK SetImplTypeFlags( UINT index, INT implTypeFlags) = 0; virtual HRESULT CALLBACK SetAlignment( WORD cbAlignment) = 0; virtual HRESULT CALLBACK SetSchema( LPOLESTR pStrSchema) = 0; virtual HRESULT CALLBACK AddVarDesc( UINT index, VARDESC* pVarDesc) = 0; virtual HRESULT CALLBACK SetFuncAndParamNames( UINT index, LPOLESTR* rgszNames, UINT cNames) = 0; virtual HRESULT CALLBACK SetVarName( UINT index, LPOLESTR szName) = 0; virtual HRESULT CALLBACK SetTypeDescAlias( TYPEDESC* pTDescAlias) = 0; virtual HRESULT CALLBACK DefineFuncAsDllEntry( UINT index, LPOLESTR szDllName, LPOLESTR szProcName) = 0; virtual HRESULT CALLBACK SetFuncDocString( UINT index, LPOLESTR szDocString) = 0; virtual HRESULT CALLBACK SetVarDocString( UINT index, LPOLESTR szDocString) = 0; virtual HRESULT CALLBACK SetFuncHelpContext( UINT index, DWORD dwHelpContext) = 0; virtual HRESULT CALLBACK SetVarHelpContext( UINT index, DWORD dwHelpContext) = 0; virtual HRESULT CALLBACK SetMops( UINT index, BSTR bstrMops) = 0; virtual HRESULT CALLBACK SetTypeIdldesc( IDLDESC* pIdlDesc) = 0; virtual HRESULT CALLBACK LayOut( ) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ICreateTypeInfoVtbl ICreateTypeInfoVtbl; struct ICreateTypeInfo { const ICreateTypeInfoVtbl* lpVtbl; }; struct ICreateTypeInfoVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ICreateTypeInfo* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ICreateTypeInfo* This); ULONG (CALLBACK *Release)( ICreateTypeInfo* This); /*** ICreateTypeInfo methods ***/ HRESULT (CALLBACK *SetGuid)( ICreateTypeInfo* This, REFGUID guid); HRESULT (CALLBACK *SetTypeFlags)( ICreateTypeInfo* This, UINT uTypeFlags); HRESULT (CALLBACK *SetDocString)( ICreateTypeInfo* This, LPOLESTR pStrDoc); HRESULT (CALLBACK *SetHelpContext)( ICreateTypeInfo* This, DWORD dwHelpContext); HRESULT (CALLBACK *SetVersion)( ICreateTypeInfo* This, WORD wMajorVerNum, WORD wMinorVerNum); HRESULT (CALLBACK *AddRefTypeInfo)( ICreateTypeInfo* This, ITypeInfo* pTInfo, HREFTYPE* phRefType); HRESULT (CALLBACK *AddFuncDesc)( ICreateTypeInfo* This, UINT index, FUNCDESC* pFuncDesc); HRESULT (CALLBACK *AddImplType)( ICreateTypeInfo* This, UINT index, HREFTYPE hRefType); HRESULT (CALLBACK *SetImplTypeFlags)( ICreateTypeInfo* This, UINT index, INT implTypeFlags); HRESULT (CALLBACK *SetAlignment)( ICreateTypeInfo* This, WORD cbAlignment); HRESULT (CALLBACK *SetSchema)( ICreateTypeInfo* This, LPOLESTR pStrSchema); HRESULT (CALLBACK *AddVarDesc)( ICreateTypeInfo* This, UINT index, VARDESC* pVarDesc); HRESULT (CALLBACK *SetFuncAndParamNames)( ICreateTypeInfo* This, UINT index, LPOLESTR* rgszNames, UINT cNames); HRESULT (CALLBACK *SetVarName)( ICreateTypeInfo* This, UINT index, LPOLESTR szName); HRESULT (CALLBACK *SetTypeDescAlias)( ICreateTypeInfo* This, TYPEDESC* pTDescAlias); HRESULT (CALLBACK *DefineFuncAsDllEntry)( ICreateTypeInfo* This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); HRESULT (CALLBACK *SetFuncDocString)( ICreateTypeInfo* This, UINT index, LPOLESTR szDocString); HRESULT (CALLBACK *SetVarDocString)( ICreateTypeInfo* This, UINT index, LPOLESTR szDocString); HRESULT (CALLBACK *SetFuncHelpContext)( ICreateTypeInfo* This, UINT index, DWORD dwHelpContext); HRESULT (CALLBACK *SetVarHelpContext)( ICreateTypeInfo* This, UINT index, DWORD dwHelpContext); HRESULT (CALLBACK *SetMops)( ICreateTypeInfo* This, UINT index, BSTR bstrMops); HRESULT (CALLBACK *SetTypeIdldesc)( ICreateTypeInfo* This, IDLDESC* pIdlDesc); HRESULT (CALLBACK *LayOut)( ICreateTypeInfo* This); }; #define ICreateTypeInfo_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD1 (HRESULT,SetGuid,REFGUID,guid) \ ICOM_METHOD1 (HRESULT,SetTypeFlags,UINT,uTypeFlags) \ ICOM_METHOD1 (HRESULT,SetDocString,LPOLESTR,pStrDoc) \ ICOM_METHOD1 (HRESULT,SetHelpContext,DWORD,dwHelpContext) \ ICOM_METHOD2 (HRESULT,SetVersion,WORD,wMajorVerNum,WORD,wMinorVerNum) \ ICOM_METHOD2 (HRESULT,AddRefTypeInfo,ITypeInfo*,pTInfo,HREFTYPE*,phRefType) \ ICOM_METHOD2 (HRESULT,AddFuncDesc,UINT,index,FUNCDESC*,pFuncDesc) \ ICOM_METHOD2 (HRESULT,AddImplType,UINT,index,HREFTYPE,hRefType) \ ICOM_METHOD2 (HRESULT,SetImplTypeFlags,UINT,index,INT,implTypeFlags) \ ICOM_METHOD1 (HRESULT,SetAlignment,WORD,cbAlignment) \ ICOM_METHOD1 (HRESULT,SetSchema,LPOLESTR,pStrSchema) \ ICOM_METHOD2 (HRESULT,AddVarDesc,UINT,index,VARDESC*,pVarDesc) \ ICOM_METHOD3 (HRESULT,SetFuncAndParamNames,UINT,index,LPOLESTR*,rgszNames,UINT,cNames) \ ICOM_METHOD2 (HRESULT,SetVarName,UINT,index,LPOLESTR,szName) \ ICOM_METHOD1 (HRESULT,SetTypeDescAlias,TYPEDESC*,pTDescAlias) \ ICOM_METHOD3 (HRESULT,DefineFuncAsDllEntry,UINT,index,LPOLESTR,szDllName,LPOLESTR,szProcName) \ ICOM_METHOD2 (HRESULT,SetFuncDocString,UINT,index,LPOLESTR,szDocString) \ ICOM_METHOD2 (HRESULT,SetVarDocString,UINT,index,LPOLESTR,szDocString) \ ICOM_METHOD2 (HRESULT,SetFuncHelpContext,UINT,index,DWORD,dwHelpContext) \ ICOM_METHOD2 (HRESULT,SetVarHelpContext,UINT,index,DWORD,dwHelpContext) \ ICOM_METHOD2 (HRESULT,SetMops,UINT,index,BSTR,bstrMops) \ ICOM_METHOD1 (HRESULT,SetTypeIdldesc,IDLDESC*,pIdlDesc) \ ICOM_METHOD (HRESULT,LayOut) /*** 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 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); typedef struct ICreateTypeInfo2 ICreateTypeInfo2; typedef ICreateTypeInfo2 *LPCREATETYPEINFO2; /***************************************************************************** * ICreateTypeInfo2 interface */ DEFINE_GUID(IID_ICreateTypeInfo2, 0x0002040e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICreateTypeInfo2: ICreateTypeInfo { virtual HRESULT CALLBACK DeleteFuncDesc( UINT index) = 0; virtual HRESULT CALLBACK DeleteFuncDescByMemId( MEMBERID memid, INVOKEKIND invKind) = 0; virtual HRESULT CALLBACK DeleteVarDesc( UINT index) = 0; virtual HRESULT CALLBACK DeleteVarDescByMemId( MEMBERID memid) = 0; virtual HRESULT CALLBACK DeleteImplType( UINT index) = 0; virtual HRESULT CALLBACK SetCustData( REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetFuncCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetParamCustData( UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetVarCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetImplTypeCustData( UINT index, REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetHelpStringContext( ULONG dwHelpStringContext) = 0; virtual HRESULT CALLBACK SetFuncHelpStringContext( UINT index, ULONG dwHelpStringContext) = 0; virtual HRESULT CALLBACK SetVarHelpStringContext( UINT index, ULONG dwHelpStringContext) = 0; virtual HRESULT CALLBACK Invalidate( ) = 0; virtual HRESULT CALLBACK SetName( LPOLESTR szName) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ICreateTypeInfo2Vtbl ICreateTypeInfo2Vtbl; struct ICreateTypeInfo2 { const ICreateTypeInfo2Vtbl* lpVtbl; }; struct ICreateTypeInfo2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ICreateTypeInfo2* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ICreateTypeInfo2* This); ULONG (CALLBACK *Release)( ICreateTypeInfo2* This); /*** ICreateTypeInfo methods ***/ HRESULT (CALLBACK *SetGuid)( ICreateTypeInfo2* This, REFGUID guid); HRESULT (CALLBACK *SetTypeFlags)( ICreateTypeInfo2* This, UINT uTypeFlags); HRESULT (CALLBACK *SetDocString)( ICreateTypeInfo2* This, LPOLESTR pStrDoc); HRESULT (CALLBACK *SetHelpContext)( ICreateTypeInfo2* This, DWORD dwHelpContext); HRESULT (CALLBACK *SetVersion)( ICreateTypeInfo2* This, WORD wMajorVerNum, WORD wMinorVerNum); HRESULT (CALLBACK *AddRefTypeInfo)( ICreateTypeInfo2* This, ITypeInfo* pTInfo, HREFTYPE* phRefType); HRESULT (CALLBACK *AddFuncDesc)( ICreateTypeInfo2* This, UINT index, FUNCDESC* pFuncDesc); HRESULT (CALLBACK *AddImplType)( ICreateTypeInfo2* This, UINT index, HREFTYPE hRefType); HRESULT (CALLBACK *SetImplTypeFlags)( ICreateTypeInfo2* This, UINT index, INT implTypeFlags); HRESULT (CALLBACK *SetAlignment)( ICreateTypeInfo2* This, WORD cbAlignment); HRESULT (CALLBACK *SetSchema)( ICreateTypeInfo2* This, LPOLESTR pStrSchema); HRESULT (CALLBACK *AddVarDesc)( ICreateTypeInfo2* This, UINT index, VARDESC* pVarDesc); HRESULT (CALLBACK *SetFuncAndParamNames)( ICreateTypeInfo2* This, UINT index, LPOLESTR* rgszNames, UINT cNames); HRESULT (CALLBACK *SetVarName)( ICreateTypeInfo2* This, UINT index, LPOLESTR szName); HRESULT (CALLBACK *SetTypeDescAlias)( ICreateTypeInfo2* This, TYPEDESC* pTDescAlias); HRESULT (CALLBACK *DefineFuncAsDllEntry)( ICreateTypeInfo2* This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); HRESULT (CALLBACK *SetFuncDocString)( ICreateTypeInfo2* This, UINT index, LPOLESTR szDocString); HRESULT (CALLBACK *SetVarDocString)( ICreateTypeInfo2* This, UINT index, LPOLESTR szDocString); HRESULT (CALLBACK *SetFuncHelpContext)( ICreateTypeInfo2* This, UINT index, DWORD dwHelpContext); HRESULT (CALLBACK *SetVarHelpContext)( ICreateTypeInfo2* This, UINT index, DWORD dwHelpContext); HRESULT (CALLBACK *SetMops)( ICreateTypeInfo2* This, UINT index, BSTR bstrMops); HRESULT (CALLBACK *SetTypeIdldesc)( ICreateTypeInfo2* This, IDLDESC* pIdlDesc); HRESULT (CALLBACK *LayOut)( ICreateTypeInfo2* This); /*** ICreateTypeInfo2 methods ***/ HRESULT (CALLBACK *DeleteFuncDesc)( ICreateTypeInfo2* This, UINT index); HRESULT (CALLBACK *DeleteFuncDescByMemId)( ICreateTypeInfo2* This, MEMBERID memid, INVOKEKIND invKind); HRESULT (CALLBACK *DeleteVarDesc)( ICreateTypeInfo2* This, UINT index); HRESULT (CALLBACK *DeleteVarDescByMemId)( ICreateTypeInfo2* This, MEMBERID memid); HRESULT (CALLBACK *DeleteImplType)( ICreateTypeInfo2* This, UINT index); HRESULT (CALLBACK *SetCustData)( ICreateTypeInfo2* This, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetFuncCustData)( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetParamCustData)( ICreateTypeInfo2* This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetVarCustData)( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetImplTypeCustData)( ICreateTypeInfo2* This, UINT index, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetHelpStringContext)( ICreateTypeInfo2* This, ULONG dwHelpStringContext); HRESULT (CALLBACK *SetFuncHelpStringContext)( ICreateTypeInfo2* This, UINT index, ULONG dwHelpStringContext); HRESULT (CALLBACK *SetVarHelpStringContext)( ICreateTypeInfo2* This, UINT index, ULONG dwHelpStringContext); HRESULT (CALLBACK *Invalidate)( ICreateTypeInfo2* This); HRESULT (CALLBACK *SetName)( ICreateTypeInfo2* This, LPOLESTR szName); }; #define ICreateTypeInfo2_IMETHODS \ ICreateTypeInfo_IMETHODS \ ICOM_METHOD1 (HRESULT,DeleteFuncDesc,UINT,index) \ ICOM_METHOD2 (HRESULT,DeleteFuncDescByMemId,MEMBERID,memid,INVOKEKIND,invKind) \ ICOM_METHOD1 (HRESULT,DeleteVarDesc,UINT,index) \ ICOM_METHOD1 (HRESULT,DeleteVarDescByMemId,MEMBERID,memid) \ ICOM_METHOD1 (HRESULT,DeleteImplType,UINT,index) \ ICOM_METHOD2 (HRESULT,SetCustData,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,SetFuncCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD4 (HRESULT,SetParamCustData,UINT,indexFunc,UINT,indexParam,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,SetVarCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD3 (HRESULT,SetImplTypeCustData,UINT,index,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD1 (HRESULT,SetHelpStringContext,ULONG,dwHelpStringContext) \ ICOM_METHOD2 (HRESULT,SetFuncHelpStringContext,UINT,index,ULONG,dwHelpStringContext) \ ICOM_METHOD2 (HRESULT,SetVarHelpStringContext,UINT,index,ULONG,dwHelpStringContext) \ ICOM_METHOD (HRESULT,Invalidate) \ ICOM_METHOD1 (HRESULT,SetName,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 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); typedef struct ICreateTypeLib ICreateTypeLib; typedef ICreateTypeLib *LPCREATETYPELIB; /***************************************************************************** * ICreateTypeLib interface */ DEFINE_GUID(IID_ICreateTypeLib, 0x00020406, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICreateTypeLib: IUnknown { virtual HRESULT CALLBACK CreateTypeInfo( LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) = 0; virtual HRESULT CALLBACK SetName( LPOLESTR szName) = 0; virtual HRESULT CALLBACK SetVersion( WORD wMajorVerNum, WORD wMinorVerNum) = 0; virtual HRESULT CALLBACK SetGuid( REFGUID guid) = 0; virtual HRESULT CALLBACK SetDocString( LPOLESTR szDoc) = 0; virtual HRESULT CALLBACK SetHelpFileName( LPOLESTR szHelpFileName) = 0; virtual HRESULT CALLBACK SetHelpContext( DWORD dwHelpContext) = 0; virtual HRESULT CALLBACK SetLcid( LCID lcid) = 0; virtual HRESULT CALLBACK SetLibFlags( UINT uLibFlags) = 0; virtual HRESULT CALLBACK SaveAllChanges( ) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ICreateTypeLibVtbl ICreateTypeLibVtbl; struct ICreateTypeLib { const ICreateTypeLibVtbl* lpVtbl; }; struct ICreateTypeLibVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ICreateTypeLib* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ICreateTypeLib* This); ULONG (CALLBACK *Release)( ICreateTypeLib* This); /*** ICreateTypeLib methods ***/ HRESULT (CALLBACK *CreateTypeInfo)( ICreateTypeLib* This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); HRESULT (CALLBACK *SetName)( ICreateTypeLib* This, LPOLESTR szName); HRESULT (CALLBACK *SetVersion)( ICreateTypeLib* This, WORD wMajorVerNum, WORD wMinorVerNum); HRESULT (CALLBACK *SetGuid)( ICreateTypeLib* This, REFGUID guid); HRESULT (CALLBACK *SetDocString)( ICreateTypeLib* This, LPOLESTR szDoc); HRESULT (CALLBACK *SetHelpFileName)( ICreateTypeLib* This, LPOLESTR szHelpFileName); HRESULT (CALLBACK *SetHelpContext)( ICreateTypeLib* This, DWORD dwHelpContext); HRESULT (CALLBACK *SetLcid)( ICreateTypeLib* This, LCID lcid); HRESULT (CALLBACK *SetLibFlags)( ICreateTypeLib* This, UINT uLibFlags); HRESULT (CALLBACK *SaveAllChanges)( ICreateTypeLib* This); }; #define ICreateTypeLib_IMETHODS \ IUnknown_IMETHODS \ ICOM_METHOD3 (HRESULT,CreateTypeInfo,LPOLESTR,szName,TYPEKIND,tkind,ICreateTypeInfo**,ppCTInfo) \ ICOM_METHOD1 (HRESULT,SetName,LPOLESTR,szName) \ ICOM_METHOD2 (HRESULT,SetVersion,WORD,wMajorVerNum,WORD,wMinorVerNum) \ ICOM_METHOD1 (HRESULT,SetGuid,REFGUID,guid) \ ICOM_METHOD1 (HRESULT,SetDocString,LPOLESTR,szDoc) \ ICOM_METHOD1 (HRESULT,SetHelpFileName,LPOLESTR,szHelpFileName) \ ICOM_METHOD1 (HRESULT,SetHelpContext,DWORD,dwHelpContext) \ ICOM_METHOD1 (HRESULT,SetLcid,LCID,lcid) \ ICOM_METHOD1 (HRESULT,SetLibFlags,UINT,uLibFlags) \ ICOM_METHOD (HRESULT,SaveAllChanges) /*** 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 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); typedef struct ICreateTypeLib2 ICreateTypeLib2; typedef ICreateTypeLib2 *LPCREATETYPELIB2; /***************************************************************************** * ICreateTypeLib2 interface */ DEFINE_GUID(IID_ICreateTypeLib2, 0x0002040f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICreateTypeLib2: ICreateTypeLib { virtual HRESULT CALLBACK DeleteTypeInfo( LPOLESTR szName) = 0; virtual HRESULT CALLBACK SetCustData( REFGUID guid, VARIANT* pVarVal) = 0; virtual HRESULT CALLBACK SetHelpStringContext( ULONG dwHelpStringContext) = 0; virtual HRESULT CALLBACK SetHelpStringDll( LPOLESTR szFileName) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; #else typedef struct ICreateTypeLib2Vtbl ICreateTypeLib2Vtbl; struct ICreateTypeLib2 { const ICreateTypeLib2Vtbl* lpVtbl; }; struct ICreateTypeLib2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (CALLBACK *QueryInterface)( ICreateTypeLib2* This, REFIID riid, void** ppvObject); ULONG (CALLBACK *AddRef)( ICreateTypeLib2* This); ULONG (CALLBACK *Release)( ICreateTypeLib2* This); /*** ICreateTypeLib methods ***/ HRESULT (CALLBACK *CreateTypeInfo)( ICreateTypeLib2* This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); HRESULT (CALLBACK *SetName)( ICreateTypeLib2* This, LPOLESTR szName); HRESULT (CALLBACK *SetVersion)( ICreateTypeLib2* This, WORD wMajorVerNum, WORD wMinorVerNum); HRESULT (CALLBACK *SetGuid)( ICreateTypeLib2* This, REFGUID guid); HRESULT (CALLBACK *SetDocString)( ICreateTypeLib2* This, LPOLESTR szDoc); HRESULT (CALLBACK *SetHelpFileName)( ICreateTypeLib2* This, LPOLESTR szHelpFileName); HRESULT (CALLBACK *SetHelpContext)( ICreateTypeLib2* This, DWORD dwHelpContext); HRESULT (CALLBACK *SetLcid)( ICreateTypeLib2* This, LCID lcid); HRESULT (CALLBACK *SetLibFlags)( ICreateTypeLib2* This, UINT uLibFlags); HRESULT (CALLBACK *SaveAllChanges)( ICreateTypeLib2* This); /*** ICreateTypeLib2 methods ***/ HRESULT (CALLBACK *DeleteTypeInfo)( ICreateTypeLib2* This, LPOLESTR szName); HRESULT (CALLBACK *SetCustData)( ICreateTypeLib2* This, REFGUID guid, VARIANT* pVarVal); HRESULT (CALLBACK *SetHelpStringContext)( ICreateTypeLib2* This, ULONG dwHelpStringContext); HRESULT (CALLBACK *SetHelpStringDll)( ICreateTypeLib2* This, LPOLESTR szFileName); }; #define ICreateTypeLib2_IMETHODS \ ICreateTypeLib_IMETHODS \ ICOM_METHOD1 (HRESULT,DeleteTypeInfo,LPOLESTR,szName) \ ICOM_METHOD2 (HRESULT,SetCustData,REFGUID,guid,VARIANT*,pVarVal) \ ICOM_METHOD1 (HRESULT,SetHelpStringContext,ULONG,dwHelpStringContext) \ ICOM_METHOD1 (HRESULT,SetHelpStringDll,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 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); #ifdef __cplusplus } #endif #endif /* __WIDL_OAIDL_H */