SafeNCryptHandle SafeNCryptHandle SafeNCryptHandle SafeNCryptHandle Class

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
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Vererbung
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() SafeNCryptHandle() SafeNCryptHandle() SafeNCryptHandle()

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

SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle) SafeNCryptHandle(IntPtr, SafeHandle)

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

Eigenschaften

IsClosed IsClosed IsClosed IsClosed

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

(Inherited from SafeHandle)
IsInvalid IsInvalid IsInvalid IsInvalid

Methoden

Close() Close() Close() Close()

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

(Inherited from SafeHandle)
DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean)

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

(Inherited from SafeHandle)
DangerousGetHandle() DangerousGetHandle() DangerousGetHandle() DangerousGetHandle()

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

(Inherited from SafeHandle)
DangerousRelease() DangerousRelease() DangerousRelease() DangerousRelease()

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

(Inherited from SafeHandle)
Dispose() Dispose() Dispose() Dispose()

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

(Inherited from SafeHandle)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) 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.

(Inherited from SafeHandle)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ReleaseHandle() ReleaseHandle() ReleaseHandle() 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() ReleaseNativeHandle() ReleaseNativeHandle() 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) SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr)

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

(Inherited from SafeHandle)
SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid()

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

(Inherited from SafeHandle)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Felder

handle handle handle handle

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

(Inherited from SafeHandle)

Sicherheit

SecurityPermission
für die Berechtigung zum Abrufen von nicht verwaltetem Code.for permission to call unmanaged code. Sicherheitsaktion: InheritanceDemand.Security action: InheritanceDemand. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

Gilt für: