CriticalHandle Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla