SafeHandle.DangerousGetHandle Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne la valeur du champ handle.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Retours
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 .