Udostępnij za pośrednictwem


SafeNCryptHandle Klasa

Definicja

Zapewnia bezpieczny uchwyt, który może być używany przez obiekty następnej generacji kryptografii (CNG).

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

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
Dziedziczenie
Dziedziczenie
SafeNCryptHandle
Pochodne
Atrybuty

Uwagi

Ta klasa opakowuje logikę, aby poprawnie zduplikować i zwolnić te uchwyty w celu symulowania duplikatów natywnych.

Każdy otwarty obiekt uchwytu może być uważany za jeden z trzech stanów:

  • Właściciel — utworzony za pośrednictwem marszałka, tradycyjnego bezpiecznego uchwytu stylu. W szczególności dla danego natywnego uchwytu istnieje tylko jeden uchwyt właściciela.
  • Duplikuj — wskazuje uchwyt w stanie Holder. Zwolnienie uchwytu w stanie duplikatu powoduje tylko dekrementację liczby odwołań posiadacza, a nie w wydaniu uchwytu natywnego.
  • Holder — trzyma się uchwytu natywnego i jest przywołyny przez uchwyty w stanie duplikatu. Po zamknięciu wszystkich zduplikowanych uchwytów uchwyt zwalnia uchwyt macierzysty. Uchwyt uchwytu nigdy nie zostanie sfinalizowany, ponieważ spowoduje to wyścig między finalizatorami zduplikowanych uchwytów i uchwytem uchwytu. Zamiast tego opiera się na wszystkich zduplikowanych uchwytach, które mają zostać sfinalizowane i zdekrementują liczbę ref do zera. Wystąpienia uchwytu posiadacza nigdy nie powinny być odwoływały się do niczego, ale zduplikowanego uchwytu.

Konstruktory

SafeNCryptHandle()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Inicjuje nowe wystąpienie klasy SafeNCryptHandle.

SafeNCryptHandle(IntPtr, SafeHandle)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Tworzy nowe wystąpienie klasy SafeNCryptHandle.

Pola

handle

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Określa uchwyt, który ma być opakowany.

(Odziedziczone po SafeHandle)

Właściwości

IsClosed

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Pobiera wartość wskazującą, czy uchwyt jest zamknięty.

(Odziedziczone po SafeHandle)
IsInvalid

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Pobiera wartość wskazującą, czy uchwyt jest nieprawidłowy.

IsInvalid

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Pobiera wartość wskazującą, czy uchwyt jest nieprawidłowy.

(Odziedziczone po SafeHandleZeroOrMinusOneIsInvalid)

Metody

Close()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Oznacza uchwyt do zwalniania i zwalniania zasobów.

(Odziedziczone po SafeHandle)
DangerousAddRef(Boolean)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Ręczne zwiększanie licznika odwołania w SafeHandle wystąpieniach.

(Odziedziczone po SafeHandle)
DangerousGetHandle()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwraca wartość handle pola.

(Odziedziczone po SafeHandle)
DangerousRelease()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Ręczne dekrementuje licznik odwołań w wystąpieniu SafeHandle .

(Odziedziczone po SafeHandle)
Dispose()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia wszystkie zasoby używane przez klasę SafeHandle .

(Odziedziczone po SafeHandle)
Dispose(Boolean)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia niezarządzane zasoby używane przez klasę SafeHandle określającą, czy wykonać normalną operację usuwania.

(Odziedziczone po SafeHandle)
Equals(Object)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ReleaseHandle()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia uchwyt używany przez obiekt Cryptography Next Generation (CNG).

ReleaseNativeHandle()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia natywny uchwyt używany przez obiekt następnej generacji kryptografii (CNG).

SetHandle(IntPtr)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Ustawia uchwyt do określonego wstępnie istniejącego uchwytu.

(Odziedziczone po SafeHandle)
SetHandleAsInvalid()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Oznacza uchwyt jako nieużytny.

(Odziedziczone po SafeHandle)
ToString()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy