I have a DCOM issue.
I have a server with a number of objects.
If I call a method of one of the interfaces of these objects and pass an interface pointer to another object (which is also located on the server) then I have a reference counting problem. If I do an AddRef on the interface before passing it, it will increment the local reference count. When the server method has finished it will release the interface that is passed as a parameter but this will decrement the servers reference count. If this function is called enough times the servers reference count will hit zero and the object will be deleted (but the client's reference count for the object will be high). Is there a stylish was of getting round this without calling a special RemoteAddRef() function before passing it. If there is no way round this then it makes a mockery of the DCOM's location transparency claim.

Please help before I end up doing a nasty hack around.