Partilhar via


Marshal.GetFunctionPointerForDelegate Método

Definição

Sobrecargas

GetFunctionPointerForDelegate(Delegate)
Obsoleto.

Converte um delegado em um ponteiro de função que pode ser chamado do código não gerenciado.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Converte um delegado de um tipo especificado em um ponteiro de função que pode ser chamado do código não gerenciado.

GetFunctionPointerForDelegate(Delegate)

Origem:
Marshal.cs
Origem:
Marshal.cs
Origem:
Marshal.cs

Cuidado

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 um delegado em um ponteiro de função que pode ser chamado do código não gerenciado.

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

Parâmetros

d
Delegate

O delegado a ser passado para código não gerenciado.

Retornos

IntPtr

nativeint

Um valor que pode ser passado para código não gerenciado, que, por sua vez, pode ser usado para chamar o delegado subjacente gerenciado.

Atributos

Exceções

O parâmetro d é uma definição de tipo genérico.

O parâmetro d é null.

Comentários

O delegado d é convertido em um ponteiro de função que pode ser passado para código não gerenciado usando a convenção de chamada de plataforma padrão. Você pode definir a convenção de chamada aplicando o UnmanagedFunctionPointerAttribute ao delegado.

Você deve impedir manualmente que o delegado seja coletado pelo coletor de lixo do código gerenciado. O coletor de lixo não rastreia referências a código não gerenciado.

Aplica-se a

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Origem:
Marshal.cs
Origem:
Marshal.cs
Origem:
Marshal.cs

Converte um delegado de um tipo especificado em um ponteiro de função que pode ser chamado do código não gerenciado.

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

Parâmetros de tipo

TDelegate

O tipo de delegado para converter.

Parâmetros

d
TDelegate

O delegado a ser passado para código não gerenciado.

Retornos

IntPtr

nativeint

Um valor que pode ser passado para código não gerenciado, que, por sua vez, pode ser usado para chamar o delegado subjacente gerenciado.

Atributos

Exceções

O parâmetro d é uma definição de tipo genérico.

O parâmetro d é null.

Comentários

O delegado d é convertido em um ponteiro de função que pode ser passado para código não gerenciado usando a convenção de chamada de plataforma padrão. Você pode definir a convenção de chamada aplicando o UnmanagedFunctionPointerAttribute ao delegado.

Você deve impedir manualmente que o delegado seja coletado pelo coletor de lixo do código gerenciado. O coletor de lixo não rastreia referências a código não gerenciado.

Aplica-se a