我使用VC#为另一个应用程序创建了一个UI前端(称为“B”)(让我们称之为“A”)。 B是一个独立的EXE,必须(由于某些原因)由A调用。(由于安全策略,DLL不可能。)
目前的流程是:
所需的流程是:
...(5)A未关闭。
据我所知,我认为不良行为的原因是COM引用计数器会自动减少。因为B正在使用现有的A实例,所以计数器先前为1,因此减少到0,导致A完全关闭。(这是一个真正的问题,因为此时用户可能会丢失A中的数据。)
我已经尝试过影响GC以保持A活着,但没有成功。
问题是:
如何通过避免减少参考计数器来阻止A 的关闭?