CriticalHandle Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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) |