Sdílet prostřednictvím


Marshal.GetFunctionPointerForDelegate Metoda

Definice

Přetížení

GetFunctionPointerForDelegate(Delegate)
Zastaralé.

Převede delegáta na ukazatel funkce, který je volatelný z nespravovaného kódu.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Převede delegáta zadaného typu na ukazatel funkce, který je volatelný z nespravovaného kódu.

GetFunctionPointerForDelegate(Delegate)

Zdroj:
Marshal.cs
Zdroj:
Marshal.cs
Zdroj:
Marshal.cs

Upozornění

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

Převede delegáta na ukazatel funkce, který je volatelný z nespravovaného kódu.

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

Parametry

d
Delegate

Delegát, který se má předat nespravovanému kódu.

Návraty

IntPtr

nativeint

Hodnota, která může být předána nespravovanému kódu, který ji pak může použít k volání podkladového spravovaného delegáta.

Atributy

Výjimky

Parametr d je definice obecného typu.

Parametr d je null.

Poznámky

Delegát d je převeden na ukazatel funkce, který lze předat nespravovanému kódu pomocí výchozí konvence volání platformy. Konvenci volání můžete nastavit tak, že na delegáta použijete UnmanagedFunctionPointerAttribute .

Musíte ručně zabránit tomu, aby byl delegát shromažďován uvolňováním paměti ze spravovaného kódu. Systém uvolňování paměti nesleduje odkazy na nespravovaný kód.

Platí pro

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Zdroj:
Marshal.cs
Zdroj:
Marshal.cs
Zdroj:
Marshal.cs

Převede delegáta zadaného typu na ukazatel funkce, který je volatelný z nespravovaného kódu.

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

Parametry typu

TDelegate

Typ delegáta, který chcete převést.

Parametry

d
TDelegate

Delegát, který se má předat nespravovanému kódu.

Návraty

IntPtr

nativeint

Hodnota, která může být předána nespravovanému kódu, který ji pak může použít k volání podkladového spravovaného delegáta.

Atributy

Výjimky

Parametr d je definice obecného typu.

Parametr d je null.

Poznámky

Delegát d je převeden na ukazatel funkce, který lze předat nespravovanému kódu pomocí výchozí konvence volání platformy. Konvenci volání můžete nastavit tak, že na delegáta použijete UnmanagedFunctionPointerAttribute .

Musíte ručně zabránit tomu, aby byl delegát shromažďován uvolňováním paměti ze spravovaného kódu. Systém uvolňování paměti nesleduje odkazy na nespravovaný kód.

Platí pro