从DLL独立调用COM / WMI并与Host App隔离

时间:2016-09-10 10:22:03

标签: c++ dll wmi

我在 C ++ 中制作了 Wrapper DLL ,公开了一些在调用时连接到的函数 WMI 并在那里执行一些方法。

问题是, 主机应用程序 是否已经或将要调用CoInitialize/Ex尚不清楚,因此我正在寻找某种< strong> 隔离/沙盒 方法让 DLL 运行它自己的 COM / WMI 独立于主机应用程序。

我仍然不完全熟悉 C ++线程模型 ,但是可以有多个独立的 COM / WMI DLL中的实例

我能想到的就是克服这个问题:

构建连接到 COM / WMI 的外部应用程序,并允许使用共享内存进行调用。然后 DLL 可以与共享内存部分进行通信。 (是否可以使用共享内存调用方法或函数?)。这样做的缺点是需要运行其他流程来充当中间人 WMI 进行通信,而且似乎不是实现这一目标的最佳方式。

如果直接来自 DLL ,会好得多。

是否可以创建独立的 COM / WMI 设置,让CoInitialize/Ex DLL的范围内运行 独立于主机应用程序?有什么建议如何解决这个问题?

问候和感谢。

0 个答案:

没有答案