CriticalHandle Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje třídu obálky pro zpracování prostředků.
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
- Dědičnost
-
CriticalHandle
- Dědičnost
- Odvozené
- Atributy
- Implementuje
Poznámky
Třída CriticalHandle je podobná třídě s tím rozdílem SafeHandle , že SafeHandle implementuje počítání odkazů. Pokud chcete zajistit potřebnou synchronizaci efektivněji sami, můžete místo SafeHandle toho použít k CriticalHandle řešení požadavků na výkon.
Vzhledem k tomu, že CriticalHandle třída neprovádí počítání odkazů, neposkytuje ochranu před popisovači recyklačních bezpečnostních útoků. Vzhledem k tomu, že algoritmus počítání odkazů implicitně serializuje operace, je také ztracena určitá míra bezpečnosti vláken. Pokud voláte metodu IDisposable.Dispose nebo Close zatímco operace, která používá popisovač je nevyřešena v jiném vlákně, nebo pokud voláte IDisposable.Dispose nebo Close ze dvou vláken současně, výsledky nejsou deterministické. Třída CriticalHandle stále poskytuje zaručené kritické finalizace poskytované CriticalFinalizerObject třídou .
Konstruktory
CriticalHandle(IntPtr) |
Inicializuje novou instanci CriticalHandle třídy se zadanou neplatnou hodnotou popisovače. |
Pole
handle |
Určuje popisovač, který se má zabalit. |
Vlastnosti
IsClosed |
Získá hodnotu označující, zda je popisovač uzavřen. |
IsInvalid |
Při přepsání v odvozené třídě získá hodnotu označující, zda je hodnota popisovače neplatná. |
Metody
Close() |
Označí popisovač pro uvolnění a uvolnění prostředků. |
Dispose() |
Uvolní všechny prostředky používané nástrojem CriticalHandle. |
Dispose(Boolean) |
Uvolní nespravované prostředky používané CriticalHandle třídou určující, zda se má provést normální operace odstranění. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Finalize() |
Uvolní všechny prostředky přidružené k popisovači. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ReleaseHandle() |
Při přepsání v odvozené třídě spustí kód potřebný k uvolnění popisovače. |
SetHandle(IntPtr) |
Nastaví popisovač na zadaný předem existující popisovač. |
SetHandleAsInvalid() |
Označí popisovač jako neplatný. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |