SafeBuffer Clase

Definición

Advertencia

Esta API está ya obsoleta.

Proporciona un búfer de memoria controlado que se puede usar para leer y escribir.Provides a controlled memory buffer that can be used for reading and writing. Los intentos para acceder a la memoria fuera del búfer controlado (agotamientos y saturaciones) provocan excepciones.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
Herencia
Derivado
Atributos
Implementaciones

Comentarios

Debe llamar al SafeBuffer.Initialize método antes de usar cualquier instancia de SafeBuffer.You must call the SafeBuffer.Initialize method before you use any instance of SafeBuffer. Para evitar carreras al almacenar una instancia de un SafeBuffer objeto en una variable estática, debe utilizar uno de los métodos siguientes: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

Las asignaciones de un constructor de clase estática están bloqueadas implícitamente.Assignments in a static class constructor are implicitly locked.

Constructores

SafeBuffer(Boolean)

Crea una nueva instancia de la clase SafeBuffer y especifica si el identificador del búfer se va a liberar de forma segura.Creates a new instance of the SafeBuffer class, and specifies whether the buffer handle is to be reliably released.

Campos

handle

Especifica el identificador que se va a ajustar.Specifies the handle to be wrapped.

(Heredado de SafeHandle)

Propiedades

ByteLength

Obtiene el tamaño del búfer, en bytes.Gets the size of the buffer, in bytes.

IsClosed

Obtiene un valor que indica si el identificador está cerrado.Gets a value indicating whether the handle is closed.

(Heredado de SafeHandle)
IsInvalid

Métodos

AcquirePointer(Byte*)

Obtiene un puntero de un objeto SafeBuffer para un bloque de memoria.Obtains a pointer from a SafeBuffer object for a block of memory.

Close()

Marca el identificador para soltar y liberar recursos.Marks the handle for releasing and freeing resources.

(Heredado de SafeHandle)
DangerousAddRef(Boolean)

Aumenta manualmente el recuento de referencias en instancias de SafeHandle.Manually increments the reference counter on SafeHandle instances.

(Heredado de SafeHandle)
DangerousGetHandle()

Devuelve el valor del campo handle.Returns the value of the handle field.

(Heredado de SafeHandle)
DangerousRelease()

Disminuye manualmente el recuento de referencias en una instancia de SafeHandle.Manually decrements the reference counter on a SafeHandle instance.

(Heredado de SafeHandle)
Dispose()

Libera todos los recursos que utiliza la clase SafeHandle.Releases all resources used by the SafeHandle class.

(Heredado de SafeHandle)
Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase SafeHandle que especifica si se va a realizar una operación de desecho normal.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Heredado de SafeHandle)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
Initialize(UInt32, UInt32)

Especifica el tamaño de asignación del búfer de memoria utilizando el número especificado de elementos y tamaño de elemento.Specifies the allocation size of the memory buffer by using the specified number of elements and element size. Debe llamar a este método antes de usar la instancia de SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize(UInt64)

Define el tamaño de asignación del área de memoria en bytes.Defines the allocation size of the memory region in bytes. Debe llamar a este método antes de usar la instancia de SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize<T>(UInt32)

Define el tamaño de asignación del área de memoria especificando el número de tipos de valor.Defines the allocation size of the memory region by specifying the number of value types. Debe llamar a este método antes de usar la instancia de SafeBuffer.You must call this method before you use the SafeBuffer instance.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
Read<T>(UInt64)

Lee un tipo de valor de la memoria en el desplazamiento especificado.Reads a value type from memory at the specified offset.

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

Lee el número especificado de tipos de valor de la memoria empezando en el desplazamiento y los escribe en una matriz empezando en el índice.Reads the specified number of value types from memory starting at the offset, and writes them into an array starting at the index.

ReleaseHandle()

Cuando se invalida en una clase derivada, ejecuta el código necesario para liberar el identificador.When overridden in a derived class, executes the code required to free the handle.

(Heredado de SafeHandle)
ReleasePointer()

Libera un puntero obtenido por el método AcquirePointer(Byte*).Releases a pointer that was obtained by the AcquirePointer(Byte*) method.

SetHandle(IntPtr)

Establece el identificador en el identificador preexistente.Sets the handle to the specified pre-existing handle.

(Heredado de SafeHandle)
SetHandleAsInvalid()

Marca un identificador para indicar que ya no se utiliza.Marks a handle as no longer used.

(Heredado de SafeHandle)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Write<T>(UInt64, T)

Escribe un tipo de valor en la memoria en la ubicación dada.Writes a value type to memory at the given location.

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

Escribe el número especificado de tipos de valor en una ubicación de memoria leyendo bytes a partir de la ubicación especificada en la matriz de entrada.Writes the specified number of value types to a memory location by reading bytes starting from the specified location in the input array.

Seguridad

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.requires full trust for the immediate caller. Este miembro no puede ser utilizado por código transparente o de confianza parcial.This member cannot be used by partially trusted or transparent code.

Se aplica a