Condividi tramite


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

nativeint

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 utilizzare questo metodo per recuperare il valore di handle effettivo da un'istanza della SafeHandle classe derivata. Questo metodo è necessario per la compatibilità con le versioni precedenti perché molte proprietà in .NET Framework restituiscono IntPtr tipi di handle. IntPtr I tipi handle sono tipi specifici della piattaforma usati per rappresentare un puntatore o un handle.

Attenzione

L'uso del DangerousGetHandle metodo può comportare rischi per la sicurezza perché, se l'handle è stato contrassegnato come non valido con SetHandleAsInvalid, DangerousGetHandle restituisce comunque il valore di handle originale potenzialmente non aggiornato. Il quadratino restituito può anche essere riciclato in qualsiasi momento. Al meglio, questo significa che l'handle potrebbe improvvisamente smettere di funzionare. Nel peggiore dei casi, se l'handle o la risorsa rappresentata dall'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 informazioni sull'uso del DangerousGetHandle metodo in modo sicuro, vedere e DangerousAddRef i DangerousRelease metodi .

Si applica a