tags:

views:

43

answers:

1

I have a COM Client and a COM Server, the COM Server holds an Interface exposed by the client, now the client is actually just an EXE, how do I make sure that the Interface exposed by the client is visible to the Server?

Because when I call CoCreateInstance now on that interface in the server I get a E_NOINTERFACE and I suspect it's because there is no Proxy/stub dll for the client registered on the system.

+1  A: 

Yes, E_NOINTERFACE can be returned if COM can't marshal the interface. You can use Process Monitor to try to find what exactly is happening.

sharptooth
so I've checked the registry and the IID is present of the Interface, it however still returns the error, is there anything else I can do?
Tony
In ProcMon the first time it queries the Key it says 'BUFFER TOO SMALL'
Tony
Okay, IID is present, so what? What if COM tries to find proxy/stub and fails? You shouldn't expect that you just look onto Process Monitor output for a moment and immediately see what's wrong.
sharptooth