Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Marshal.GetDelegateForFunctionPointer<TDelegate>(IntPtr)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

[Supportato in .NET Framework 4.5.1 e versioni successive]

Converte un puntatore a funzione non gestito in un delegato di un tipo specificato.

Spazio dei nomi:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

[SecurityCriticalAttribute]
public static TDelegate GetDelegateForFunctionPointer<TDelegate>(
	IntPtr ptr
)

Parametri

ptr
Type: System.IntPtr

Puntatore alla funzione non gestita da convertire.

Valore restituito

Type: TDelegate

Istanza del tipo di delegato specificato.

Parametri tipo

TDelegate

Tipo del delegato da restituire.

Exception Condition
ArgumentException

Il TDelegate parametro generico non è un delegato o è un tipo generico aperto.

ArgumentNullException

Il valore del parametro ptr è null.

È possibile utilizzare ilGetDelegateForFunctionPointer<TDelegate>(IntPtr) eGetFunctionPointerForDelegate<TDelegate>(TDelegate)metodi per effettuare il marshalling di delegati in entrambe le direzioni.

IlGetDelegateForFunctionPointer<TDelegate>(IntPtr) metodo presenta le restrizioni seguenti:

  • A questo metodo, è possibile passare un puntatore a funzione non valido.

  • È possibile utilizzare questo metodo solo per i puntatori a funzione non gestiti puri.

  • È possibile utilizzare questo metodo con puntatori a funzione ottenuti tramite C++ o dal GetFunctionPointer metodo.

  • È possibile utilizzare questo metodo per creare un delegato da un puntatore a funzione a un altro delegato gestito.

SecurityCriticalAttribute

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

Universal Windows Platform
Disponibile da 8.1
.NET Framework
Disponibile da 4.5.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: