ネイティブC++で作成されたlibの関数を最終的にはC#で使用しようとしています。 その橋渡しとしてC++/CLIを使用しています。 派生クラス[C#] n → 1 基底クラス[C++/CLI] ネイティブ関数はIDとバッファ構造体ポインタを渡すと、 IDに基づいたデータをバッファ構造体ポインタ宛にセットするというものです。 派生クラスのコンストラクタで、マネージ構造体の追跡ハンドラを基底クラスの プロパティにセットし、基底クラス側でネイティブ関数を呼び出す直前で 追跡ハンドラからポインタを取得・固定して関数実行すると (マネージ・アンマネージヒープ等が勉強不足の為、希望として)メモリの無駄がなく 実装できるのではと考えています。 そこで問題となる追跡ハンドラからのポインタ取得・固定の仕方が分かりません。 要はC#でDllImport属性でDLLコールする場合に構造体をref渡しすると思