#pragma once #ifndef WEBBROWSEREVENTSINK_H #define WEBBROWSEREVENTSINK_H class CExplorerBar; class CWebBrowserEventSink; #include "oaidl.h" #include "mshtmdid.h" #include "olectl.h" #include "exdisp.h" #include "exdispid.h" #include "ExplrBar.h" class CWebBrowserEventSink : public IDispatch { protected: DWORD m_ObjRefCount; CExplorerBar *m_pExplorerBar; public: CWebBrowserEventSink(CExplorerBar* pExplorerBar); ~CWebBrowserEventSink(void); //IUnknown methods STDMETHODIMP QueryInterface(REFIID, LPVOID*); STDMETHODIMP_(DWORD) AddRef(); STDMETHODIMP_(DWORD) Release(); //IDispatch methods virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( /* [out] */ UINT *pctinfo); virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( /* [in] */ UINT iTInfo, /* [in] */ LCID lcid, /* [out] */ ITypeInfo **ppTInfo); virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( /* [in] */ REFIID riid, /* [size_is][in] */ LPOLESTR *rgszNames, /* [in] */ UINT cNames, /* [in] */ LCID lcid, /* [size_is][out] */ DISPID *rgDispId); virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( /* [in] */ DISPID dispIdMember, /* [in] */ REFIID riid, /* [in] */ LCID lcid, /* [in] */ WORD wFlags, /* [out][in] */ DISPPARAMS *pDispParams, /* [out] */ VARIANT *pVarResult, /* [out] */ EXCEPINFO *pExcepInfo, /* [out] */ UINT *puArgErr); }; #endif