SafeHandle.DangerousGetHandle Méthode

Définition

Retourne la valeur du champ handle.

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

Retours

IntPtr

nativeint

IntPtr représentant la valeur du champ handle. 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.

Remarques

Vous pouvez utiliser cette méthode pour récupérer la valeur de handle réelle à partir 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 dans le .NET Framework retournent IntPtr des types de handle. IntPtr les types handle sont des types spécifiques à la plateforme utilisés pour représenter un pointeur ou un handle.

Attention

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 d’origine, potentiellement obsolète. La poignée retournée peut également être recyclée à tout moment. Dans le meilleur des cas, 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é à du 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 qui vient d’être retourné et recevoir des informations pour une ressource entièrement indépendante. Pour plus d’informations sur l’utilisation DangerousAddRefDangerousRelease de la méthode en toute sécurité, consultez les DangerousGetHandle méthodes et .

S’applique à