Compartir a través de


CriticalHandle Clase

Definición

Representa una clase contenedora para los recursos de controlador.

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
Herencia
CriticalHandle
Herencia
Derivado
Atributos
Implementaciones

Comentarios

La CriticalHandle clase es similar a la SafeHandle clase , excepto que SafeHandle implementa el recuento de referencias. Puede usar CriticalHandle en lugar de para abordar las consideraciones de SafeHandle rendimiento cuando pueda proporcionar la sincronización necesaria de forma más eficaz.

Dado que la CriticalHandle clase no realiza el recuento de referencias, no proporciona protección frente a ataques de seguridad de reciclaje. Dado que el algoritmo de recuento de referencias serializa implícitamente las operaciones, también se pierde una cierta cantidad de seguridad para subprocesos. Si llama al método o Close mientras una operación que usa el identificador está pendiente en otro subproceso, o si llama IDisposable.DisposeIDisposable.Dispose a o Close desde dos subprocesos al mismo tiempo, los resultados no son deterministas. La CriticalHandle clase todavía proporciona la finalización crítica garantizada proporcionada por la CriticalFinalizerObject clase .

Constructores

CriticalHandle(IntPtr)

Inicializa una nueva instancia de la clase CriticalHandle con un valor de identificador no válido especificado.

Campos

handle

Especifica el identificador que se va a ajustar.

Propiedades

IsClosed

Obtiene un valor que indica si el identificador está cerrado.

IsInvalid

Cuando se invalida en una clase derivada, obtiene un valor que indica si este identificador es no válido.

Métodos

Close()

Marca el identificador para soltar y liberar recursos.

Dispose()

Libera todos los recursos que usa CriticalHandle.

Dispose(Boolean)

Libera los recursos no administrados usados por la clase CriticalHandle especificando si se lleva a cabo una operación de eliminación normal.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera todos los recursos asociados al identificador.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ReleaseHandle()

Cuando se invalida en una clase derivada, ejecuta el código necesario para liberar el identificador.

SetHandle(IntPtr)

Establece el identificador en el identificador preexistente.

SetHandleAsInvalid()

Marca un controlador como no válido.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también