SafeHandle.DangerousGetHandle Metodo

Definizione

Restituisce il valore del campo handle.

public:
 IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr

Restituisce

IntPtr

Valore IntPtr che rappresenta il valore del campo handle. Se l'handle è stato contrassegnato come non valido con SetHandleAsInvalid(), questo metodo restituisce comunque il valore di handle originale, che può essere un valore non aggiornato.

Commenti

È possibile usare questo metodo per recuperare il valore effettivo dell'handle da un'istanza della SafeHandle classe derivata. Questo metodo è necessario per la compatibilità con le versioni precedenti perché molte proprietà nell'oggetto .NET Framework tipi IntPtr di handle restituiti. IntPtr I tipi handle sono tipi specifici della piattaforma usati per rappresentare un puntatore o un handle.

Attenzione

L'uso del metodo può comportare rischi per la sicurezza perché, se l'handle è stato contrassegnato come non valido con , restituisce comunque il valore di handle originale DangerousGetHandle SetHandleAsInvalid potenzialmente non DangerousGetHandle obsoleto. L'handle restituito può anche essere riciclato in qualsiasi momento. Nel migliore dei modi, ciò significa che l'handle potrebbe improvvisamente smettere di funzionare. Nel peggiore dei casi, se l'handle o la risorsa che rappresenta l'handle è esposto a codice non attendibile, ciò può causare un attacco di sicurezza di riciclo sull'handle riutilizzato o restituito. Ad esempio, un chiamante non attendibile può eseguire query sui dati sull'handle appena restituito e ricevere informazioni per una risorsa completamente non correlata. Per altre DangerousAddRef informazioni sull'uso del metodo in modo sicuro, vedere DangerousRelease e i metodi DangerousGetHandle .

Si applica a