SafeBuffer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
SafeBuffer may be unavailable in future releases.
Stellt einen gesteuerten Arbeitsspeicherpuffer bereit, der zum Lesen und Schreiben verwendet werden kann. Arbeitsspeicherzugriffe außerhalb des gesteuerten Puffers (Unterläufe und Überläufe) führen jeweils zu einer Ausnahme.
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
- Vererbung
- Vererbung
- Vererbung
- Abgeleitet
- Attribute
Hinweise
Sie müssen die SafeBuffer.Initialize -Methode aufrufen, bevor Sie eine Instanz von SafeBufferverwenden. Um Rassen zu vermeiden, wenn Sie eine Instanz eines SafeBuffer Objekts in einer statischen Variablen speichern, sollten Sie einen der folgenden Ansätze verwenden:
Erstellen Sie beim Veröffentlichen von SafeBuffereine Sperre.
Erstellen Sie eine lokale Variable, initialisieren Sie die SafeBuffer, und weisen Sie dann der SafeBuffer statischen Variablen zu, z. B. mithilfe der Interlocked.CompareExchange -Methode.
Hinweis
Zuweisungen in einem statischen Klassenkonstruktor sind implizit gesperrt.
Konstruktoren
SafeBuffer(Boolean) |
Veraltet.
Erstellt eine neue Instanz der SafeBuffer-Klasse und gibt an, ob das Pufferhandle zuverlässig freigegeben werden soll. |
Felder
handle |
Veraltet.
Gibt das zu umschließende Handle an. (Geerbt von SafeHandle) |
Eigenschaften
ByteLength |
Veraltet.
Ruft die Größe des Puffers in Bytes ab. |
IsClosed |
Veraltet.
Ruft einen Wert ab, der angibt, ob das Handle geschlossen ist. (Geerbt von SafeHandle) |
IsInvalid |
Veraltet.
Ruft einen Wert ab, der angibt, ob das Handle ungültig ist. |
IsInvalid |
Veraltet.
Ruft einen Wert ab, der angibt, ob das Handle ungültig ist. (Geerbt von SafeHandleZeroOrMinusOneIsInvalid) |
Methoden
AcquirePointer(Byte*) |
Veraltet.
Ruft einen Zeiger aus einem SafeBuffer-Objekt für einen Speicherblock ab. |
Close() |
Veraltet.
Markiert das Handle für das Freigeben und Verfügbarmachen von Ressourcen. (Geerbt von SafeHandle) |
DangerousAddRef(Boolean) |
Veraltet.
Inkrementiert manuell den Verweiszähler für SafeHandle-Instanzen. (Geerbt von SafeHandle) |
DangerousGetHandle() |
Veraltet.
Gibt den Wert des handle-Felds zurück. (Geerbt von SafeHandle) |
DangerousRelease() |
Veraltet.
Dekrementiert manuell den Verweiszähler für eine SafeHandle-Instanz. (Geerbt von SafeHandle) |
Dispose() |
Veraltet.
Gibt alle von der SafeHandle-Klasse verwendeten Ressourcen frei. (Geerbt von SafeHandle) |
Dispose(Boolean) |
Veraltet.
Gibt die von der SafeHandle-Klasse verwendeten, nicht verwalteten Ressourcen frei und gibt an, ob ein normaler Freigabevorgang ausgeführt werden soll. (Geerbt von SafeHandle) |
Equals(Object) |
Veraltet.
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Veraltet.
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Veraltet.
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Initialize(UInt32, UInt32) |
Veraltet.
Gibt die Zuordnungsgröße des Arbeitsspeicherpuffers mit der angegebenen Anzahl von Elementen und der Elementgröße an. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird. |
Initialize(UInt64) |
Veraltet.
Definiert die Zuordnungsgröße des Arbeitsspeicherbereichs in Bytes. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird. |
Initialize<T>(UInt32) |
Veraltet.
Definiert die Zuordnungsgröße des Arbeitsspeicherbereichs, indem die Anzahl der Werttypen angegeben wird. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird. |
MemberwiseClone() |
Veraltet.
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Read<T>(UInt64) |
Veraltet.
Liest einen Werttyp am angegebenen Offset aus dem Arbeitsspeicher. |
ReadArray<T>(UInt64, T[], Int32, Int32) |
Veraltet.
Liest beginnend am Offset die angegebene Anzahl von Werttypen aus dem Arbeitsspeicher und schreibt sie beginnend am Index in ein Array. |
ReadSpan<T>(UInt64, Span<T>) |
Veraltet.
Liest Werttypen aus dem Arbeitsspeicher ab dem Offset und schreibt sie in eine Spanne. Die Anzahl der Werttypen, die gelesen werden, wird durch die Länge der Spanne bestimmt. |
ReleaseHandle() |
Veraltet.
Führt beim Überschreiben in einer abgeleiteten Klasse den Code aus, der für das Freigeben des Handles erforderlich ist. (Geerbt von SafeHandle) |
ReleasePointer() |
Veraltet.
Gibt einen Zeiger frei, der von der AcquirePointer(Byte*)-Methode abgerufen wurde. |
SetHandle(IntPtr) |
Veraltet.
Legt das Handle für das angegebene, bereits vorhandene Handle fest. (Geerbt von SafeHandle) |
SetHandleAsInvalid() |
Veraltet.
Markiert ein Handle als nicht mehr verwendet. (Geerbt von SafeHandle) |
ToString() |
Veraltet.
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Write<T>(UInt64, T) |
Veraltet.
Schreibt einen Werttyp an der angegebenen Position in den Arbeitsspeicher. |
WriteArray<T>(UInt64, T[], Int32, Int32) |
Veraltet.
Schreibt die angegebene Anzahl von Werttypen an eine Speicheradresse, indem beginnend an der angegebenen Position im Eingabearray Bytes gelesen werden. |
WriteSpan<T>(UInt64, ReadOnlySpan<T>) |
Veraltet.
Schreibt die Werttypen aus einer schreibgeschützten Spanne in einen Speicherspeicherort. |