SafeBuffer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
SafeBuffer may be unavailable in future releases.
Proporciona un búfer de memoria controlado que se puede usar para leer y escribir. Los intentos de acceder a la memoria fuera del búfer controlado (infraejecuciones y saturaciones) generan excepciones.
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
[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
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandle
[<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
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
- Herencia
- Herencia
- Derivado
- Atributos
Comentarios
Debe llamar al SafeBuffer.Initialize método antes de usar cualquier instancia de SafeBuffer. Para evitar carreras al almacenar una instancia de un SafeBuffer objeto en una variable estática, debe usar uno de los métodos siguientes:
Cree un bloqueo al publicar .SafeBuffer
Cree una variable local, inicialice SafeBuffery, a continuación, asigne a SafeBuffer la variable estática, por ejemplo, mediante el Interlocked.CompareExchange método .
Note
Las asignaciones de un constructor de clase estática se bloquean implícitamente.
Constructores
| Nombre | Description |
|---|---|
| SafeBuffer(Boolean) |
Obsoletos.
Crea una nueva instancia de la SafeBuffer clase y especifica si el identificador del búfer se va a liberar de forma confiable. |
Campos
| Nombre | Description |
|---|---|
| handle |
Obsoletos.
Especifica el identificador que se va a encapsular. (Heredado de SafeHandle) |
Propiedades
| Nombre | Description |
|---|---|
| ByteLength |
Obsoletos.
Obtiene el tamaño del búfer, en bytes. |
| IsClosed |
Obsoletos.
Obtiene un valor que indica si el identificador está cerrado. (Heredado de SafeHandle) |
| IsInvalid |
Obsoletos.
Obtiene un valor que indica si el identificador no es válido. |
| IsInvalid |
Obsoletos.
Obtiene un valor que indica si el identificador no es válido. (Heredado de SafeHandleZeroOrMinusOneIsInvalid) |
Métodos
| Nombre | Description |
|---|---|
| AcquirePointer(Byte*) |
Obsoletos.
Obtiene un puntero de un objeto para un SafeBuffer bloque de memoria. |
| Close() |
Obsoletos.
Marca el identificador para liberar y liberar recursos. (Heredado de SafeHandle) |
| DangerousAddRef(Boolean) |
Obsoletos.
Incrementa manualmente el contador de referencia en SafeHandle las instancias. (Heredado de SafeHandle) |
| DangerousGetHandle() |
Obsoletos.
Devuelve el valor del handle campo. (Heredado de SafeHandle) |
| DangerousRelease() |
Obsoletos.
Reduce manualmente el contador de referencia en una SafeHandle instancia de . (Heredado de SafeHandle) |
| Dispose() |
Obsoletos.
Libera todos los recursos usados por la SafeHandle clase . (Heredado de SafeHandle) |
| Dispose(Boolean) |
Obsoletos.
Libera los recursos no administrados utilizados por la SafeHandle clase que especifica si se debe realizar una operación de eliminación normal. (Heredado de SafeHandle) |
| Equals(Object) |
Obsoletos.
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Obsoletos.
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetType() |
Obsoletos.
Obtiene el Type de la instancia actual. (Heredado de Object) |
| Initialize(UInt32, UInt32) |
Obsoletos.
Especifica el tamaño de asignación del búfer de memoria mediante el número especificado de elementos y tamaño de elemento. Debe llamar a este método antes de usar la SafeBuffer instancia de . |
| Initialize(UInt64) |
Obsoletos.
Define el tamaño de asignación de la región de memoria en bytes. Debe llamar a este método antes de usar la SafeBuffer instancia de . |
| Initialize<T>(UInt32) |
Obsoletos.
Define el tamaño de asignación de la región de memoria especificando el número de tipos de valor. Debe llamar a este método antes de usar la SafeBuffer instancia de . |
| MemberwiseClone() |
Obsoletos.
Crea una copia superficial del Objectactual. (Heredado de Object) |
| Read<T>(UInt64) |
Obsoletos.
Lee un tipo de valor de la memoria en el desplazamiento especificado. |
| ReadArray<T>(UInt64, T[], Int32, Int32) |
Obsoletos.
Lee el número especificado de tipos de valor de la memoria a partir del desplazamiento y los escribe en una matriz que comienza en el índice. |
| ReleaseHandle() |
Obsoletos.
Cuando se invalida en una clase derivada, ejecuta el código necesario para liberar el identificador. (Heredado de SafeHandle) |
| ReleasePointer() |
Obsoletos.
Libera un puntero obtenido por el AcquirePointer(Byte*) método . |
| SetHandle(IntPtr) |
Obsoletos.
Establece el identificador en el identificador preexistente especificado. (Heredado de SafeHandle) |
| SetHandleAsInvalid() |
Obsoletos.
Marca un identificador como ya no se usa. (Heredado de SafeHandle) |
| ToString() |
Obsoletos.
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| Write<T>(UInt64, T) |
Obsoletos.
Escribe un tipo de valor en la memoria en la ubicación especificada. |
| WriteArray<T>(UInt64, T[], Int32, Int32) |
Obsoletos.
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. |