SafeNCryptHandle 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.
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
- 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) |