Пытаюсь отловить BeforeNavigare2 событие из IE тулбара.
Вот код:
class ATL_NO_VTABLE CToolBandObject :
public CComObjectRootEx<CComSingleThreadModel>
,public CComCoClass<CToolBandObject, &CLSID_ToolBandObject>
,public IObjectWithSiteImpl<CToolBandObject>
,public IDeskBand
,public IDispEventImpl<0, CToolBandObject, &DIID_DWebBrowserEvents2, &LIBID_IEToolBandLib, 1, 0>
,public IToolBandObject
...
private:
CComPtr<IWebBrowser2> Browser_;
...
BEGIN_COM_MAP(CToolBandObject)
COM_INTERFACE_ENTRY_IID(DIID_DWebBrowserEvents2, CToolBandObject)
END_COM_MAP()
...
BEGIN_SINK_MAP(CToolBandObject)
SINK_ENTRY_EX(0, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2, BeforeNavigate2)
END_SINK_MAP()
...
HRESULT __stdcall BeforeNavigate2( IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel );
Вызов DispEventAdvise( Browser_ ) проходит нормально. Однако событие не ловится.
Подскажите, в чем может быть проблема?