CriticalHandle Classe

Definição

Representa uma classe wrapper para manipular recursos.

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 abordar considerações de SafeHandle desempenho quando puder 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 certa quantidade de segurança de thread também é perdida. Se você chamar o IDisposable.Dispose método ou Close o método 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

Nome Description
CriticalHandle(IntPtr)

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

Campos

Nome Description
handle

Especifica o identificador a ser encapsulado.

Propriedades

Nome Description
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 do identificador é inválido.

Métodos

Nome Description
Close()

Marca o identificador para liberar e liberar recursos.

Dispose()

Libera todos os recursos usados pelo CriticalHandle.

Dispose(Boolean)

Libera os recursos não gerenciados usados pela CriticalHandle classe especificando se uma operação de descarte normal deve ser executada.

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 hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(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