Sprache

SafeNCryptHandle Klasse

Definition

Stellt einen sicheren Handle bereit, der von Kryptografie-Objekten der nächsten Generation (CNG) verwendet werden kann.

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

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
Vererbung
Vererbung
SafeNCryptHandle
Abgeleitet
Attribute

Hinweise

Diese Klasse schließt die Logik auf, um eine systemeigene Duplizierung ordnungsgemäß zu duplizieren und diese Handles freizugeben, um eine systemeigene Duplizierung zu simulieren.

Jedes offene Handle-Objekt kann als in einem von drei Zuständen betrachtet werden:

  • Besitzer - Erstellt über den Marshaler, traditionellen stilsicheren Handle. Insbesondere ist nur ein Besitzerhandle für ein bestimmtes systemeigenes Handle vorhanden.
  • Duplikat - Verweist auf einen Handle im Status "Holder". Das Freigeben eines Handles im doppelten Zustand führt nur dazu, die Referenzanzahl des Halters zu erhöhen, nicht in einer Freigabe des systemeigenen Handles.
  • Holder – Hält ein systemeigenes Handle auf und wird von Handles im doppelten Zustand referenziert. Wenn alle doppelten Ziehpunkte geschlossen sind, gibt der Halter den systemeigenen Handle frei. Ein Halterziehpunkt wird nie abgeschlossen, da dies zu einem Rennen zwischen den Finalizern der duplizierten Ziehpunkte und dem Haltergriff führt. Stattdessen basiert es auf allen doppelten Handles, die abgeschlossen werden sollen, und erhöht die Referenzanzahl auf Null. Instanzen eines Inhaberhandles sollten niemals von einem doppelten Handle referenziert werden.

Konstruktoren

Name Beschreibung
SafeNCryptHandle()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Initialisiert eine neue Instanz der SafeNCryptHandle-Klasse.

SafeNCryptHandle(IntPtr, SafeHandle)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Instanziiert eine neue Instanz der SafeNCryptHandle Klasse.

Felder

Name Beschreibung
handle

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt das Handle an, das umschlossen werden soll.

(Geerbt von SafeHandle)

Eigenschaften

Name Beschreibung
IsClosed

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft einen Wert ab, der angibt, ob das Handle geschlossen ist.

(Geerbt von SafeHandle)
IsInvalid

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft einen Wert ab, der angibt, ob das Handle ungültig ist.

IsInvalid

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft einen Wert ab, der angibt, ob das Handle ungültig ist.

(Geerbt von SafeHandleZeroOrMinusOneIsInvalid)

Methoden

Name Beschreibung
Close()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Markiert das Handle zum Freigeben und Freigeben von Ressourcen.

(Geerbt von SafeHandle)
DangerousAddRef(Boolean)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Erhöht den Verweiszähler manuell auf SafeHandle Instanzen.

(Geerbt von SafeHandle)
DangerousGetHandle()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt den Wert des handle Felds zurück.

(Geerbt von SafeHandle)
DangerousRelease()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Erhöht manuell den Verweiszähler für eine SafeHandle Instanz.

(Geerbt von SafeHandle)
Dispose()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt alle Ressourcen frei, die von der SafeHandle-Klasse verwendet werden.

(Geerbt von SafeHandle)
Dispose(Boolean)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt die von der Klasse verwendeten nicht verwalteten Ressourcen frei, die SafeHandle angeben, ob ein normaler Dispose-Vorgang ausgeführt werden soll.

(Geerbt von SafeHandle)
Equals(Object)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ReleaseHandle()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt ein Handle frei, das von einem Cryptography Next Generation (CNG)-Objekt verwendet wird.

ReleaseNativeHandle()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt ein systemeigenes Handle frei, das von einem Cryptography Next Generation (CNG)-Objekt verwendet wird.

SetHandle(IntPtr)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Legt den Handle auf den angegebenen vordefinierten Handle fest.

(Geerbt von SafeHandle)
SetHandleAsInvalid()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Markiert einen Handle als nicht mehr verwendet.

(Geerbt von SafeHandle)
ToString()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: