CriticalHandle Klasse

Definition

Stellt eine Wrapperklasse für Handleressourcen dar.

public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    interface IDisposable
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
Public MustInherit Class CriticalHandle
Implements IDisposable
Public MustInherit Class CriticalHandle
Inherits CriticalFinalizerObject
Implements IDisposable
Vererbung
CriticalHandle
Vererbung
Abgeleitet
Attribute
Implementiert

Hinweise

Die CriticalHandle Klasse ähnelt der SafeHandle Klasse, außer dass SafeHandle die Referenzzählung implementiert wird. Sie können anstelle von SafeHandle Leistungsüberlegungen verwendenCriticalHandle, wenn Sie die erforderliche Synchronisierung effizienter selbst bereitstellen können.

Da die CriticalHandle Klasse keine Referenzzählung ausführt, bietet sie keinen Schutz vor dem Recycling von Sicherheitsangriffen. Da der Verweiszählungsalgorithmus implizit Vorgänge serialisiert, geht auch eine bestimmte Menge an Threadsicherheit verloren. Wenn Sie die IDisposable.Dispose Close Methode aufrufen, während ein Vorgang, der den Handle verwendet, auf einem anderen Thread ausstehender Vorgang ist, oder wenn Sie gleichzeitig zwei Threads aufrufen IDisposable.Dispose , Close sind die Ergebnisse nicht deterministisch. Die CriticalHandle Klasse stellt weiterhin die garantierte kritische Finalisierung bereit, die von der CriticalFinalizerObject Klasse bereitgestellt wird.

Konstruktoren

CriticalHandle(IntPtr)

Initialisiert eine neue Instanz der CriticalHandle-Klasse mit dem angegebenen ungültigen Handlewert.

Felder

handle

Gibt das zu umschließende Handle an.

Eigenschaften

IsClosed

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

IsInvalid

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob dieses Handle ungültig ist.

Methoden

Close()

Markiert das Handle für das Freigeben und Verfügbarmachen von Ressourcen.

Dispose()

Gibt alle vom CriticalHandle verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von der CriticalHandle-Klasse verwendeten, nicht verwalteten Ressourcen frei und gibt an, ob ein normaler Freigabevorgang ausgeführt werden soll.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt alle dem Handle zugeordneten Ressourcen frei.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ReleaseHandle()

Führt beim Überschreiben in einer abgeleiteten Klasse den Code aus, der für das Freigeben des Handles erforderlich ist.

SetHandle(IntPtr)

Legt das Handle für das angegebene, bereits vorhandene Handle fest.

SetHandleAsInvalid()

Markiert ein Handle als ungültig.

ToString()

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

(Geerbt von Object)

Gilt für

Siehe auch