SafeNCryptHandle Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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) |