CriticalHandle Klasa

Definicja

Reprezentuje klasę otoki do obsługi zasobów.

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
Dziedziczenie
CriticalHandle
Dziedziczenie
Pochodne
Atrybuty
Implementuje

Uwagi

Klasa jest podobna CriticalHandleSafeHandle do klasy, z tą różnicą, że SafeHandle implementuje zliczanie odwołań. Zamiast SafeHandle rozwiązywać problemy z wydajnością można użyćCriticalHandle, gdy można zapewnić niezbędną synchronizację wydajniej samodzielnie.

CriticalHandle Ponieważ klasa nie wykonuje zliczania odwołań, nie zapewnia ochrony przed atakami zabezpieczeń recyklingu. Ponieważ algorytm zliczania odwołań niejawnie serializuje operacje, utracono również pewną ilość bezpieczeństwa wątków. Jeśli wywołasz metodę IDisposable.Dispose lub Close , gdy operacja używająca uchwytu jest zaległa w innym wątku, lub jeśli wywołujesz IDisposable.Dispose lub Close z dwóch wątków w tym samym czasie, wyniki są niedeterministyczne. Klasa CriticalHandle nadal zapewnia gwarantowaną finalizację krytyczną dostarczoną przez klasę CriticalFinalizerObject .

Konstruktory

CriticalHandle(IntPtr)

Inicjuje CriticalHandle nowe wystąpienie klasy z określoną nieprawidłową wartością uchwytu.

Pola

handle

Określa uchwyt do zawijenia.

Właściwości

IsClosed

Pobiera wartość wskazującą, czy dojście jest zamknięte.

IsInvalid

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy wartość uchwytu jest nieprawidłowa.

Metody

Close()

Oznacza dojście do zwalniania i zwalniania zasobów.

Dispose()

Zwalnia wszelkie zasoby używane przez element CriticalHandle.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez klasę CriticalHandle , określając, czy wykonać normalną operację usuwania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia wszystkie zasoby skojarzone z dojściem.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ReleaseHandle()

Po przesłonięcia w klasie pochodnej program wykonuje kod wymagany do zwolnienia dojścia.

SetHandle(IntPtr)

Ustawia dojście do określonego wstępnie istniejącego dojścia.

SetHandleAsInvalid()

Oznacza uchwyt jako nieprawidłowy.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też