2011-09-11 15 views
-1

私はVC6でVS2010に作成された古いMFCプロジェクトを移植しました。このプロジェクトでは、C#でactiveXとして使用でき、winform(ドラッグ/ドロップ)に貼り付けるocxファイルを作成します。C#プロジェクトのC++ MFC ocx、ポインタパラメータ

そこまで問題はありません。私が私のルーチンを見つけることを試みるとき、全身が上がる。このOCXコントロールにイメージをレンダリングする関数のいくつか。このルーチンでは、パラメータを渡す必要があります。 C++のlong型パラメータです。このパラメータはポインタです(C++で多く使われています)。

他の手では、いくつかの制限があります。一部のデータ型は使用できません。 C#の型を見ると、INT32が見えます。 int32への変換により、0FF55885からの私のポインタは0になります。

C#でポインタを扱う最良の方法は何ですか?また、どのように変換を行うのですか?

編集:いくつかのより多くの情報

これは私のC++関数である: AddPixelMatrix(長い蓋、...、長いl2DPixelArray、長いlWidth、長いlHeight、長いlColorArray、長いlNofColors、長いlStretchWithImage)

in my c#

axImgView1.AddPixelMatrix(parameter1、...);すべてのパラメータはint型です

答えて

0

任意のポインタは、System.IntPtrとしてマーシャリングできます。

関連する問題