我是带有 v110_xp 工具集的 Visual Studio 2012 Pro。我想在 COM 类中“转换”我的 c++ 动态库。该库的结构是这样的:
struct A;
struct B;
class IClass {
public:
virtual ~IClass() = 0;
virtual A doA() = 0;
virtual B doB() = 0;
virtual void getA( A& a ) = 0;
virtual void getB( B& b) = 0;
};
inline IClass::~IClass() {}
typedef std::unique_ptr< IClass > IClassPtr;
API_LIB IClassPtr ClassCreate( /* param */ );
现在所有的方法和函数都可以抛出一个派生自 std::exception 的类(析构函数除外)。
我想让它成为一个 COM 类,这样我就可以从 C# 中使用它。实现这一目标的最快方法是什么?ATL 可以提供帮助吗?有人知道一些教程或书籍。我对COM没有经验。