CriticalHandle Třída

Definice

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á SafeHandle třídě, s tím rozdílem, že SafeHandle implementuje počítání odkazů. Místo toho, CriticalHandle SafeHandle abyste vyřešili aspekty výkonu, když můžete zajistit potřebnou synchronizaci efektivněji sami.

Vzhledem k tomu, že CriticalHandle třída neprovádí počítání odkazů, neposkytuje ochranu před zpracováním recyklačních bezpečnostních útoků. Vzhledem k tomu, že algoritmus počítání odkazů implicitně serializuje operace, dojde také ke ztrátě určitého množství zabezpečení vlákna. Pokud zavoláte nebo metoduIDisposable.Dispose, zatímco operace, která používá popisovač, je nevyrovnaná v jiném vlákně, nebo pokud voláte IDisposable.Dispose nebo Close ze dvou vláken současně, výsledky nejsou deterministické.Close Třída CriticalHandle stále poskytuje garantovanou kritickou finalizaci poskytovanou CriticalFinalizerObject třídou.

Konstruktory

CriticalHandle(IntPtr)

Inicializuje novou instanci CriticalHandle třídy se zadanou neplatnou hodnotou popisovače.

Pole

handle

Určuje úchyt, který se má zabalit.

Vlastnosti

IsClosed

Získá hodnotu určující, zda popisovač je 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čí úchyt 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 provést normální operaci dispose.

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í funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(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řed existující popisovač.

SetHandleAsInvalid()

Označí popisovač jako neplatný.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také