1

マネージド クラスと通信できるようにしたいネイティブ C++ プラグイン フレームワークを持つネイティブ アプリケーションがあります。

過去に C++/CLI を使用してネイティブ コールを実行したことがありますが、C++/CLI/マネージ コードを純粋なネイティブ コードに戻す必要はありませんでした。

ここで実装する必要がある最も基本的な API は、次の形式を取ります。

extern "C"  cppPlugin *CreatePlugin(void);                                      
extern      cppPlugin *pluginPtr;

私が望むのは、cppPluginマネージ コードを使用して実装できるようにすることです。ここでのオプションは何ですか?

マネージ クラスを呼び出す単純なネイティブ プロキシ クラスを C++/CLI で作成する必要がありますか、それともより良い方法がありますか?

4

1 に答える 1

1

マネージ クラスを呼び出す単純なネイティブ プロキシ クラスを C++/CLI で作成する必要がありますか、それともより良い方法がありますか?

通常、これが最善の方法です。cppPluginポインターはネイティブ クラスへのポインターであるため、マネージド データのネイティブ プロキシを実装し、それを返す必要があります。

于 2013-08-21T00:25:04.787 に答える