CriticalHandle Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una classe wrapper per le risorse di handle.
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 da attacchi di sicurezza riciclati. 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
CriticalHandle(IntPtr) |
Inizializza una nuova istanza della classe CriticalHandle con il valore di handle non valido specificato. |
Campi
handle |
Specifica l'handle di cui eseguire il wrapping. |
Proprietà
IsClosed |
Ottiene un valore che indica se l'handle è chiuso. |
IsInvalid |
Quando ne viene eseguito l'override in una classe derivata, consente di ottenere un valore che indica se il valore dell'handle non è valido. |
Metodi
Close() |
Contrassegna l'handle per il rilascio delle risorse. |
Dispose() |
Rilascia tutte le risorse usate da CriticalHandle. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate dalla classe CriticalHandle specificando se eseguire una normale operazione di eliminazione. |
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 l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ReleaseHandle() |
Quando ne viene eseguito l'override in una classe derivata, esegue il codice necessario per liberare l'handle. |
SetHandle(IntPtr) |
Imposta l'handle sull'handle preesistente specificato. |
SetHandleAsInvalid() |
Contrassegna un handle come non valido. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |