CriticalHandle Classe
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.
Représente une classe wrapper pour les ressources de handle.
public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
interface IDisposable
type CriticalHandle = class
inherit CriticalFinalizerObject
interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
inherit CriticalFinalizerObject
interface IDisposable
Public MustInherit Class CriticalHandle
Implements IDisposable
Public MustInherit Class CriticalHandle
Inherits CriticalFinalizerObject
Implements IDisposable
- Héritage
-
CriticalHandle
- Héritage
- Dérivé
- Attributs
- Implémente
Remarques
La CriticalHandle classe est similaire à la SafeHandle classe, sauf que SafeHandle implémente le comptage des références. Vous pouvez utiliser CriticalHandle au lieu de SafeHandle pour répondre aux considérations relatives aux performances lorsque vous pouvez fournir vous-même la synchronisation nécessaire plus efficacement.
Étant donné que la CriticalHandle classe n’effectue pas le comptage des références, elle ne fournit pas de protection contre les attaques de sécurité de recyclage. Étant donné que l’algorithme de comptage des références sérialise implicitement les opérations, une certaine sécurité des threads est également perdue. Si vous appelez la IDisposable.Dispose méthode ou Close alors qu’une opération qui utilise le handle est en cours sur un autre thread, ou si vous appelez IDisposable.Dispose ou Close à partir de deux threads en même temps, les résultats ne sont pas déterministes. La CriticalHandle classe fournit toujours la finalisation critique garantie fournie par la CriticalFinalizerObject classe.
Constructeurs
CriticalHandle(IntPtr) |
Initialise une nouvelle instance de la classe CriticalHandle avec la valeur de handle non valide spécifiée. |
Champs
handle |
Spécifie le handle à encapsuler. |
Propriétés
IsClosed |
Obtient une valeur indiquant si le handle est fermé. |
IsInvalid |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si la valeur du handle n'est pas valide. |
Méthodes
Close() |
Marque le handle pour libérer des ressources. |
Dispose() |
Libère toutes les ressources utilisées par CriticalHandle. |
Dispose(Boolean) |
Libère les ressources non managées utilisées par la classe CriticalHandle, en spécifiant s'il faut exécuter une opération de suppression normale. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Finalize() |
Libère toutes les ressources associées au handle. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ReleaseHandle() |
En cas de substitution dans une classe dérivée, exécute le code nécessaire pour libérer le handle. |
SetHandle(IntPtr) |
Définit le handle au handle préexistant spécifié. |
SetHandleAsInvalid() |
Marque un handle comme non valide. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |