デリゲートとアンマネージ関数ポインターのラップ

.NET Framework Version 2.0 以降は、次のメソッドを使用して、関数ポインターをマーシャリングする機能をマネージとアンマネージ コード間に提供します。

  • アンマネージ関数ポインターをデリゲートにマーシャリングする場合は、Marshal.GetDelegateForFunctionPointer メソッドを使用します。 このメソッドは、System.IntPtr クラスを使用してアンマネージ関数ポインターを表します。

  • デリゲートをアンマネージ コードから呼び出すことができる関数ポインターにマーシャリングする場合は、Marshal.GetFunctionPointerForDelegate メソッドを使用します。 このメソッドを使用するときは、手動でガベージ コレクターによってデリゲートが回収されないようにする必要があります。 ガベージ コレクターは、アンマネージ コードの参照を追跡しません。

.NET Framework 2.0 以降です、パラメーター マーシャラーも関数ポインターをデリゲートにマーシャリングできます。

参照

関連項目

GetDelegateForFunctionPointer

GetFunctionPointerForDelegate