Condividi tramite


SafeBuffer Classe

Definizione

Attenzione

SafeBuffer may be unavailable in future releases.

Fornisce un buffer di memoria controllato che può essere usato per la lettura e la scrittura. I tentativi di accedere alla memoria al di fuori del buffer controllato (sottocarichi e sovraccarichi) generano eccezioni.

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
Ereditarietà
SafeBuffer
Ereditarietà
Ereditarietà
Derivato
Attributi

Commenti

È necessario chiamare il SafeBuffer.Initialize metodo prima di usare qualsiasi istanza di SafeBuffer. Per evitare race quando si archivia un'istanza di un SafeBuffer oggetto in una variabile statica, è consigliabile usare uno degli approcci seguenti:

Nota

Le assegnazioni in un costruttore di classi statiche sono bloccate in modo implicito.

Costruttori

SafeBuffer(Boolean)
Obsoleti.

Crea una nuova istanza della classe SafeBuffer, specificando se l'handle del buffer deve essere rilasciato in modo affidabile.

Campi

handle
Obsoleti.

Specifica l'handle di cui eseguire il wrapping.

(Ereditato da SafeHandle)

Proprietà

ByteLength
Obsoleti.

Ottiene la dimensione, in byte, del buffer.

IsClosed
Obsoleti.

Ottiene un valore che indica se l'handle è chiuso.

(Ereditato da SafeHandle)
IsInvalid
Obsoleti.

Ottiene un valore che indica se l'handle non è valido.

IsInvalid
Obsoleti.

Ottiene un valore che indica se l'handle non è valido.

(Ereditato da SafeHandleZeroOrMinusOneIsInvalid)

Metodi

AcquirePointer(Byte*)
Obsoleti.

Ottiene un puntatore da un oggetto SafeBuffer per un blocco di memoria.

Close()
Obsoleti.

Contrassegna l'handle per il rilascio delle risorse.

(Ereditato da SafeHandle)
DangerousAddRef(Boolean)
Obsoleti.

Incrementa manualmente il numero di riferimenti nelle istanze di SafeHandle.

(Ereditato da SafeHandle)
DangerousGetHandle()
Obsoleti.

Restituisce il valore del campo handle.

(Ereditato da SafeHandle)
DangerousRelease()
Obsoleti.

Decrementa manualmente il numero di riferimenti in un'istanza di SafeHandle.

(Ereditato da SafeHandle)
Dispose()
Obsoleti.

Rilascia tutte le risorse usate dalla classe SafeHandle.

(Ereditato da SafeHandle)
Dispose(Boolean)
Obsoleti.

Rilascia le risorse non gestite usate dalla classe SafeHandle specificando se eseguire una normale operazione di eliminazione.

(Ereditato da SafeHandle)
Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Initialize(UInt32, UInt32)
Obsoleti.

Specifica la dimensione di allocazione del buffer di memoria tramite il numero specificato di elementi e la dimensione dell'elemento. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.

Initialize(UInt64)
Obsoleti.

Definisce la dimensione di allocazione, in byte, dell'area di memoria. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.

Initialize<T>(UInt32)
Obsoleti.

Definisce la dimensione di allocazione dell'area della memoria specificando il numero di tipi di valore. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Read<T>(UInt64)
Obsoleti.

Legge un tipo di valore dalla memoria all'offset specificato.

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

Legge il numero specificato di tipi di valore dal buffer di memoria partendo dall'offset e li scrive in una matrice iniziando all'indice.

ReadSpan<T>(UInt64, Span<T>)
Obsoleti.

Legge i tipi di valore dalla memoria a partire dall'offset e li scrive in un intervallo. Il numero di tipi valore che verranno letti è determinato dalla lunghezza dell'intervallo.

ReleaseHandle()
Obsoleti.

Quando ne viene eseguito l'override in una classe derivata, esegue il codice necessario per liberare l'handle.

(Ereditato da SafeHandle)
ReleasePointer()
Obsoleti.

Rilascia un puntatore ottenuto dal metodo AcquirePointer(Byte*).

SetHandle(IntPtr)
Obsoleti.

Imposta l'handle sull'handle preesistente specificato.

(Ereditato da SafeHandle)
SetHandleAsInvalid()
Obsoleti.

Contrassegna un handle come non più usato.

(Ereditato da SafeHandle)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Write<T>(UInt64, T)
Obsoleti.

Scrive un tipo di valore in memoria in una posizione specificata.

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

Scrive il numero specificato di tipi di valore in una posizione di memoria leggendo i byte a partire dalla posizione specificata nella matrice di input.

WriteSpan<T>(UInt64, ReadOnlySpan<T>)
Obsoleti.

Scrive i tipi valore da un intervallo di sola lettura in una posizione di memoria.

Si applica a