Re: IViewObject:Draw
Fede <federico.sucari@gmail.com> wrote:
It is my first post in this group and I would appreciate some help in
making IViewObject:Draw / IWebbrowser2 / IHTMLDocument2 interfaces.
The moment I call the IViewObject:Draw interface it returns E_FAIL. I
am working in plain C and COM (no ATL/MFC/etc.).
In a nutshell, this is the code:
IWebBrowser2* pWBApp = NULL;
CoInitialize(NULL);
CoCreateInstance(CLSID_InternetExplorer,
NULL,
CLSCTX_SERVER,
IID_IWebBrowserApp,
(LPVOID*)&pWBApp);
You are creating a standalone instance of Internet Explorer, in a
separate process. IViewObject is not marshallable, it doesn't work
across a process boundary. What you are trying to do has any hope of
working only if you host an instance of WebBrowser control in-process.
In addition, you are requesting IWebBrowserApp pointer, but storing it
in a IWebBrowser2* variable. This is an illegal downcast. The IID and
the variable type have to match.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925