SafeNCryptHandle Classe

Définition

Fournit un handle sécurisé qui peut être utilisé par les objets CNG (Cryptography Next Generation).

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

public ref class SafeNCryptHandle abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
public ref class SafeNCryptHandle abstract : System::Runtime::InteropServices::SafeHandle
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
public abstract class SafeNCryptHandle : System.Runtime.InteropServices.SafeHandle
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandle
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandle
Héritage
Héritage
SafeNCryptHandle
Dérivé
Attributs

Remarques

Cette classe encapsule la logique pour dupliquer correctement et libérer ces handles pour simuler une duplication native.

Chaque objet de handle ouvert peut être considéré comme étant dans l’un des trois états suivants :

  • Propriétaire : créé via le marshaleur, de style traditionnel de handle sécurisé. Il n’existe qu’un seul handle propriétaire pour un handle natif donné.
  • Dupliquer : pointe sur un handle dans l’état Holder. La libération d’un handle dans l’état dupliqué entraîne uniquement la décrémentation du nombre de références du détenteur, et non dans une version du handle natif.
  • Holder : conserve un handle natif et est référencé par des handles dans l’état dupliqué. Lorsque tous les handles en double sont fermés, le handle de titulaire libère le handle natif. Un handle de titulaire ne sera jamais finalisé, car cela entraîne une course entre les finaliseurs des handles dupliqués et le handle de titulaire. Au lieu de cela, il s’appuie sur tous les handles en double à finaliser et décrémente le nombre de références à zéro. Les instances d’un handle de titulaire ne doivent jamais être référencées par autre chose qu’un handle en double.

Constructeurs

SafeNCryptHandle()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Initialise une nouvelle instance de la classe SafeNCryptHandle.

SafeNCryptHandle(IntPtr, SafeHandle)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Instancie une nouvelle instance de la classe SafeNCryptHandle.

Champs

handle

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Spécifie le handle à encapsuler.

(Hérité de SafeHandle)

Propriétés

IsClosed

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Obtient une valeur indiquant si le handle est fermé.

(Hérité de SafeHandle)
IsInvalid

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Obtient une valeur qui indique si le handle n'est pas valide.

IsInvalid

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Obtient une valeur qui indique si le handle n'est pas valide.

(Hérité de SafeHandleZeroOrMinusOneIsInvalid)

Méthodes

Close()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Marque le handle pour libérer des ressources.

(Hérité de SafeHandle)
DangerousAddRef(Boolean)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Incrémente manuellement le compteur de références sur les instances de SafeHandle.

(Hérité de SafeHandle)
DangerousGetHandle()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Retourne la valeur du champ handle.

(Hérité de SafeHandle)
DangerousRelease()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Décrémente manuellement le compteur de références sur une instance de SafeHandle.

(Hérité de SafeHandle)
Dispose()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Libère toutes les ressources utilisées par la classe SafeHandle.

(Hérité de SafeHandle)
Dispose(Boolean)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Libère les ressources non managées utilisées par la classe SafeHandle, en spécifiant s'il faut exécuter une opération de suppression normale.

(Hérité de SafeHandle)
Equals(Object)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ReleaseHandle()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Diffuse un handle utilisé par un objet CNG (Cryptography Next Generation).

ReleaseNativeHandle()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Diffuse un handle natif utilisé par un objet CNG (Cryptography Next Generation).

SetHandle(IntPtr)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Définit le handle au handle préexistant spécifié.

(Hérité de SafeHandle)
SetHandleAsInvalid()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Marque un handle comme n'étant plus utilisé.

(Hérité de SafeHandle)
ToString()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à