CriticalHandle Clase

Definición

Representa una clase contenedora para los recursos de controlador.Represents a wrapper class for handle resources.

public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
type CriticalHandle = class
    interface IDisposable
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    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, salvo que SafeHandle implementa el recuento de referencias.The CriticalHandle class is similar to the SafeHandle class, except that SafeHandle implements reference counting. Puede usar en CriticalHandle lugar de SafeHandle para tratar las consideraciones de rendimiento cuando puede proporcionar la sincronización necesaria de forma más eficaz.You can use CriticalHandle instead of SafeHandle to address performance considerations when you can provide the necessary synchronization more efficiently yourself.

Dado que la CriticalHandle clase no realiza el recuento de referencias, no proporciona protección contra los ataques de seguridad de reciclaje de los controladores.Because the CriticalHandle class does not perform reference counting, it does not provide protection from handle recycling security attacks. Dado que el algoritmo de recuento de referencias serializa implícitamente las operaciones, también se pierde una cierta cantidad de seguridad para subprocesos.Because the reference counting algorithm implicitly serializes operations, a certain amount of thread safety is also lost. Si llama al IDisposable.Dispose método o Close mientras una operación que está utilizando el identificador está pendiente en otro subproceso, o si llama a IDisposable.Dispose o Close desde dos subprocesos al mismo tiempo, los resultados son no deterministas.If you call the IDisposable.Dispose or Close method while an operation that is using the handle is outstanding on another thread, or if you call IDisposable.Dispose or Close from two threads at the same time, the results are non-deterministic. La CriticalHandle clase sigue proporcionando la finalización crítica garantizada proporcionada por la CriticalFinalizerObject clase.The CriticalHandle class still provides the guaranteed critical finalization provided by the CriticalFinalizerObject class.

Constructores

CriticalHandle(IntPtr)

Inicializa una nueva instancia de la clase CriticalHandle con un valor de identificador no válido especificado.Initializes a new instance of the CriticalHandle class with the specified invalid handle value.

Campos

handle

Especifica el identificador que se va a ajustar.Specifies the handle to be wrapped.

Propiedades

IsClosed

Obtiene un valor que indica si el identificador está cerrado.Gets a value indicating whether the handle is closed.

IsInvalid

Cuando se invalida en una clase derivada, obtiene un valor que indica si este identificador es no válido.When overridden in a derived class, gets a value indicating whether the handle value is invalid.

Métodos

Close()

Marca el identificador para soltar y liberar recursos.Marks the handle for releasing and freeing resources.

Dispose()

Libera todos los recursos que usa CriticalHandle.Releases all resources used by the 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.Releases the unmanaged resources used by the CriticalHandle class specifying whether to perform a normal dispose operation.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Libera todos los recursos asociados al identificador.Frees all resources associated with the handle.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ReleaseHandle()

Cuando se invalida en una clase derivada, ejecuta el código necesario para liberar el identificador.When overridden in a derived class, executes the code required to free the handle.

SetHandle(IntPtr)

Establece el identificador en el identificador preexistente.Sets the handle to the specified pre-existing handle.

SetHandleAsInvalid()

Marca un controlador como no válido.Marks a handle as invalid.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Consulte también