Bill Medland wrote:
(Mike? Robert?,)
I am trying to understand what is failing in a piece of -out-of-process COM under Wine. Basically it is an ATL-based CreateInstance that is returning E_NOINTERFACE under Wine.
Below is a cut-down copy of the trace.
What I don't understand is which QueryInterface is being called. I don't totally understand what is going on in the marshalling etc. but from what I can see I expected to see ClientIdentity_QueryRef called and some sort of marshalling going on in the last stages.
Can anyone point me at which code is probably implementing the QueryInterface?
Basic code: rclsid = __uuidof(ACCPACSignonMgr) CoCreateInstance (rclsid, NULL, CLSCTX_ALL, __uuidof(IUnknown), &pIUnknown); OleRun (pIUnknown) pIUnknown->QueryInterface (getIID(), &m_pInterface) pIUnknown->Release
Problem: pIUnknown->QueryInterface returns E_NOINTERFACE The interface is provided by a an object running in a local server
Why don't I see a trace on ClientIdentity_QueryInterface?
I think we need to special-case IID_IUnknown in StdMarshalImpl_UnmarshalInterface to just create a proxy and not try to get the IRpcProxyBuffer for the interface.
Rob