SafeNCryptHandle Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |