SafeBuffer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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:
Creare un blocco durante la pubblicazione di SafeBuffer.
Creare una variabile locale, inizializzare e SafeBufferquindi assegnare alla SafeBuffer variabile statica, ad esempio, usando il Interlocked.CompareExchange metodo .
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. |