Search This Blog

Friday, May 15, 2009

UnMashalling WebBroser Pointer

          DWORD dwBrowserPtr = NULL;
          dwBrowserPtr =dwStream //input
         
          ::CoInitialize(NULL);
          IStream** pStream = NULL ;
          pStream = reinterpret_cast<IStream**>(dwBrowserPtr);
         
         
          if( pStream == NULL )
          {
               ::CoUninitialize();
               return -1;
          }
         
          CComPtr<IDispatch> spBrowserPointer ;
          IWebBrowserQIPtr pBrowserPtr;
         
          HRESULT hr = CoGetInterfaceAndReleaseStream(*pStream,IID_IWebBrowser2,(LPVOID*)&pBrowserPtr);
          if ( hr == S_OK )
          {
               //success
          }
          else
          {
               //Failed To get browser pointer
               ASSERT(0);
              
          }

No comments: