I have an out of proc COM server implemented in an exe. one of the COM method raise an exception instead of returning an HRESULT
ex:
HRESULT ComObject::Fubar()
{
RaiseException(1,0,0,0,NULL);
return S_OK;
}
in my client, after calling Fubar(), sometime the HRESULT is positive, sometime it is negative. When the value is positive I seem to be able to call the COM object again, can I trust this, or am I in undefined land ?
How does the COM plumming handle uncaught exception ?
I am not in charge of the COM server throwing the exception, I am the client. The company writting the server will not change it (it is old technology). My boss wants me to have my client behave correctly even after the server threw an exception, in a nutshell he does not want the client app to crash because of this.
I've notice that when a OUT of PROC server throw an exception, it seems to always return the value: 0x80010105
Can I trust the COM plumbing to always return this error ? I could not find the answer on microsoft site.
thanks for any link on the subject.
Wonixen