次の方法で共有


Marshal.GetFunctionPointerForDelegate メソッド

定義

オーバーロード

GetFunctionPointerForDelegate(Delegate)
古い.

アンマネージ コードから呼び出すことができる関数ポインターにデリゲートを変換します。

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

指定した型のデリゲートをアンマネージ コードから呼び出すことができる関数ポインターに変換します。

GetFunctionPointerForDelegate(Delegate)

ソース:
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

アンマネージ コードに渡されるデリゲート。

戻り値

IntPtr

nativeint

アンマネージド コードに渡すことができる値。アンマネージド コードはこの値を使用して、基になるマネージド デリゲートを呼び出すことができます。

属性

例外

d パラメーターがジェネリック型定義です。

d パラメーターが null です。

注釈

デリゲート d は、 既定のプラットフォーム呼び出し規則を使用してアンマネージ コードに渡すことができる関数ポインターに変換されます。 呼び出し規約を設定するには、 を UnmanagedFunctionPointerAttribute デリゲートに適用します。

マネージド コードからガベージ コレクターによってデリゲートが収集されないように手動で保持する必要があります。 ガベージ コレクターは、アンマネージ コードへの参照を追跡しません。

適用対象

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

ソース:
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

アンマネージ コードに渡されるデリゲート。

戻り値

IntPtr

nativeint

アンマネージド コードに渡すことができる値。アンマネージド コードはこの値を使用して、基になるマネージド デリゲートを呼び出すことができます。

属性

例外

d パラメーターがジェネリック型定義です。

d パラメーターが null です。

注釈

デリゲート d は、 既定のプラットフォーム呼び出し規則を使用してアンマネージ コードに渡すことができる関数ポインターに変換されます。 呼び出し規約を設定するには、 を UnmanagedFunctionPointerAttribute デリゲートに適用します。

マネージド コードからガベージ コレクターによってデリゲートが収集されないように手動で保持する必要があります。 ガベージ コレクターは、アンマネージ コードへの参照を追跡しません。

適用対象