-----Original Message----- From: Mike Hearn [mailto:mike@theoretic.com] Sent: 23 July 2003 23:09 To: Robert Shearman Cc: wine-devel@winehq.org Subject: Re: Typelib marshalling BSTRs
Well, the code doesn't actually marshal IWebBrowser2, it operates entirely in terms of IDispatch interfaces. Once the dispatch interface for the WebBrowser control is marshalled into another thread, the code starts poking it via Invoke, in this case retrieving the Document property which also returns a dispatch interface.
Sorry, just realised that this the VARIANT_UserMarshal function is in oleaut32. On Windows, this calls WdtpInterfacePointer_UserMarshal for both the VT_UNKNOWN and VT_DISPATCH cases, which in turn calls CoMarshalInterface.
I hope this helps,
Rob