そこで、OCX オブジェクトのマネージド ラッパーである関数を呼び出そうとしています。大きな困難を抱えています。機能は次のとおりです。
foo(System::Object ^% theBuffer)
ここで、「theBuffer」はバイト配列です。「foo」がラップするアンマネージド OCX のテンプレートは次のとおりです。
goo(VARIANT* theBuffer);
だから私は試しました。
System::Int32 buf[10];
foo(buf);
これは失敗します。と
Bitmap ^b;
foo(b);
これはコンパイルされますが、明らかに呼び出された関数は.NETビットマップを作成しません。
したがって、問題は、この関数に書き込み可能なメモリ ブロックを渡し、.NET の世界でアクセスできるようにする方法だと思います。
ありがとう