0
我是帶有v110_xp工具集的visual studio 2012 pro。我想在COM類中「轉換」我的C++動態庫。該庫的結構以這種方式:C++ COM ATL DLL
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 */);
現在所有的方法和funcion可以拋出一個類的std ::例外獲得(與析構函數除外)。
我想讓這個COM類,所以我可以使用它從C#。哪種方法可以實現這一目標? ATL可以幫忙嗎?有人知道一些教程或書籍。我在COM中沒有經驗。
你還是可以從右端做:創建一個新的ATL COM項目,添加COM類存在。你有嚮導,你可以在這裏找到教程。 –
如果您只是希望能夠從C++/CLI調用C++,可能會比編寫COM組件更容易。 –
A和B的外觀如何。除非它們是POD結構體,否則不能直接將它們傳遞給C#。你能展示A和B嗎? –