私は v110_xp ツールセットを使用したビジュアル スタジオ 2012 プロです。C++ ダイナミック ライブラリを COM クラスに "変換" したいと考えています。ライブラリは次のように構成されています。
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の経験がありません。