Marshal.GetFunctionPointerForDelegate メソッド
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
GetFunctionPointerForDelegate(Delegate) |
古い.
アンマネージ コードから呼び出すことができる関数ポインターにデリゲートを変換します。 |
GetFunctionPointerForDelegate<TDelegate>(TDelegate) |
指定した型のデリゲートをアンマネージ コードから呼び出すことができる関数ポインターに変換します。 |
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
注意事項
GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522
アンマネージ コードから呼び出すことができる関数ポインターにデリゲートを変換します。
public:
static IntPtr GetFunctionPointerForDelegate(Delegate ^ d);
[System.Obsolete("GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522")]
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate(Delegate d);
public static IntPtr GetFunctionPointerForDelegate(Delegate d);
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate(Delegate d);
[<System.Obsolete("GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522")>]
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : Delegate -> nativeint
static member GetFunctionPointerForDelegate : Delegate -> nativeint
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : Delegate -> nativeint
Public Shared Function GetFunctionPointerForDelegate (d As Delegate) As IntPtr
パラメーター
- d
- Delegate
アンマネージ コードに渡されるデリゲート。
戻り値
nativeint
アンマネージド コードに渡すことができる値。アンマネージド コードはこの値を使用して、基になるマネージド デリゲートを呼び出すことができます。
- 属性
例外
d
パラメーターがジェネリック型定義です。
d
パラメーターが null
です。
注釈
デリゲート d
は、 既定のプラットフォーム呼び出し規則を使用してアンマネージ コードに渡すことができる関数ポインターに変換されます。 呼び出し規約を設定するには、 を UnmanagedFunctionPointerAttribute デリゲートに適用します。
マネージド コードからガベージ コレクターによってデリゲートが収集されないように手動で保持する必要があります。 ガベージ コレクターは、アンマネージ コードへの参照を追跡しません。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン (廃止) |
---|---|
.NET | Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 (Core 1.0) |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 2.0, 2.1 (1.2, 1.3, 1.4, 1.5, 1.6) |
UWP | (10.0) |
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
指定した型のデリゲートをアンマネージ コードから呼び出すことができる関数ポインターに変換します。
public:
generic <typename TDelegate>
static IntPtr GetFunctionPointerForDelegate(TDelegate d);
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate<TDelegate>(TDelegate d);
public static IntPtr GetFunctionPointerForDelegate<TDelegate>(TDelegate d);
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : 'Delegate -> nativeint
static member GetFunctionPointerForDelegate : 'Delegate -> nativeint
Public Shared Function GetFunctionPointerForDelegate(Of TDelegate) (d As TDelegate) As IntPtr
型パラメーター
- TDelegate
変換するデリゲートの型。
パラメーター
- d
- TDelegate
アンマネージ コードに渡されるデリゲート。
戻り値
nativeint
アンマネージド コードに渡すことができる値。アンマネージド コードはこの値を使用して、基になるマネージド デリゲートを呼び出すことができます。
- 属性
例外
d
パラメーターがジェネリック型定義です。
d
パラメーターが null
です。
注釈
デリゲート d
は、 既定のプラットフォーム呼び出し規則を使用してアンマネージ コードに渡すことができる関数ポインターに変換されます。 呼び出し規約を設定するには、 を UnmanagedFunctionPointerAttribute デリゲートに適用します。
マネージド コードからガベージ コレクターによってデリゲートが収集されないように手動で保持する必要があります。 ガベージ コレクターは、アンマネージ コードへの参照を追跡しません。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。