7 #ifndef _INC_cComDispatch_H
8 #define _INC_cComDispatch_H
13 #include "../GrayLibBase.h"
29 IDispatch* m_pDispatch;
30 cIUnkPtr<ITypeInfo> m_pTypeInfo;
31 const GUID& m_rguidTypeLib;
32 const GUID& m_rguidTypeInfo;
35 cComDispatch(IDispatch* pDispatch,
const GUID& rguidTypeLib,
const GUID& rguidTypeInfo);
36 virtual ~cComDispatch();
40 STDMETHODIMP GetTypeInfoCount(UINT*);
41 STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);
42 STDMETHODIMP GetIDsOfNames(
const IID&, LPOLESTR*, UINT, LCID, DISPID*);
43 STDMETHODIMP Invoke(DISPID,
const IID&, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*);
48 #define IDISPATCH_DISAMBIG_R(_CLASS) \
49 STDMETHODIMP GetTypeInfoCount(UINT* a) \
50 { return _CLASS::GetTypeInfoCount(a); } \
51 STDMETHODIMP GetTypeInfo(UINT a, LCID b, LPTYPEINFO* c) \
52 { return _CLASS::GetTypeInfo(a,b,c); } \
53 STDMETHODIMP GetIDsOfNames(const IID& a,LPOLESTR* b,UINT c,LCID d,DISPID* e) \
54 { return _CLASS::GetIDsOfNames(a,b,c,d,e); } \
56 #define IDISPATCH_DISAMBIG(_CLASS) \
57 IDISPATCH_DISAMBIG_R(_CLASS) \
58 STDMETHODIMP Invoke(DISPID a,const IID& b,LCID c,WORD d,DISPPARAMS* e,VARIANT* f,EXCEPINFO* g,UINT* h) \
59 { return _CLASS::Invoke(a,b,c,d,e,f,g,h);}
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: IUnknown.h:34