我正在使用 Visual Studio 2008 和 ATL 创建一个 COM 对象。添加简单的属性和方法很容易,但现在我想做一些更复杂的事情。我想通过我的 COM 对象的属性授予对 C++ 对象的访问权限,因此我可以执行以下操作:
// Pseudo-code
var obj = CreateObject("progid");
obj.aProperty.anotherProperty = someValue;
因此,aProperty
返回对另一个对象的引用,该对象公开了一个名为anotherProperty
.
我猜我需要在我的项目中为第二个对象添加另一个简单的 ATL 对象(调用它IClass2
),并且在 IDL 中有类似以下内容:
[propget, id(1)] HRESULT aProperty([out, retval] IClass2** ppValue);
我在正确的轨道上吗?有谁知道这类事情的好教程?