我已经使用组件服务 MSC 对话框创建了一个 COM+ 应用程序。我将一个现有的 COM 对象导入到这个新的 COM+ 应用程序中。
我知道可以通过 COM+ 应用程序调用该 COM 对象。我可以简单地调用 COM 对象,就好像 COM+ 应用程序从未存在过一样,它工作正常。
但我的问题是,我现在可以直接调用 COM 对象吗?不通过那个 COM+ 应用程序?
整个故事是我将 COM+ 应用程序用作 64 位 COM 对象的包装器。这样做允许我的 32 位 VBscript 代码访问 64 位 COM 对象。但是,这也会阻止我的 32 位 VBscript 代码访问另一个同名的 32 位 COM 对象。
我想保持对 32 位 COM 对象的访问,以便我可以在一台机器上测试两种不同的样式(32 位 COM 和 64 位 COM)。
这可能吗?
最佳答案
您可以通过 CLSCTX 控制加载哪个版本的代码传递给 CoCreateInstance()
的枚举值 - 查看 CLSCTX_ACTIVATE_32_BIT_SERVER
和 CLSCTX_ACTIVATE_64_BIT_SERVER
值。不确定如何在 VBScript 中执行此操作。
关于windows - 将 COM 对象导入 COM+ 应用程序,同时保留直接访问 COM 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110014/