CriticalHandle Osztály

Definíció

Egy burkolóosztályt jelöl az erőforrások kezeléséhez.

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
Öröklődés
CriticalHandle
Öröklődés
Származtatott
Attribútumok
Megvalósítás

Megjegyzések

Az CriticalHandle osztály hasonló az SafeHandle osztályhoz, kivéve, ha SafeHandle a hivatkozásszámlálást valósítja meg. CriticalHandle SafeHandle Ahelyett, hogy teljesítménnyel kapcsolatos szempontokat kezelnél, akkor hatékonyabban biztosíthatja a szükséges szinkronizálást.

Mivel az CriticalHandle osztály nem végez hivatkozásszámlálást, nem nyújt védelmet az újrahasznosítási biztonsági támadások kezelése ellen. Mivel a hivatkozásszámláló algoritmus implicit módon szerializálja a műveleteket, bizonyos mértékű szálbiztonság is elveszik. Ha meghívja a IDisposable.DisposeClose metódust, miközben egy olyan művelet, amely a fogópontot használja, egy másik szálon ki van kapcsolva, vagy ha egyszerre hív vagy IDisposable.DisposeClose két szálból, az eredmények nem determinisztikusak. Az CriticalHandle osztály továbbra is biztosítja az osztály által biztosított garantált kritikus véglegesítést CriticalFinalizerObject .

Konstruktorok

Name Description
CriticalHandle(IntPtr)

Inicializálja az osztály új példányát a CriticalHandle megadott érvénytelen leíró értékkel.

Mezők

Name Description
handle

Megadja a becsomagolandó fogópontot.

Tulajdonságok

Name Description
IsClosed

Beolvas egy értéket, amely jelzi, hogy a leíró bezárva van-e.

IsInvalid

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy a leíró értéke érvénytelen-e.

Metódusok

Name Description
Close()

Megjelöli az erőforrások felszabadítására és felszabadítására szolgáló leírót.

Dispose()

Felszabadítja a .-hez használt összes erőforrást CriticalHandle.

Dispose(Boolean)

Felszabadítja az osztály által CriticalHandle használt nem felügyelt erőforrásokat, amelyek meghatározzák, hogy normál megsemmisítési műveletet hajtanak-e végre.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Finalize()

Felszabadítja a leíróhoz társított összes erőforrást.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ReleaseHandle()

Ha egy származtatott osztályban felül van bírálva, végrehajtja a leíró felszabadításához szükséges kódot.

SetHandle(IntPtr)

A fogópontot a megadott, már meglévő leíróra állítja.

SetHandleAsInvalid()

Érvénytelenként jelöl meg egy fogópontot.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még