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á 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) |