CriticalHandle Classe

Definizione

Rappresenta una classe wrapper per gestire le risorse.

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
Ereditarietà
CriticalHandle
Ereditarietà
Derivato
Attributi
Implementazioni

Commenti

La CriticalHandle classe è simile alla classe , ad eccezione del fatto che SafeHandle implementa il SafeHandle conteggio dei riferimenti. È possibile usare CriticalHandle anziché SafeHandle per soddisfare le considerazioni sulle prestazioni quando è possibile fornire la sincronizzazione necessaria in modo più efficiente.

Poiché la classe non esegue il CriticalHandle conteggio dei riferimenti, non fornisce protezione dagli attacchi di sicurezza riciclaggio. Poiché l'algoritmo di conteggio dei riferimenti serializza in modo implicito le operazioni, viene persa anche una certa quantità di thread safety. Se si chiama il IDisposable.Dispose metodo o Close mentre un'operazione che usa l'handle è in sospeso in un altro thread o se si chiama IDisposable.Dispose o Close da due thread contemporaneamente, i risultati non sono deterministici. La CriticalHandle classe fornisce comunque la finalizzazione critica garantita fornita dalla CriticalFinalizerObject classe .

Costruttori

Nome Descrizione
CriticalHandle(IntPtr)

Inizializza una nuova istanza della CriticalHandle classe con il valore di handle non valido specificato.

Campi

Nome Descrizione
handle

Specifica l'handle di cui eseguire il wrapping.

Proprietà

Nome Descrizione
IsClosed

Ottiene un valore che indica se l'handle è chiuso.

IsInvalid

In caso di override in una classe derivata, ottiene un valore che indica se il valore dell'handle non è valido.

Metodi

Nome Descrizione
Close()

Contrassegna l'handle per il rilascio e la liberazione delle risorse.

Dispose()

Rilascia tutte le risorse usate da CriticalHandle.

Dispose(Boolean)

Rilascia le risorse non gestite usate dalla CriticalHandle classe specificando se eseguire un'operazione dispose normale.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Libera tutte le risorse associate all'handle.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ReleaseHandle()

Quando sottoposto a override in una classe derivata, esegue il codice necessario per liberare l'handle.

SetHandle(IntPtr)

Imposta l'handle sull'handle esistente specificato.

SetHandleAsInvalid()

Contrassegna un handle come non valido.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche