Linguagem

SafeNCryptHandle Classe

Definição

Fornece um handle seguro que pode ser usado por objetos de Criptografia de Nova Geração (CNG).

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir 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

Observações

Esta classe encerra a lógica para duplicar corretamente e libertar estes handles para simular uma duplicação nativa.

Cada objeto de alavanca aberta pode ser considerado num de três estados:

  • Proprietário - Criado através do marshaler, pega segura ao estilo tradicional. Notavelmente, só existe um handle proprietário para um dado handle nativo.
  • Duplicado - Aponta para uma alça no estado Holder. Libertar um handle no estado duplicado resulta apenas em decrementar a contagem de referência do holder, não na libertação do handle nativo.
  • Holder - Mantém um handle nativo e é referenciado por handles no estado duplicado. Quando todas as alavancas duplicadas são fechadas, a alavanca de suporte liberta a alavanca nativa. Uma alça de portador nunca será finalizada, pois isso resulta numa corrida entre os finalizadores das alças duplicadas e a alça do portador. Em vez disso, depende de finalizar todos os handles duplicados e decrementar a contagem de referências para zero. As instâncias de um handle holder nunca devem ser referenciadas por outra coisa que não seja uma handle duplicada.

Construtores

Name Descrição
SafeNCryptHandle()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Inicializa uma nova instância da SafeNCryptHandle classe.

SafeNCryptHandle(IntPtr, SafeHandle)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Instância de uma nova instância da SafeNCryptHandle classe.

Campos

Name Descrição
handle

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Especifica o cabo a enrolar.

(Herdado de SafeHandle)

Propriedades

Name Descrição
IsClosed

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Obtém um valor que indica se a pega está fechada.

(Herdado de SafeHandle)
IsInvalid

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Recebe um valor que indica se o handle é inválido.

IsInvalid

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Recebe um valor que indica se o handle é inválido.

(Herdado de SafeHandleZeroOrMinusOneIsInvalid)

Métodos

Name Descrição
Close()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Marca o nome para libertar e libertar recursos.

(Herdado de SafeHandle)
DangerousAddRef(Boolean)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Incrementa manualmente o contador de referência nas SafeHandle instâncias.

(Herdado de SafeHandle)
DangerousGetHandle()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Devolve o valor do handle campo.

(Herdado de SafeHandle)
DangerousRelease()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Decrementa manualmente o contador de referência numa SafeHandle instância.

(Herdado de SafeHandle)
Dispose()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Liberta todos os recursos usados pela SafeHandle turma.

(Herdado de SafeHandle)
Dispose(Boolean)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Liberta os recursos não geridos usados pela SafeHandle classe especificando se deve realizar uma operação normal de eliminação.

(Herdado de SafeHandle)
Equals(Object)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ReleaseHandle()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Liberta um handle usado por um objeto Cryptography Next Generation (CNG).

ReleaseNativeHandle()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Liberta um handle nativo utilizado por um objeto Cryptography Next Generation (CNG).

SetHandle(IntPtr)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Define a alavanca para a alavanca pré-existente especificada.

(Herdado de SafeHandle)
SetHandleAsInvalid()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Marca uma pega como já não usada.

(Herdado de SafeHandle)
ToString()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a