Partilhar via


CriticalHandle Classe

Definição

Representa uma classe wrapper para os recursos do identificador.

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
Herança
CriticalHandle
Herança
Derivado
Atributos
Implementações

Comentários

A CriticalHandle classe é semelhante à SafeHandle classe , exceto que SafeHandle implementa a contagem de referência. Você pode usar CriticalHandle em vez de SafeHandle para lidar com considerações de desempenho quando você pode fornecer a sincronização necessária com mais eficiência por conta própria.

Como a CriticalHandle classe não executa a contagem de referência, ela não fornece proteção contra ataques de segurança de reciclagem. Como o algoritmo de contagem de referência serializa implicitamente as operações, uma determinada quantidade de segurança de thread também é perdida. Se você chamar o IDisposable.Dispose método ou Close enquanto uma operação que está usando o identificador estiver pendente em outro thread ou se você chamar IDisposable.Dispose ou Close de dois threads ao mesmo tempo, os resultados serão não determinísticos. A CriticalHandle classe ainda fornece a finalização crítica garantida fornecida pela CriticalFinalizerObject classe .

Construtores

CriticalHandle(IntPtr)

Inicializa uma nova instância da classe CriticalHandle com o valor do identificador inválido especificado.

Campos

handle

Especifica o identificador a ser encapsulado.

Propriedades

IsClosed

Obtém um valor que indica se o identificador está fechado.

IsInvalid

Quando substituído em uma classe derivada, obtém um valor que indica se o valor de indicador é válido.

Métodos

Close()

Marca o identificador de liberação de recursos.

Dispose()

Libera todos os recursos usados pelo CriticalHandle.

Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe CriticalHandle que especifica se deve executar uma operação de descarte normal.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Libera todos os recursos associados ao identificador.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ReleaseHandle()

Quando substituído em uma classe derivada, executa o código necessário para liberar o identificador.

SetHandle(IntPtr)

Define o identificador para o identificador pré-existente especificado.

SetHandleAsInvalid()

Marca um identificador como inválido.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também