SafeNCryptHandle Klasse

Definition

Stellt ein sicheres Handle bereit, das von CNG-Objekten (Cryptography Next Generation) verwendet werden kann.Provides a safe handle that can be used by Cryptography Next Generation (CNG) objects.

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
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandle
Vererbung
Vererbung
Vererbung
SafeNCryptHandle
Abgeleitet
Attribute

Hinweise

Diese Klasse schließt die Logik ein, um diese Handles ordnungsgemäß zu duplizieren und freizugeben, um eine native Duplizierung zu simulieren.This class wraps up the logic to correctly duplicate and free these handles to simulate a native duplication.

Jedes geöffnete handle-Objekt kann als in einem von drei Zuständen betrachtet werden:Each open handle object can be thought of as being in one of three states:

  • Besitzer : erstellt über den Mars Haller, herkömmliches Stil sicheres Handle.Owner - Created via the marshaler, traditional style safe handle. Insbesondere ist nur ein Besitzer Handle für ein angegebenes System eigenes handle vorhanden.Notably, only one owner handle exists for a given native handle.
  • Doppelte Punkte an einem Handle im Inhaber Zustand.Duplicate - Points at a handle in the Holder state. Das Freigeben eines Handles im doppelten Zustand führt nur zum Dekrementieren des Verweis Zählers des Inhabers, nicht in einem Release des systemeigenen Handles.Releasing a handle in the duplicate state results only in decrementing the reference count of the holder, not in a release of the native handle.
  • Der Halter hält auf einem nativen Handle und wird von Handles im doppelten Zustand referenziert.Holder - Holds onto a native handle and is referenced by handles in the duplicate state. Wenn alle doppelten Handles geschlossen werden, gibt das Inhaber handle das Native Handle frei.When all duplicate handles are closed, the holder handle releases the native handle. Ein Inhaber Handle wird nie fertiggestellt, da dies zu einem Wettlauf zwischen den Finalizern der doppelten Handles und dem Inhaber handle führt.A holder handle will never be finalized, since this results in a race between the finalizers of the duplicate handles and the holder handle. Stattdessen werden alle doppelten Handles abgeschlossen, und der Verweis Zähler wird auf 0 (null) herabgesetzt.Instead, it relies upon all of the duplicate handles to be finalized and decrement the ref count to zero. Instanzen eines Inhaber Handles sollten nie von einem doppelten handle referenziert werden.Instances of a holder handle should never be referenced by anything but a duplicate handle.

Konstruktoren

SafeNCryptHandle()

Initialisiert eine neue Instanz der Klasse SafeNCryptHandle.Initializes a new instance of the SafeNCryptHandle class.

SafeNCryptHandle(IntPtr, SafeHandle)

Instanziiert eine neue Instanz der SafeNCryptHandle-Klasse.Instantiates a new instance of the SafeNCryptHandle class.

Felder

handle

Gibt das zu umschließende Handle an.Specifies the handle to be wrapped.

(Geerbt von SafeHandle)

Eigenschaften

IsClosed

Ruft einen Wert ab, der angibt, ob das Handle geschlossen ist.Gets a value indicating whether the handle is closed.

(Geerbt von SafeHandle)
IsInvalid

Methoden

Close()

Markiert das Handle für das Freigeben und Verfügbarmachen von Ressourcen.Marks the handle for releasing and freeing resources.

(Geerbt von SafeHandle)
DangerousAddRef(Boolean)

Inkrementiert manuell den Verweiszähler für SafeHandle-Instanzen.Manually increments the reference counter on SafeHandle instances.

(Geerbt von SafeHandle)
DangerousGetHandle()

Gibt den Wert des handle-Felds zurück.Returns the value of the handle field.

(Geerbt von SafeHandle)
DangerousRelease()

Dekrementiert manuell den Verweiszähler für eine SafeHandle-Instanz.Manually decrements the reference counter on a SafeHandle instance.

(Geerbt von SafeHandle)
Dispose()

Gibt alle von der SafeHandle-Klasse verwendeten Ressourcen frei.Releases all resources used by the SafeHandle class.

(Geerbt von SafeHandle)
Dispose(Boolean)

Gibt die von der SafeHandle-Klasse verwendeten, nicht verwalteten Ressourcen frei und gibt an, ob ein normaler Freigabevorgang ausgeführt werden soll.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Geerbt von SafeHandle)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ReleaseHandle()

Gibt ein Handle frei, das von einem CNG (Cryptography Next Generation)-Objekt verwendet wird.Releases a handle used by a Cryptography Next Generation (CNG) object.

ReleaseNativeHandle()

Gibt ein systemeigenes Handle frei, das von einem CNG (Cryptography Next Generation)-Objekt verwendet wird.Releases a native handle used by a Cryptography Next Generation (CNG) object.

SetHandle(IntPtr)

Legt das Handle für das angegebene, bereits vorhandene Handle fest.Sets the handle to the specified pre-existing handle.

(Geerbt von SafeHandle)
SetHandleAsInvalid()

Markiert ein Handle als nicht mehr verwendet.Marks a handle as no longer used.

(Geerbt von SafeHandle)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für: