Marshal.GetFunctionPointerForDelegate Metodo

Definizione

Overload

GetFunctionPointerForDelegate(Delegate)
Obsoleti.

Converte un delegato in un puntatore a funzione disponibile per la chiamata dal codice non gestito.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Converte un delegato di un tipo specificato in un puntatore a funzione disponibile per la chiamata dal codice non gestito.

GetFunctionPointerForDelegate(Delegate)

Origine:
Marshal.cs
Origine:
Marshal.cs
Origine:
Marshal.cs

Attenzione

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

Converte un delegato in un puntatore a funzione disponibile per la chiamata dal codice non gestito.

C#
[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);
C#
public static IntPtr GetFunctionPointerForDelegate(Delegate d);
C#
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate(Delegate d);

Parametri

d
Delegate

Delegato da passare al codice non gestito.

Restituisce

IntPtr

Valore che può essere passato al codice non gestito, che a sua volta può usarlo per chiamare il delegato gestito sottostante.

Attributi

Eccezioni

Il parametro d è una definizione di tipo generico.

Il valore del parametro d è null.

Commenti

Il delegato d viene convertito in un puntatore di funzione che può essere passato al codice non gestito usando la convenzione di chiamata alla piattaforma predefinita. È possibile impostare la convenzione chiamante applicando l'oggetto UnmanagedFunctionPointerAttribute al delegato.

È necessario mantenere manualmente il delegato da raccogliere dal garbage collector dal codice gestito. Garbage Collector non tiene traccia dei riferimenti al codice non gestito.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni (Obsoleto)
.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)

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Origine:
Marshal.cs
Origine:
Marshal.cs
Origine:
Marshal.cs

Converte un delegato di un tipo specificato in un puntatore a funzione disponibile per la chiamata dal codice non gestito.

C#
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate<TDelegate>(TDelegate d);
C#
public static IntPtr GetFunctionPointerForDelegate<TDelegate>(TDelegate d);

Parametri di tipo

TDelegate

Tipo di delegato da convertire.

Parametri

d
TDelegate

Delegato da passare al codice non gestito.

Restituisce

IntPtr

Valore che può essere passato al codice non gestito, che a sua volta può usarlo per chiamare il delegato gestito sottostante.

Attributi

Eccezioni

Il parametro d è una definizione di tipo generico.

Il valore del parametro d è null.

Commenti

Il delegato d viene convertito in un puntatore alla funzione che può essere passato al codice non gestito usando la convenzione di chiamata alla piattaforma predefinita. È possibile impostare la convenzione chiamante applicando l'oggetto UnmanagedFunctionPointerAttribute al delegato.

È necessario mantenere manualmente il delegato da raccogliere dal garbage collector dal codice gestito. Garbage Collector non tiene traccia dei riferimenti al codice non gestito.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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