Compartilhar via


Método Marshal.GetFunctionPointerForDelegate (Delegate)

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

[SecurityCriticalAttribute]
public static IntPtr GetFunctionPointerForDelegate(
    Delegate d
)
public:
[SecurityCriticalAttribute]
static IntPtr GetFunctionPointerForDelegate(
    Delegate^ d
)
[<SecurityCriticalAttribute>]
static member GetFunctionPointerForDelegate : 
        d:Delegate -> nativeint
<SecurityCriticalAttribute>
Public Shared Function GetFunctionPointerForDelegate (
    d As Delegate
) As IntPtr

Parâmetros

  • d
    Type: System.Delegate

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

Valor Retornado

Type: System.IntPtr

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.

Exceções

Exception Condition
ArgumentException

O parâmetro d é um tipo genérico.

ArgumentNullException

O parâmetro d é null.

Comentários

O representante d é convertido em um ponteiro de função que pode ser passado para código não gerenciado usando o __stdcall convenção de chamada.

Manualmente, você deve manter o delegado seja coletado pelo coletor de lixo do código gerenciado. O coletor de lixo rastreia as referências a código não gerenciado.

Segurança

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

GetFunctionPointerForDelegate Sobrecarga
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início