How to abort a call to a COM method?
Posted on 2009-07-02
I'm trying to stabilize a COM server that provides events via connection points. When I call IDispatch::Invoke() to trigger an event sink method on the client, I don't know how long the client needs to finish running this method - perhaps the client never returns...
Is there a way to abort such a call after a timeout? Or can I abort a call programmatically? The server seems to wait endlessly for the client to return. I've decoupled the part calling Invoke() from the rest of the application, so the application can continue to run even if a client is hanging.
Now I'm looking for a way to kill these hanging calls.
Can anyone give me hint how to solve that problem?
Thank you in advance!