我正在使用以下方法在我的 C++ 程序中托管一个 .NET 库,但不是一个详尽的列表:
CorBindToRuntimeEx()
GetDefaultDomain()
CreateInstance()
Invoke()
我有对应于 .NET 类的 C++ 类。每个类实例都包含一个CComPtr<IDispatch>
,我用它来调用函数和获取/设置成员变量。
这很好,除了当我复制我的 C++ 类时,我最终得到两个 C++ 类实例,它们都指向同一个 .NET 实例。当我在一个实例中更改变量值时,它会反映在另一个实例中。
所以,我真的很想复制我的 IDispatch 指针,这样每个 C++ 类实例都有一个唯一的 .NET 类实例。我可以打电话CreateInstance()
,但由于各种原因,找出库和类名很不方便。
tl;dr
如何在不查找类/库名称的情况下复制我的 .NET 支持的 IDispatch 指针?
谢谢!