SafeNCryptHandle Classe

Definição

Fornece um identificador seguro que pode ser usado por objetos CNG (Cryptography Next Generation).Provides a safe handle that can be used by Cryptography Next Generation (CNG) objects.

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
Herança
SafeNCryptHandle
Derivado
Atributos

Comentários

Essa classe delimita a lógica para duplicar corretamente e liberar esses identificadores para simular uma duplicação nativa.This class wraps up the logic to correctly duplicate and free these handles to simulate a native duplication.

Cada objeto de identificador aberto pode ser considerado como estando em um dos três Estados:Each open handle object can be thought of as being in one of three states:

  • Criado pelo proprietário por meio do marshaler, identificador de segurança tradicional em estilo.Owner - Created via the marshaler, traditional style safe handle. Notavelmente, existe apenas um identificador de proprietário para um determinado identificador nativo.Notably, only one owner handle exists for a given native handle.
  • Pontos duplicados em um identificador no estado do detentor.Duplicate - Points at a handle in the Holder state. Liberar um identificador no estado duplicado resulta apenas na diminuição da contagem de referência do detentor, não em uma versão do identificador nativo.Releasing a handle in the duplicate state results only in decrementing the reference count of the holder, not in a release of the native handle.
  • Detentor -mantém em um identificador nativo e é referenciado por identificadores no estado duplicado.Holder - Holds onto a native handle and is referenced by handles in the duplicate state. Quando todos os identificadores duplicados são fechados, o identificador de portador libera o identificador nativo.When all duplicate handles are closed, the holder handle releases the native handle. Um identificador de detentor nunca será finalizado, pois isso resulta em uma corrida entre os finalizadores dos identificadores duplicados e o identificador de portador.A holder handle will never be finalized, since this results in a race between the finalizers of the duplicate handles and the holder handle. Em vez disso, ele depende de todos os identificadores duplicados a serem finalizados e decrementar a contagem de referência para zero.Instead, it relies upon all of the duplicate handles to be finalized and decrement the ref count to zero. As instâncias de um identificador de portador nunca devem ser referenciadas por nada, exceto por um identificador duplicado.Instances of a holder handle should never be referenced by anything but a duplicate handle.

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.Initializes a new instance of the SafeNCryptHandle class.

SafeNCryptHandle(IntPtr, SafeHandle)

Cria uma nova instância da classe SafeNCryptHandle.Instantiates a new instance of the SafeNCryptHandle class.

Campos

handle

Especifica o identificador a ser encapsulado.Specifies the handle to be wrapped.

(Herdado de SafeHandle)

Propriedades

IsClosed

Obtém um valor que indica se o identificador está fechado.Gets a value indicating whether the handle is closed.

(Herdado de SafeHandle)
IsInvalid

Obtém um valor que indica se o identificador é inválido.Gets a value that indicates whether the handle is invalid.

IsInvalid

Obtém um valor que indica se o identificador é inválido.Gets a value that indicates whether the handle is invalid.

(Herdado de SafeHandleZeroOrMinusOneIsInvalid)

Métodos

Close()

Marca o identificador de liberação de recursos.Marks the handle for releasing and freeing resources.

(Herdado de SafeHandle)
DangerousAddRef(Boolean)

Incrementa manualmente o contador de referências em instâncias do SafeHandle.Manually increments the reference counter on SafeHandle instances.

(Herdado de SafeHandle)
DangerousGetHandle()

Retorna o valor do campo handle.Returns the value of the handle field.

(Herdado de SafeHandle)
DangerousRelease()

Diminui manualmente o contador de referência em uma instância SafeHandle.Manually decrements the reference counter on a SafeHandle instance.

(Herdado de SafeHandle)
Dispose()

Libera todos os recursos usados pela classe SafeHandle.Releases all resources used by the SafeHandle class.

(Herdado de SafeHandle)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe SafeHandle que especifica se deve executar uma operação de descarte normal.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Herdado de SafeHandle)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(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).Releases a handle used by a Cryptography Next Generation (CNG) object.

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).Releases a native handle used by a Cryptography Next Generation (CNG) object.

SetHandle(IntPtr)

Define o identificador para o identificador pré-existente especificado.Sets the handle to the specified pre-existing handle.

(Herdado de SafeHandle)
SetHandleAsInvalid()

Marca um identificador como não mais usado.Marks a handle as no longer used.

(Herdado de SafeHandle)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a