SafeBuffer 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.
Przestroga
SafeBuffer may be unavailable in future releases.
Zapewnia kontrolowany bufor pamięci, który może służyć do odczytywania i zapisywania. Próby uzyskania dostępu do pamięci poza kontrolowanym buforem (podbiegi i przekroczenia) zgłaszają wyjątki.
public ref class SafeBuffer abstract : System::Runtime::InteropServices::SafeHandle
public ref class SafeBuffer abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
[System.Obsolete("SafeBuffer may be unavailable in future releases.")]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandle
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
[<System.Obsolete("SafeBuffer may be unavailable in future releases.")>]
type SafeBuffer = class
inherit SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
- Dziedziczenie
- Dziedziczenie
- Dziedziczenie
- Pochodne
- Atrybuty
Uwagi
Przed użyciem dowolnego wystąpienia klasy SafeBuffernależy wywołać metodę SafeBuffer.Initialize . Aby uniknąć wyścigów podczas przechowywania wystąpienia SafeBuffer obiektu w zmiennej statycznej, należy użyć jednej z następujących metod:
Utwórz blokadę podczas publikowania elementu SafeBuffer.
Utwórz zmienną lokalną, zainicjuj SafeBufferzmienną , a następnie przypisz element SafeBuffer do zmiennej statycznej, na przykład przy użyciu Interlocked.CompareExchange metody .
Uwaga
Przypisania w konstruktorze statycznej klasy są niejawnie zablokowane.
Konstruktory
SafeBuffer(Boolean) |
Przestarzałe.
Tworzy nowe wystąpienie SafeBuffer klasy i określa, czy uchwyt buforu ma zostać niezawodnie zwolniony. |
Pola
handle |
Przestarzałe.
Określa uchwyt, który ma być opakowany. (Odziedziczone po SafeHandle) |
Właściwości
ByteLength |
Przestarzałe.
Pobiera rozmiar buforu w bajtach. |
IsClosed |
Przestarzałe.
Pobiera wartość wskazującą, czy uchwyt jest zamknięty. (Odziedziczone po SafeHandle) |
IsInvalid |
Przestarzałe.
Pobiera wartość wskazującą, czy uchwyt jest nieprawidłowy. |
IsInvalid |
Przestarzałe.
Pobiera wartość wskazującą, czy uchwyt jest nieprawidłowy. (Odziedziczone po SafeHandleZeroOrMinusOneIsInvalid) |
Metody
AcquirePointer(Byte*) |
Przestarzałe.
Uzyskuje wskaźnik z SafeBuffer obiektu dla bloku pamięci. |
Close() |
Przestarzałe.
Oznacza uchwyt do zwalniania i zwalniania zasobów. (Odziedziczone po SafeHandle) |
DangerousAddRef(Boolean) |
Przestarzałe.
Ręczne zwiększanie licznika odwołania w SafeHandle wystąpieniach. (Odziedziczone po SafeHandle) |
DangerousGetHandle() |
Przestarzałe.
Zwraca wartość handle pola. (Odziedziczone po SafeHandle) |
DangerousRelease() |
Przestarzałe.
Ręczne dekrementuje licznik odwołań w wystąpieniu SafeHandle . (Odziedziczone po SafeHandle) |
Dispose() |
Przestarzałe.
Zwalnia wszystkie zasoby używane przez klasę SafeHandle . (Odziedziczone po SafeHandle) |
Dispose(Boolean) |
Przestarzałe.
Zwalnia niezarządzane zasoby używane przez klasę SafeHandle określającą, czy wykonać normalną operację usuwania. (Odziedziczone po SafeHandle) |
Equals(Object) |
Przestarzałe.
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Przestarzałe.
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Przestarzałe.
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Initialize(UInt32, UInt32) |
Przestarzałe.
Określa rozmiar alokacji buforu pamięci przy użyciu określonej liczby elementów i rozmiaru elementu. Przed użyciem wystąpienia należy wywołać tę metodę SafeBuffer . |
Initialize(UInt64) |
Przestarzałe.
Definiuje rozmiar alokacji regionu pamięci w bajtach. Przed użyciem wystąpienia należy wywołać tę metodę SafeBuffer . |
Initialize<T>(UInt32) |
Przestarzałe.
Definiuje rozmiar alokacji regionu pamięci, określając liczbę typów wartości. Przed użyciem wystąpienia należy wywołać tę metodę SafeBuffer . |
MemberwiseClone() |
Przestarzałe.
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Read<T>(UInt64) |
Przestarzałe.
Odczytuje typ wartości z pamięci z określonego przesunięcia. |
ReadArray<T>(UInt64, T[], Int32, Int32) |
Przestarzałe.
Odczytuje określoną liczbę typów wartości z pamięci rozpoczynającej się od przesunięcia i zapisuje je w tablicy rozpoczynającej się od indeksu. |
ReadSpan<T>(UInt64, Span<T>) |
Przestarzałe.
Odczytuje typy wartości z pamięci rozpoczynającej się od przesunięcia i zapisuje je w zakresie. Liczba typów wartości, które będą odczytywane, zależy od długości zakresu. |
ReleaseHandle() |
Przestarzałe.
Po zastąpieniu w klasie pochodnej wykonuje kod wymagany do zwolnienia uchwytu. (Odziedziczone po SafeHandle) |
ReleasePointer() |
Przestarzałe.
Zwalnia wskaźnik uzyskany przez metodę AcquirePointer(Byte*) . |
SetHandle(IntPtr) |
Przestarzałe.
Ustawia uchwyt do określonego wstępnie istniejącego uchwytu. (Odziedziczone po SafeHandle) |
SetHandleAsInvalid() |
Przestarzałe.
Oznacza uchwyt jako nieużytny. (Odziedziczone po SafeHandle) |
ToString() |
Przestarzałe.
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Write<T>(UInt64, T) |
Przestarzałe.
Zapisuje typ wartości w pamięci w danej lokalizacji. |
WriteArray<T>(UInt64, T[], Int32, Int32) |
Przestarzałe.
Zapisuje określoną liczbę typów wartości w lokalizacji pamięci, odczytując bajty rozpoczynające się od określonej lokalizacji w tablicy wejściowej. |
WriteSpan<T>(UInt64, ReadOnlySpan<T>) |
Przestarzałe.
Zapisuje typy wartości z zakresu tylko do odczytu do lokalizacji pamięci. |