SafeNCryptHandle Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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) |