O IE9 falha ao disparar o evento onscroll no HTMLWindow2 no BHO

IE pode disparar evento de rolagem ao usarDocument Mode: IE7 ou IE8, masfalho dispararonscroll event ao usar o Modo Documento: IE9. Também registro o evento onscroll no documentElement, ele reage da mesma maneira.

A classe BHO usa:

public IDispEventImpl<3, CHelloWorldBHO, &DIID_HTMLWindowEvents2, &LIBID_MSHTML, 4, 0>. 

E afunde o evento:

BEGIN_SINK_MAP(CHelloWorldBHO)
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete)
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_NAVIGATECOMPLETE2, OnNavigateComplete2)
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_WINDOWSTATECHANGED, OnWindowStateChanged)
SINK_ENTRY_EX(3, DIID_HTMLWindowEvents2, DISPID_HTMLWINDOWEVENTS2_ONSCROLL, OnScroll)
END_SINK_MAP()

Aconselhe-o ao objeto de janela emDocument Complete:

CComQIPtr<IHTMLDocument2> spHTMLDoc = spDispDoc;
CComQIPtr<IHTMLWindow2> spTempWindow2;
spHTMLDoc->get_parentWindow(&spTempWindow2);

IDispEventImpl<3, CHelloWorldBHO, &DIID_HTMLWindowEvents2, &LIBID_MSHTML, 4, 0>::DispEventAdvise(spTempWindow2);

Venho trabalhando nesse problema há um bom tempo. Alguma ideia? Muito obrigado

questionAnswers(2)

yourAnswerToTheQuestion