今天在一个BHO中增加一个Invoke来获取网页加载的事件,需要在类的声明中增加
STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid,
LCID lcid, WORD wFlags,
DISPPARAMS* pdispparams, VARIANT*
pvarResult, EXCEPINFO* pexcepinfo,
UINT* puArgErr);
另外还需要在类的实现中增加对应的函数定义,同时在类的声明中增加一个基类,
public IDispEventImpl<1, CIEToolBar_6IX, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1>
但是在编译的时候会出现如下问题:
error C3861: “_GetSinkMap”: 找不到标识符以及 error C2039: “_GetSinkMap”: 不是“CIEToolBar_6IX”的成员
解决的方法是:在类的声明当中增加
BEGIN_SINK_MAP(CIEToolBar_6IX)
END_SINK_MAP()