SafeHandle.DangerousGetHandle Méthode

Définition

Retourne la valeur du champ handle.Returns the value of the handle field.

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

Retours

IntPtr représentant la valeur du champ handle.An IntPtr representing the value of the handle field. Si le handle a été marqué comme étant non valide avec SetHandleAsInvalid(), cette méthode retourne quand même la valeur de handle d'origine, qui peut être une valeur périmée.If the handle has been marked invalid with SetHandleAsInvalid(), this method still returns the original handle value, which can be a stale value.

Remarques

Vous pouvez utiliser cette méthode pour récupérer la valeur de handle réelle d’une instance de la classe dérivée SafeHandle.You can use this method to retrieve the actual handle value from an instance of the SafeHandle derived class. Cette méthode est nécessaire à des fins de compatibilité descendante, car de nombreuses propriétés de la .NET Framework retournent des types de handle IntPtr.This method is needed for backwards compatibility because many properties in the .NET Framework return IntPtr handle types. IntPtr types de handle sont des types spécifiques à la plateforme utilisés pour représenter un pointeur ou un handle.IntPtr handle types are platform-specific types used to represent a pointer or a handle.

Attention

L’utilisation de la méthode DangerousGetHandle peut poser des risques de sécurité, car si le handle a été marqué comme non valide avec SetHandleAsInvalid, DangerousGetHandle retourne toujours la valeur de handle d’origine potentiellement périmée.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. Le descripteur retourné peut également être recyclé à tout moment.The returned handle can also be recycled at any point. Au mieux, cela signifie que le descripteur peut soudainement cesser de fonctionner.At best, this means the handle might suddenly stop working. Au pire, si le handle ou la ressource représentée par le descripteur est exposé à du code non fiable, cela peut entraîner une attaque de la sécurité du recyclage sur le handle réutilisé ou retourné.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. Par exemple, un appelant non fiable peut interroger des données sur le descripteur qui vient de retourner et recevoir des informations pour une ressource entièrement non liée.For example, an untrusted caller can query data on the handle just returned and receive information for an entirely unrelated resource. Pour plus d’informations sur l’utilisation de la DangerousGetHandle methodsafely, consultez les méthodes DangerousAddRef et DangerousRelease.See the DangerousAddRef and the DangerousRelease methods for more information about using the DangerousGetHandle methodsafely.

Sécurité

SecurityPermission
pour obtenir l’autorisation d’appeler du code non managé.for permission to call unmanaged code. Action de sécurité : LinkDemand.Security action: LinkDemand. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

S’applique à