Condividi tramite


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.

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

Parametri

d
Delegate

Delegato da passare al codice non gestito.

Restituisce

IntPtr

nativeint

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

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.

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

Parametri di tipo

TDelegate

Tipo di delegato da convertire.

Parametri

d
TDelegate

Delegato da passare al codice non gestito.

Restituisce

IntPtr

nativeint

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