ATL COM服务器生命周期

时间:2013-02-20 05:19:12

标签: com atl

我有一个在ATL的帮助下编写的进程外COM服务器。在正常情况下,可以方便地为您处理该服务器的生命周期,但是如果客户端进程在释放其接口之前死亡,则服务器似乎永远存在。

是否存在允许服务器在没有连接客户端时进入其关闭过程的方法(或者我不知道的超时)。或者我想另一种说法是ATL / COM如何处理崩溃的客户端的引用计数?

1 个答案:

答案 0 :(得分:3)

在几分钟内取消引用COM服务器中的存根有一个超时,所以不应该永远。但是,您可能遇到的另一个问题是,作为操作的一部分,服务器中的COM对象具有交叉引用,这些交叉引用在连接的客户端突然死亡时未正确释放。在这种情况下,您的COM对象将保持对服务器进程的锁定,并防止它自动终止您希望发生的事件。

相关问题