【发布时间】:2012-03-14 23:03:30
【问题描述】:
我们有一个应用程序使用多个进程外 COM 对象来执行各种任务。 如果用户在我们的应用程序运行时告诉 Windows 关闭,那么它会向所有应用程序(顶级窗口)发送关闭通知,但是 OoP COM 对象可以在通知父级之前关闭并有机会干净地关闭,导致不同组件中的各种错误。
由于其中一个 OoP 对象是为托管不稳定的第 3 方对象而创建的,因此情况变得更糟,因此它会在崩溃时自动重新启动,而现在由于 Windows 正在关闭而无法重新启动。
虽然我们可以处理父进程上的错误,但 ActiveX 主机是否有办法告诉 Windows“我还没有关闭,但会在适当的时候关闭”,或者更好的是,让 Windows 不第一时间通知他们?
父进程、OoP 对象及其宿主都是 C++ 和 VB6 的混合体。
【问题讨论】:
-
您是否拥有 ActiveX EXE 的代码?
-
是的,一个是带有ATL的C++,另一个是VB6项目
标签: winapi com activex shutdown out-of-process