Compartilhar via


SafeNCryptHandle Classe

Definição

Fornece um identificador seguro que pode ser usado por objetos CNG (Cryptography Next Generation).

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

public ref class SafeNCryptHandle abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
public ref class SafeNCryptHandle abstract : System::Runtime::InteropServices::SafeHandle
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
public abstract class SafeNCryptHandle : System.Runtime.InteropServices.SafeHandle
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandle
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandle
Herança
Herança
SafeNCryptHandle
Derivado
Atributos

Comentários

Essa classe encapsula a lógica para duplicar e liberar corretamente esses identificadores para simular uma duplicação nativa.

Cada objeto de identificador aberto pode ser considerado como sendo em um dos três estados:

  • Proprietário – criado por meio do marshaler, identificador de segurança de estilo tradicional. Notavelmente, existe apenas um identificador de proprietário para um determinado identificador nativo.
  • Duplicar – aponta para um identificador no estado Holder. Liberar um identificador no estado duplicado resulta apenas na diminuição da contagem de referência do titular, não em uma versão do identificador nativo.
  • Holder – mantém um identificador nativo e é referenciado por identificadores no estado duplicado. Quando todas as alças duplicadas são fechadas, o identificador do titular libera o identificador nativo. Um identificador de titular nunca será finalizado, pois isso resulta em uma corrida entre os finalizadores das alças duplicadas e o identificador do titular. Em vez disso, ele se baseia em todas as alças duplicadas a serem finalizadas e diminuindo a contagem de ref para zero. Instâncias de um identificador de titular nunca devem ser referenciadas por nada além de um identificador duplicado.

Construtores

SafeNCryptHandle()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Inicializa uma nova instância da classe SafeNCryptHandle.

SafeNCryptHandle(IntPtr, SafeHandle)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Cria uma nova instância da classe SafeNCryptHandle.

Campos

handle

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Especifica o identificador a ser encapsulado.

(Herdado de SafeHandle)

Propriedades

IsClosed

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

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

(Herdado de SafeHandle)
IsInvalid

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Obtém um valor que indica se o identificador é inválido.

IsInvalid

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Obtém um valor que indica se o identificador é inválido.

(Herdado de SafeHandleZeroOrMinusOneIsInvalid)

Métodos

Close()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Marca o identificador de liberação de recursos.

(Herdado de SafeHandle)
DangerousAddRef(Boolean)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Incrementa manualmente o contador de referências em instâncias do SafeHandle.

(Herdado de SafeHandle)
DangerousGetHandle()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Retorna o valor do campo handle.

(Herdado de SafeHandle)
DangerousRelease()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Diminui manualmente o contador de referência em uma instância SafeHandle.

(Herdado de SafeHandle)
Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera todos os recursos usados pela classe SafeHandle.

(Herdado de SafeHandle)
Dispose(Boolean)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

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

(Herdado de SafeHandle)
Equals(Object)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

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

(Herdado de Object)
GetType()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ReleaseHandle()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera um identificador usado por um objeto CNG (Cryptography Next Generation).

ReleaseNativeHandle()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera um identificador nativo usado por um objeto CNG (Cryptography Next Generation).

SetHandle(IntPtr)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

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

(Herdado de SafeHandle)
SetHandleAsInvalid()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Marca um identificador como não mais usado.

(Herdado de SafeHandle)
ToString()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a