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 handle champ.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Retours
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.