Sdílet prostřednictvím


SafeNCryptHandle Třída

Definice

Poskytuje bezpečný popisovač, který mohou být použity kryptografických objektů nové generace (CNG).

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

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
Dědičnost
Dědičnost
SafeNCryptHandle
Odvozené
Atributy

Poznámky

Tato třída zabalí logiku pro správné duplikování a uvolnění těchto popisovačů pro simulaci nativní duplikace.

Každý objekt otevřeného popisovače si můžete představit jako objekt v jednom ze tří stavů:

  • Vlastník – vytvořeno prostřednictvím zařazovače, tradiční styl bezpečné rukojeti. Pro daný nativní popisovač existuje pouze jeden popisovač vlastníka.
  • Duplikovat – odkazuje na popisovač ve stavu Holder. Uvolnění popisovače v duplicitním stavu má za následek pouze snížení počtu odkazů na držitele, nikoli uvolnění nativního popisovače.
  • Holder – drží na nativním popisovači a odkazuje na ho popisovače v duplicitním stavu. Když jsou všechny duplicitní popisovače zavřené, úchyt držáku uvolní nativní popisovač. Rukojeť držáku nebude nikdy finalizována, protože výsledkem je závod mezi finalizátory duplicitních popisovačů a úchytem držitele. Místo toho spoléhá na dokončení všech duplicitních popisovačů a snížení počtu odkazů na nulu. Na instance popisovače držitele by nikdy nemělo odkazovat nic jiného než duplicitní popisovač.

Konstruktory

SafeNCryptHandle()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Inicializuje novou instanci SafeNCryptHandle třídy .

SafeNCryptHandle(IntPtr, SafeHandle)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Vytvoří instanci nové instance SafeNCryptHandle třídy .

Pole

handle

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Určuje popisovač, který se má zabalit.

(Zděděno od SafeHandle)

Vlastnosti

IsClosed

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Získá hodnotu označující, zda je popisovač uzavřen.

(Zděděno od SafeHandle)
IsInvalid

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Získá hodnotu, která označuje, zda je popisovač neplatný.

IsInvalid

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Získá hodnotu, která označuje, zda je popisovač neplatný.

(Zděděno od SafeHandleZeroOrMinusOneIsInvalid)

Metody

Close()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Označí popisovač pro uvolnění a uvolnění prostředků.

(Zděděno od SafeHandle)
DangerousAddRef(Boolean)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Ručně zvýší čítač odkazů na SafeHandle instance.

(Zděděno od SafeHandle)
DangerousGetHandle()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Vrátí hodnotu handle pole.

(Zděděno od SafeHandle)
DangerousRelease()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Ručně sníží čítač odkazů na SafeHandle instanci.

(Zděděno od SafeHandle)
Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní všechny prostředky používané SafeHandle třídou .

(Zděděno od SafeHandle)
Dispose(Boolean)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní nespravované prostředky používané SafeHandle třídou určující, zda se má provést normální operace odstranění.

(Zděděno od SafeHandle)
Equals(Object)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ReleaseHandle()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní popisovač používaný objektem kryptografie nové generace (CNG).

ReleaseNativeHandle()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní nativní popisovač používaný objektem CNG (Cryptography Next Generation).

SetHandle(IntPtr)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Nastaví popisovač na zadaný předem existující popisovač.

(Zděděno od SafeHandle)
SetHandleAsInvalid()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Označí úchyt jako již nepoužívané.

(Zděděno od SafeHandle)
ToString()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro