C++ 使用CreateProcess和CoCreateInstance创建COM组件

C++ 使用CreateProcess和CoCreateInstance创建COM组件,c++,com,C++,Com,使用CreateProcess后跟CoCreateInstance(使用CLSIDFromProgID中的类ID)启动COM组件exe是否存在任何问题 我已经这样做了,它似乎起了作用,但在关闭时我得到了副作用。 有时它会正确关闭,有时(在查看Process Explorer时),进程会保持活动状态,但会在树中移动 抱歉说得含糊不清,但我想知道的是,以这种方式启动COM对象(CreateProcess然后是CoCreateInstance)是否合法,或者正确实现这一点的唯一方法是否只是调用CoCr

使用CreateProcess后跟CoCreateInstance(使用CLSIDFromProgID中的类ID)启动COM组件exe是否存在任何问题

我已经这样做了,它似乎起了作用,但在关闭时我得到了副作用。 有时它会正确关闭,有时(在查看Process Explorer时),进程会保持活动状态,但会在树中移动

抱歉说得含糊不清,但我想知道的是,以这种方式启动COM对象(CreateProcess然后是CoCreateInstance)是否合法,或者正确实现这一点的唯一方法是否只是调用CoCreateInstance


谢谢

CoCreateInstance
。你为什么要为
CreateProcess
而烦恼呢?

基本上,我需要在一开始就重定向所创建COM exe对象的stdout和stderr。因此,我使用CreateProcess重定向这个stdio,然后将其称为CoCreateInstance。如果我可以在CoCreateInstance上指定重定向stdout和stderr的位置,这将是非常理想的,但我不知道如何做,或者这是否可能。有什么想法吗?引用:“坏主意,顺便说一句,COM服务器不应该是控制台模式的应用程序”。重复使用CogeObject(),直到不再出现故障。请注意,您无法预测流程开始运行并发布其类工厂所需的时间,您必须在最坏情况下工作不少于10秒。