当你有一个软件运行进程外COM服务器并且COM服务器崩溃时,它是否会向用户显示一条消息(假设它是一个未处理的异常)或者会发生什么?
此外,COM客户端是否也会崩溃,因为知道这个客户端依赖这个COM服务器了很多?
当服务器中发生未处理的异常时,COM服务器和COM客户端的行为是什么?
答案 0 :(得分:3)
COM客户端将从下一个COM调用中获取RPC_E_SERVERFAULT
作为HRESULT
,并在服务器重新启动之前获得所有其他COM {1}}。只要客户端检查其错误代码,这不一定会导致崩溃。但是,这可能不是客户端的可恢复错误,因此在获得RPC_E_SERVERFAULT
(或者,实际上,任何RPC_E
错误代码)时,您应该可以启动正常退出。