Marshal.GetFunctionPointerForDelegate Método

Definición

Sobrecargas

GetFunctionPointerForDelegate(Delegate)
Obsoletos.

Convierte un delegado en un puntero a función invocable desde código no administrado.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Convierte un delegado de un tipo especificado en un puntero a función invocable desde código no administrado.

GetFunctionPointerForDelegate(Delegate)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Precaució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

Convierte un delegado en un puntero a función invocable desde código no administrado.

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);

Parámetros

d
Delegate

Delegado que se va a pasar a código no administrado.

Devoluciones

IntPtr

Valor que se puede pasar a código no administrado que, a su vez, puede utilizarlo para llamar al delegado administrado subyacente.

Atributos

Excepciones

El parámetro d es una definición de tipo genérico.

El parámetro d es null.

Comentarios

El delegado d se convierte en un puntero de función que se puede pasar al código no administrado mediante la convención de llamada de plataforma predeterminada. Puede establecer la convención de llamada aplicando al UnmanagedFunctionPointerAttribute delegado .

Debe evitar que el recolector de elementos no utilizados recopile manualmente el delegado del código administrado. El recolector de elementos no utilizados no realiza un seguimiento de las referencias al código no administrado.

Se aplica a

.NET 9 e outras versións
Produto Versións (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)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Convierte un delegado de un tipo especificado en un puntero a función invocable desde código no administrado.

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

Parámetros de tipo

TDelegate

Tipo de delegado que se va a convertir.

Parámetros

d
TDelegate

Delegado que se va a pasar a código no administrado.

Devoluciones

IntPtr

Valor que se puede pasar a código no administrado que, a su vez, puede utilizarlo para llamar al delegado administrado subyacente.

Atributos

Excepciones

El parámetro d es una definición de tipo genérico.

El parámetro d es null.

Comentarios

El delegado d se convierte en un puntero de función que se puede pasar al código no administrado mediante la convención de llamada de plataforma predeterminada. Puede establecer la convención de llamada aplicando al UnmanagedFunctionPointerAttribute delegado .

Debe evitar que el recolector de elementos no utilizados recopile manualmente el delegado del código administrado. El recolector de elementos no utilizados no realiza un seguimiento de las referencias al código no administrado.

Se aplica a

.NET 9 e outras versións
Produto Versións
.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