SafeNCryptHandle Classe

Definizione

Fornisce un handle Safe che può essere usato dagli oggetti CNG (Cryptography Next Generation).Provides a safe handle that can be used by Cryptography Next Generation (CNG) objects.

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

public ref class SafeNCryptHandle abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Ereditarietà
Derivato
Attributi

Commenti

Questa classe esegue il wrapping della logica per duplicare e liberare correttamente questi handle per simulare una duplicazione nativa.This class wraps up the logic to correctly duplicate and free these handles to simulate a native duplication.

Ogni oggetto handle aperto può essere considerato come in uno dei tre stati seguenti:Each open handle object can be thought of as being in one of three states:

  • Proprietario : creato tramite il gestore di marshalling, handle sicuro stile tradizionale.Owner - Created via the marshaler, traditional style safe handle. In particolare, esiste un solo handle proprietario per un determinato handle nativo.Notably, only one owner handle exists for a given native handle.
  • Punti duplicati in corrispondenza di un handle nello stato del supporto.Duplicate - Points at a handle in the Holder state. Il rilascio di un handle nello stato duplicato comporta solo il decremento del conteggio dei riferimenti del contenitore, non in una versione dell'handle 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.
  • Il titolare si trova su un handle nativo a cui viene fatto riferimento dagli handle nello stato duplicato.Holder - Holds onto a native handle and is referenced by handles in the duplicate state. Quando tutti gli handle duplicati sono chiusi, l'handle del supporto rilascia l'handle nativo.When all duplicate handles are closed, the holder handle releases the native handle. Un handle del segnaposto non verrà mai finalizzato, perché ciò comporta una corsa tra i finalizzatori dei duplicati e l'handle del supporto.A holder handle will never be finalized, since this results in a race between the finalizers of the duplicate handles and the holder handle. Al contrario, si basa su tutti gli handle duplicati per essere finalizzati e decrementa il conteggio dei riferimenti a zero.Instead, it relies upon all of the duplicate handles to be finalized and decrement the ref count to zero. Non è mai possibile fare riferimento alle istanze di un handle del contenitore da qualsiasi elemento, tranne che da un handle duplicato.Instances of a holder handle should never be referenced by anything but a duplicate handle.

Costruttori

SafeNCryptHandle()

Inizializza una nuova istanza della classe SafeNCryptHandle.Initializes a new instance of the SafeNCryptHandle class.

SafeNCryptHandle(IntPtr, SafeHandle)

Crea una nuova istanza della classe SafeNCryptHandle.Instantiates a new instance of the SafeNCryptHandle class.

Campi

handle

Specifica l'handle di cui eseguire il wrapping.Specifies the handle to be wrapped.

(Ereditato da SafeHandle)

Proprietà

IsClosed

Ottiene un valore che indica se l'handle è chiuso.Gets a value indicating whether the handle is closed.

(Ereditato da SafeHandle)
IsInvalid

Metodi

Close()

Contrassegna l'handle per il rilascio delle risorse.Marks the handle for releasing and freeing resources.

(Ereditato da SafeHandle)
DangerousAddRef(Boolean)

Incrementa manualmente il numero di riferimenti nelle istanze di SafeHandle.Manually increments the reference counter on SafeHandle instances.

(Ereditato da SafeHandle)
DangerousGetHandle()

Restituisce il valore del campo handle.Returns the value of the handle field.

(Ereditato da SafeHandle)
DangerousRelease()

Decrementa manualmente il numero di riferimenti in un'istanza di SafeHandle.Manually decrements the reference counter on a SafeHandle instance.

(Ereditato da SafeHandle)
Dispose()

Rilascia tutte le risorse usate dalla classe SafeHandle.Releases all resources used by the SafeHandle class.

(Ereditato da SafeHandle)
Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe SafeHandle specificando se eseguire una normale operazione di eliminazione.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Ereditato da SafeHandle)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ReleaseHandle()

Rilascia un handle utilizzato da un oggetto Cryptography Next Generation (CNG).Releases a handle used by a Cryptography Next Generation (CNG) object.

ReleaseNativeHandle()

Rilascia un handle nativo utilizzato da un oggetto Cryptography Next Generation (CNG).Releases a native handle used by a Cryptography Next Generation (CNG) object.

SetHandle(IntPtr)

Imposta l'handle sull'handle preesistente specificato.Sets the handle to the specified pre-existing handle.

(Ereditato da SafeHandle)
SetHandleAsInvalid()

Contrassegna un handle come non più usato.Marks a handle as no longer used.

(Ereditato da SafeHandle)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Sicurezza

SecurityPermission
per l'autorizzazione a chiamare codice non gestito.for permission to call unmanaged code. Azione di sicurezza: InheritanceDemand.Security action: InheritanceDemand. Enumerazione associata: UnmanagedCodeAssociated enumeration: UnmanagedCode

Si applica a