用atl写的BHO,无法获得浏览器的父窗口句柄,解决方法

用atl写的BHO,无法获得浏览器的父窗口句柄,急!!!
我用ATL创建一个BHO,然后试图在setsite中获得父框架窗口,代码如下:
CComQIPtr <IWebBrowser2,&IID_IWebBrowser2> m_spWebBrowser2;
m_spWebBrowser2=pUnkSite;
if   (m_spWebBrowser2==NULL)
return   E_INVALIDARG;

IOleWindow   *spOleWindow;
if   (SUCCEEDED(pUnkSite-> QueryInterface(IID_IOleWindow,(LPVOID*)&spOleWindow)))
{
spOleWindow-> GetWindow(&m_hwndParent);
spOleWindow-> Release();
}
浏览器指针可以获得,可是spOleWindow总是为空,这是为什么呢?
后来我又在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet   Explorer\Toolbar\下面写入CLSID,结果还是不行,请帮帮我!


------解决方案--------------------
BHO 's are usually run by standalone InternetExplorer. It is NOT an ActiveX controland does not implement IOleWindow. Instead, use IWebBrowser2::get_HWND
------解决方案--------------------
QueryInterface不成功,说明不支持那个接口