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 gérer les ressources.
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 qu’elle SafeHandle implémente le comptage de références. Vous pouvez utiliser CriticalHandle au lieu de SafeHandle prendre en compte les performances lorsque vous pouvez fournir la synchronisation nécessaire plus efficacement vous-même.
Étant donné que la classe n’effectue pas de CriticalHandle comptage de références, elle ne fournit pas de protection contre les attaques de sécurité de recyclage. Étant donné que l’algorithme de comptage de référence sérialise implicitement les opérations, une certaine quantité de sécurité des threads est également perdue. Si vous appelez la ou Close la IDisposable.Dispose méthode pendant qu’une opération qui utilise le handle est en attente 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
| Nom | Description |
|---|---|
| CriticalHandle(IntPtr) |
Initialise une nouvelle instance de la CriticalHandle classe avec la valeur de handle non valide spécifiée. |
Champs
| Nom | Description |
|---|---|
| handle |
Spécifie le handle à wrapper. |
Propriétés
| Nom | Description |
|---|---|
| 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 de handle n’est pas valide. |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Marque le handle pour libérer et libérer des ressources. |
| Dispose() |
Libère toutes les ressources utilisées par le CriticalHandle. |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par la CriticalHandle classe spécifiant s’il faut effectuer 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() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ReleaseHandle() |
En cas de substitution dans une classe dérivée, exécute le code requis pour libérer le handle. |
| SetHandle(IntPtr) |
Définit le handle sur le 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) |