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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

CriticalHandle, classe

Représente une classe wrapper pour des ressources de handle.

Espace de noms :  System.Runtime.InteropServices
Assembly :  mscorlib (dans mscorlib.dll)
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, UnmanagedCode = true)]
public abstract class CriticalHandle : CriticalFinalizerObject, 
	IDisposable

Le type CriticalHandle expose les membres suivants.

  Nom Description
Méthode protégée CriticalHandle Initialise une nouvelle instance de la classe CriticalHandle avec la valeur de handle non valide spécifiée.
Début
  Nom Description
Propriété publique IsClosed Obtient une valeur indiquant si le handle est fermé.
Propriété publique IsInvalid En cas de substitution dans une classe dérivée, obtient une valeur indiquant si la valeur du handle n'est pas valide.
Début
  Nom Description
Méthode publique Close Marque le handle pour libérer des ressources.
Méthode publique Dispose() Libère toutes les ressources utilisées par CriticalHandle.
Méthode protégée 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.
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Libère toutes les ressources associées au handle. (Substitue CriticalFinalizerObject.Finalize().)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée ReleaseHandle En cas de substitution dans une classe dérivée, exécute le code nécessaire pour libérer le handle.
Méthode protégée SetHandle Définit le handle au handle préexistant spécifié.
Méthode publique SetHandleAsInvalid Marque un handle comme non valide.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début
  Nom Description
Champ protégé handle Spécifie le handle à encapsuler.
Début

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.

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1
  • 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.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ