CriticalHandle Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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) |