SafeHandle.DangerousGetHandle Méthode

Définition

Retourne la valeur du handle champ.

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

Retours

IntPtr

nativeint

Représentant IntPtr la valeur du handle champ. Si le handle a été marqué comme non valide avec SetHandleAsInvalid(), cette méthode retourne toujours la valeur de handle d’origine, qui peut être une valeur obsolète.

Remarques

Vous pouvez utiliser cette méthode pour récupérer la valeur de handle réelle d’une instance de la SafeHandle classe dérivée. Cette méthode est nécessaire pour la compatibilité descendante, car de nombreuses propriétés du framework .NET retournent IntPtr types de handles. IntPtr les types de handle sont des types spécifiques à la plateforme utilisés pour représenter un pointeur ou un handle.

Avertissement

L’utilisation de la DangerousGetHandle méthode peut présenter des risques de sécurité, car, si le handle a été marqué comme non valide avec SetHandleAsInvalid, DangerousGetHandle retourne toujours la valeur de handle obsolète d’origine. La poignée retournée peut également être recyclée à n’importe quel moment. Au mieux, cela signifie que la poignée peut soudainement cesser de fonctionner. Au pire, si le handle ou la ressource que le handle représente est exposé au code non approuvé, cela peut entraîner une attaque de sécurité de recyclage sur le handle réutilisé ou retourné. Par exemple, un appelant non approuvé peut interroger des données sur le handle juste retourné et recevoir des informations pour une ressource entièrement non liée. Pour plus d’informations sur l’utilisation de la DangerousGetHandle méthode en toute sécurité, consultez les DangerousAddRef méthodes et les DangerousRelease méthodes.

S’applique à