【问题标题】:Specify Isolated COM settings in dependent DLLs or just executable?在依赖的 DLL 中指定独立的 COM 设置还是只指定可执行文件?
【发布时间】:2009-09-23 21:21:52
【问题描述】:

我在 C++ VS2005 项目中设置独立 COM 项目设置,以使用免注册激活方法加载 ocx 组件。如果 ocx 组件也用于我的应用程序加载的 DLL 库中,我是否还需要在该 DLL 项目的设置中设置隔离 COM 设置?还是只设置主应用程序的嵌入式清单就足够了?谢谢!

【问题讨论】:

    标签: com ocx side-by-side


    【解决方案1】:

    据我了解,隔离是针对每个进程的,而不是针对每个模块的。因此,应用程序清单中的任何内容都适用于从该应用程序启动的任何进程。

    想想CoCreateInstance 需要做些什么来支持无注册 COM ——它需要以某种方式找到一个清单文件,如果它存在,去注册表获取激活信息。

    由于CoCreateInstance 没有参数告诉它清单的路径,它需要从上下文中派生它。

    .DLL 没有真正的上下文,但对于 .EXE,当前进程句柄可用于派生可执行文件的路径等,所以我怀疑他们就是这样做的。

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多