进程外组件(exe)的创建有关问题CoCreateInstance

进程外组件(exe)的创建问题CoCreateInstance
在我的应用程序启动时,使用CoCreateInstance启动一个进程外的组件,并请求了该组件的一个接口,但返回的代码是0x80080005(Server execution failed)。这种情况出现在关闭应用程序后,再次打开该应用程序时。(应该程序退出时,会释放该进程外组件的接口,之后该组件也会自动释放)
请问这通常会是什么原因导致,这跟串口有关系吗?如果上次组件没有释放,会不会影响第二次启动时CoCreateInstance的调用?谢谢!


------解决方案--------------------
你得看看CoCreateInstance的内部实现是怎样的,正常的,是不会影响到第二次调用的,因为CoCreateInstance内部调用了类厂的创建,然后通过类厂创建组件对象
------解决方案--------------------
如果是前一个没有退出才会引起,那么就要看一下退出的时候是否正常释放以及释放时,又创建了第二个
------解决方案--------------------
可能是你的程序退出时,还没有释放资源,或者释放有延迟。。
------解决方案--------------------
查代码,是不是接口的引用计数该释放的时候没有释放
------解决方案--------------------
这是正常现象。进程外组件的清理需要时间,通常会比主应用延迟若干秒才退出。用任务管理器观察一下两个进程的退出时间就知道了。在组件未退出前,再次创建组件就会失败。