SafeBuffer Classe

Definizione

Avviso

Questa API è ora obsoleta.

Fornisce un buffer di memoria controllato che può essere usato per la lettura e la scrittura.Provides a controlled memory buffer that can be used for reading and writing. I tentativi di accedere alla memoria al di fuori del buffer controllato (sottocarichi e sovraccarichi) generano eccezioni.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
Ereditarietà
Derivato
Attributi
Implementazioni

Commenti

È necessario chiamare il SafeBuffer.Initialize metodo prima di utilizzare qualsiasi istanza di SafeBuffer.You must call the SafeBuffer.Initialize method before you use any instance of SafeBuffer. Per evitare le gare quando si archivia un'istanza di SafeBuffer un oggetto in una variabile statica, è necessario usare uno degli approcci seguenti:To avoid races when you store an instance of a SafeBuffer object in a static variable, you should use one of the following approaches:

Nota

Le assegnazioni in un costruttore di classe statico sono bloccate in modo implicito.Assignments in a static class constructor are implicitly locked.

Costruttori

SafeBuffer(Boolean)

Crea una nuova istanza della classe SafeBuffer, specificando se l'handle del buffer deve essere rilasciato in modo affidabile.Creates a new instance of the SafeBuffer class, and specifies whether the buffer handle is to be reliably released.

Campi

handle

Specifica l'handle di cui eseguire il wrapping.Specifies the handle to be wrapped.

(Ereditato da SafeHandle)

Proprietà

ByteLength

Ottiene la dimensione, in byte, del buffer.Gets the size of the buffer, in bytes.

IsClosed

Ottiene un valore che indica se l'handle è chiuso.Gets a value indicating whether the handle is closed.

(Ereditato da SafeHandle)
IsInvalid

Metodi

AcquirePointer(Byte*)

Ottiene un puntatore da un oggetto SafeBuffer per un blocco di memoria.Obtains a pointer from a SafeBuffer object for a block of memory.

Close()

Contrassegna l'handle per il rilascio delle risorse.Marks the handle for releasing and freeing resources.

(Ereditato da SafeHandle)
DangerousAddRef(Boolean)

Incrementa manualmente il numero di riferimenti nelle istanze di SafeHandle.Manually increments the reference counter on SafeHandle instances.

(Ereditato da SafeHandle)
DangerousGetHandle()

Restituisce il valore del campo handle.Returns the value of the handle field.

(Ereditato da SafeHandle)
DangerousRelease()

Decrementa manualmente il numero di riferimenti in un'istanza di SafeHandle.Manually decrements the reference counter on a SafeHandle instance.

(Ereditato da SafeHandle)
Dispose()

Rilascia tutte le risorse usate dalla classe SafeHandle.Releases all resources used by the SafeHandle class.

(Ereditato da SafeHandle)
Dispose(Boolean)

Rilascia le risorse non gestite utilizzate dalla classe SafeHandle specificando se eseguire una normale operazione di eliminazione.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Ereditato da SafeHandle)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
Initialize(UInt32, UInt32)

Specifica la dimensione di allocazione del buffer di memoria tramite il numero specificato di elementi e la dimensione dell'elemento.Specifies the allocation size of the memory buffer by using the specified number of elements and element size. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize(UInt64)

Definisce la dimensione di allocazione, in byte, dell'area di memoria.Defines the allocation size of the memory region in bytes. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize<T>(UInt32)

Definisce la dimensione di allocazione dell'area della memoria specificando il numero di tipi di valore.Defines the allocation size of the memory region by specifying the number of value types. Questo metodo deve essere chiamato prima di utilizzare l'istanza SafeBuffer.You must call this method before you use the SafeBuffer instance.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Legge un tipo di valore dalla memoria all'offset specificato.Reads a value type from memory at the specified offset.

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

Legge il numero specificato di tipi di valore dal buffer di memoria partendo dall'offset e li scrive in una matrice iniziando all'indice.Reads the specified number of value types from memory starting at the offset, and writes them into an array starting at the index.

ReleaseHandle()

Quando viene sottoposto a override in una classe derivata, esegue il codice necessario per liberare l'handle.When overridden in a derived class, executes the code required to free the handle.

(Ereditato da SafeHandle)
ReleasePointer()

Rilascia un puntatore ottenuto dal metodo AcquirePointer(Byte*).Releases a pointer that was obtained by the AcquirePointer(Byte*) method.

SetHandle(IntPtr)

Imposta l'handle sull'handle preesistente specificato.Sets the handle to the specified pre-existing handle.

(Ereditato da SafeHandle)
SetHandleAsInvalid()

Contrassegna un handle come non più utilizzato.Marks a handle as no longer used.

(Ereditato da SafeHandle)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

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

Scrive un tipo di valore in memoria in una posizione specificata.Writes a value type to memory at the given location.

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

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.Writes the specified number of value types to a memory location by reading bytes starting from the specified location in the input array.

Sicurezza

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato.requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente.This member cannot be used by partially trusted or transparent code.

Si applica a