SafeBuffer SafeBuffer SafeBuffer SafeBuffer Class

Definition

Warnung

Diese API ist jetzt veraltet.

Stellt einen gesteuerten Arbeitsspeicherpuffer bereit, der zum Lesen und Schreiben verwendet werden kann.Provides a controlled memory buffer that can be used for reading and writing. Arbeitsspeicherzugriffe außerhalb des gesteuerten Puffers (Unterläufe und Überläufe) führen jeweils zu einer Ausnahme.Attempts to access memory outside the controlled buffer (underruns and overruns) raise exceptions.

public ref class SafeBuffer abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
[System.Obsolete("SafeBuffer may be unavailable in future releases.")]
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeBuffer = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
    interface IDisposable
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
Vererbung
Abgeleitet
Attribute
Implementiert

Hinweise

Sie müssen die- SafeBuffer.Initialize Methode vor der Verwendung einer beliebigen Instanz SafeBuffervon aufzurufen.You must call the SafeBuffer.Initialize method before you use any instance of SafeBuffer. Zum Vermeiden von Races, wenn Sie eine Instanz eines SafeBuffer -Objekts in einer statischen Variablen speichern, sollten Sie einen der folgenden Ansätze verwenden:To avoid races when you store an instance of a SafeBuffer object in a static variable, you should use one of the following approaches:

Hinweis

Zuweisungen in einem statischen Klassenkonstruktor werden implizit gesperrt.Assignments in a static class constructor are implicitly locked.

Konstruktoren

SafeBuffer(Boolean) SafeBuffer(Boolean) SafeBuffer(Boolean) SafeBuffer(Boolean)

Erstellt eine neue Instanz der SafeBuffer-Klasse und gibt an, ob das Pufferhandle zuverlässig freigegeben werden soll.Creates a new instance of the SafeBuffer class, and specifies whether the buffer handle is to be reliably released.

Eigenschaften

ByteLength ByteLength ByteLength ByteLength

Ruft die Größe des Puffers in Bytes ab.Gets the size of the buffer, in bytes.

IsClosed IsClosed IsClosed IsClosed

Ruft einen Wert ab, der angibt, ob das Handle geschlossen ist.Gets a value indicating whether the handle is closed.

(Inherited from SafeHandle)
IsInvalid IsInvalid IsInvalid IsInvalid

Methoden

AcquirePointer(Byte*) AcquirePointer(Byte*) AcquirePointer(Byte*) AcquirePointer(Byte*)

Ruft einen Zeiger aus einem SafeBuffer-Objekt für einen Speicherblock ab.Obtains a pointer from a SafeBuffer object for a block of memory.

Close() Close() Close() Close()

Markiert das Handle für das Freigeben und Verfügbarmachen von Ressourcen.Marks the handle for releasing and freeing resources.

(Inherited from SafeHandle)
DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean)

Inkrementiert manuell den Verweiszähler für SafeHandle-Instanzen.Manually increments the reference counter on SafeHandle instances.

(Inherited from SafeHandle)
DangerousGetHandle() DangerousGetHandle() DangerousGetHandle() DangerousGetHandle()

Gibt den Wert des handle-Felds zurück.Returns the value of the handle field.

(Inherited from SafeHandle)
DangerousRelease() DangerousRelease() DangerousRelease() DangerousRelease()

Dekrementiert manuell den Verweiszähler für eine SafeHandle-Instanz.Manually decrements the reference counter on a SafeHandle instance.

(Inherited from SafeHandle)
Dispose() Dispose() Dispose() Dispose()

Gibt alle von der SafeHandle-Klasse verwendeten Ressourcen frei.Releases all resources used by the SafeHandle class.

(Inherited from SafeHandle)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von der SafeHandle-Klasse verwendeten, nicht verwalteten Ressourcen frei und gibt an, ob ein normaler Freigabevorgang ausgeführt werden soll.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Inherited from SafeHandle)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
Initialize(UInt32, UInt32) Initialize(UInt32, UInt32) Initialize(UInt32, UInt32) Initialize(UInt32, UInt32)

Gibt die Zuordnungsgröße des Arbeitsspeicherpuffers mit der angegebenen Anzahl von Elementen und der Elementgröße an.Specifies the allocation size of the memory buffer by using the specified number of elements and element size. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird.You must call this method before you use the SafeBuffer instance.

Initialize(UInt64) Initialize(UInt64) Initialize(UInt64) Initialize(UInt64)

Definiert die Zuordnungsgröße des Arbeitsspeicherbereichs in Bytes.Defines the allocation size of the memory region in bytes. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird.You must call this method before you use the SafeBuffer instance.

Initialize<T>(UInt32) Initialize<T>(UInt32) Initialize<T>(UInt32) Initialize<T>(UInt32)

Definiert die Zuordnungsgröße des Arbeitsspeicherbereichs, indem die Anzahl der Werttypen angegeben wird.Defines the allocation size of the memory region by specifying the number of value types. Diese Methode muss aufgerufen werden, bevor die SafeBuffer-Instanz verwendet wird.You must call this method before you use the SafeBuffer instance.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Read<T>(UInt64) Read<T>(UInt64) Read<T>(UInt64) Read<T>(UInt64)

Liest einen Werttyp am angegebenen Offset aus dem Arbeitsspeicher.Reads a value type from memory at the specified offset.

ReadArray<T>(UInt64, T[], Int32, Int32) ReadArray<T>(UInt64, T[], Int32, Int32) ReadArray<T>(UInt64, T[], Int32, Int32) ReadArray<T>(UInt64, T[], Int32, Int32)

Liest beginnend am Offset die angegebene Anzahl von Werttypen aus dem Arbeitsspeicher und schreibt sie beginnend am Index in ein Array.Reads the specified number of value types from memory starting at the offset, and writes them into an array starting at the index.

ReleaseHandle() ReleaseHandle() ReleaseHandle() ReleaseHandle()

Führt beim Überschreiben in einer abgeleiteten Klasse den Code aus, der für das Freigeben des Handles erforderlich ist.When overridden in a derived class, executes the code required to free the handle.

(Inherited from SafeHandle)
ReleasePointer() ReleasePointer() ReleasePointer() ReleasePointer()

Gibt einen Zeiger frei, der von der AcquirePointer(Byte*)-Methode abgerufen wurde.Releases a pointer that was obtained by the AcquirePointer(Byte*) method.

SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr)

Legt das Handle für das angegebene, bereits vorhandene Handle fest.Sets the handle to the specified pre-existing handle.

(Inherited from SafeHandle)
SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid()

Markiert ein Handle als nicht mehr verwendet.Marks a handle as no longer used.

(Inherited from SafeHandle)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
Write<T>(UInt64, T) Write<T>(UInt64, T) Write<T>(UInt64, T) Write<T>(UInt64, T)

Schreibt einen Werttyp an der angegebenen Position in den Arbeitsspeicher.Writes a value type to memory at the given location.

WriteArray<T>(UInt64, T[], Int32, Int32) WriteArray<T>(UInt64, T[], Int32, Int32) WriteArray<T>(UInt64, T[], Int32, Int32) WriteArray<T>(UInt64, T[], Int32, Int32)

Schreibt die angegebene Anzahl von Werttypen an eine Speicheradresse, indem beginnend an der angegebenen Position im Eingabearray Bytes gelesen werden.Writes the specified number of value types to a memory location by reading bytes starting from the specified location in the input array.

Felder

handle handle handle handle

Gibt das zu umschließende Handle an.Specifies the handle to be wrapped.

(Inherited from SafeHandle)

Sicherheit

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

Gilt für: