/* ============================================================================
#include <mshtml.h> */
typedef CComQIPtr<IWebBrowser2,&IID_IWebBrowser2> IWebBrowserQIPtr;
IStream** pStream = NULL ;
pStream = new IStream* ; // free this memory only at the end of parsing.If you are freeing before that parse will fail
CComPtr<IDispatch> spBrowserPointer ;
spBrowserPointer = APPPTR->m_pdlg->m_webBwsrCntrl.get_Application();
IWebBrowserQIPtr pBrowserPtr;
pBrowserPtr = spBrowserPointer;
HRESULT hr = ::CoMarshalInterThreadInterfaceInStream(IID_IWebBrowser2,pBrowserPtr,pStream);
DWORD dwStream = 0;
if( hr == S_OK )
{
dwStream = reinterpret_cast<DWORD>( pStream );
}
else
{
return -1;
}
//(*pStream)->Release(); // Do not release this.While calling CoGetInterfaceAndReleaseStream it will be automaticaly released.
//=============================================================================
Search This Blog
Friday, May 15, 2009
Marshalling WebBrowser Pointer
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment