Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
CriticalHandle, classe
Représente une classe wrapper pour des ressources de handle.
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Runtime.InteropServices.CriticalHandle
Microsoft.Win32.SafeHandles.CriticalHandleMinusOneIsInvalid
Microsoft.Win32.SafeHandles.CriticalHandleZeroOrMinusOneIsInvalid
Assembly : mscorlib (dans mscorlib.dll)
Le type CriticalHandle expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
CriticalHandle | Initialise une nouvelle instance de la classe CriticalHandle avec la valeur de handle non valide spécifiée. |
| Nom | Description | |
|---|---|---|
|
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'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Libère toutes les ressources associées au handle. (Substitue CriticalFinalizerObject.Finalize().) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (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 | 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.) |
La classe CriticalHandle est semblable à la classe SafeHandle, mais SafeHandle implémente le décompte de références. Vous pouvez utiliser CriticalHandle au lieu de SafeHandle afin d'améliorer les performances lorsque vous pouvez fournir la synchronisation nécessaire vous-même de manière plus efficace.
La classe CriticalHandle n'effectuant pas le décompte de références, elle ne fournit pas de protection contre les attaques de sécurité de recyclage de handle. L'algorithme de décompte de références sérialisant les opérations implicitement, une certaine sécurité des threads est également perdue. Si vous appelez la méthode IDisposable.Dispose ou Close pendant qu'une opération qui utilise le handle est en attente sur un autre thread, ou si vous appelez simultanément IDisposable.Dispose ou Close à partir de deux threads, les résultats sont non déterministes. La classe CriticalHandle fournit encore la finalisation critique garantie fournie par la classe CriticalFinalizerObject.
-
InheritanceDemand
pour une confiance totale accordée aux héritiers. Ce membre ne peut pas être hérité par du code d'un niveau de confiance partiel.
-
SecurityCriticalAttribute
exige une confiance totale pour l'appelant immédiat. Cette classe ne peut pas être utilisée par du code de confiance partielle ou transparent.
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.