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