windows - 将 COM 对象导入 COM+ 应用程序,同时保留直接访问 COM 对象?

标签 windows testing com vbscript com+

我已经使用组件服务 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_SERVERCLSCTX_ACTIVATE_64_BIT_SERVER 值。不确定如何在 VBScript 中执行此操作。

关于windows - 将 COM 对象导入 COM+ 应用程序,同时保留直接访问 COM 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110014/

相关文章:

c# - 使用在主线程中创建的 COM 对象无阻塞地运行一段代码

c# - 将相当简单的 C# 类库转换为 COM 对象?

java - 读入Excel表格,处理并输出

Vi模式下的Windows终端/控制台/shell ?

windows - GitHub Pages 的 Jekyll 在 Windows 上找不到 rouge

javascript - 使用 Jasmine 在 JavaScript 中插入 WebSocket

R - 使用 for 循环测试多个数据帧

java - 单元测试方法在运行测试时不使用模拟对象。而是调用实际的类和方法

windows - 通过 CMD 和 PowerShell 终端提示符链执行复杂指令

c++ - 为什么 ITypeInfo::Invoke 返回 0x80020003(未找到成员。)?