SafeHandle.DangerousGetHandle Metodo

Definizione

Restituisce il valore del campo handle.Returns the value of the handle field.

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

Restituisce

Valore IntPtr che rappresenta il valore del campo handle.An IntPtr representing the value of the handle field. 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.If the handle has been marked invalid with SetHandleAsInvalid(), this method still returns the original handle value, which can be a stale value.

Commenti

È possibile utilizzare questo metodo per recuperare il valore effettivo dell'handle da un'istanza della classe derivata SafeHandle.You can use this method to retrieve the actual handle value from an instance of the SafeHandle derived class. Questo metodo è necessario per la compatibilità con le versioni precedenti perché molte proprietà nel .NET Framework restituiscono IntPtr tipi di handle.This method is needed for backwards compatibility because many properties in the .NET Framework return IntPtr handle types. i tipi di handle IntPtr sono tipi specifici della piattaforma usati per rappresentare un puntatore o un handle.IntPtr handle types are platform-specific types used to represent a pointer or a handle.

Attenzione

L'utilizzo del metodo DangerousGetHandle 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.Using the DangerousGetHandle method can pose security risks because, if the handle has been marked as invalid with SetHandleAsInvalid, DangerousGetHandle still returns the original, potentially stale handle value. L'handle restituito può essere riciclato anche in qualsiasi momento.The returned handle can also be recycled at any point. Al meglio, questo significa che l'handle potrebbe smettere improvvisamente di funzionare.At best, this means the handle might suddenly stop working. Nel peggiore dei casi, se l'handle o la risorsa rappresentata dall'handle è esposta a codice non attendibile, questo può causare un attacco di sicurezza al riciclo sull'handle riutilizzato o restituito.At worst, if the handle or the resource that the handle represents is exposed to untrusted code, this can lead to a recycling security attack on the reused or returned handle. Un chiamante non attendibile, ad esempio, può eseguire una query sui dati dell'handle appena restituiti e ricevere informazioni per una risorsa completamente non correlata.For example, an untrusted caller can query data on the handle just returned and receive information for an entirely unrelated resource. Per ulteriori informazioni sull'utilizzo del DangerousGetHandle methodsafely, vedere i metodi DangerousAddRef e DangerousRelease.See the DangerousAddRef and the DangerousRelease methods for more information about using the DangerousGetHandle methodsafely.

Sicurezza

SecurityPermission
per l'autorizzazione a chiamare codice non gestito.for permission to call unmanaged code. Azione di sicurezza: LinkDemand.Security action: LinkDemand. Enumerazione associata: UnmanagedCodeAssociated enumeration: UnmanagedCode

Si applica a