Marshal.GetFunctionPointerForDelegate Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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.