SafeBuffer Classe

Definição

Cuidado

SafeBuffer may be unavailable in future releases.

Fornece um buffer de memória controlado que pode ser usado para leitura e gravação.Provides a controlled memory buffer that can be used for reading and writing. Tentativas de acessar a memória fora do buffer controlado (falhas e estouros) geram exceções.Attempts to access memory outside the controlled buffer (underruns and overruns) raise exceptions.

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
type SafeBuffer = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
    interface IDisposable
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
Herança
SafeBuffer
Herança
Herança
Derivado
Atributos
Implementações

Comentários

Você deve chamar o SafeBuffer.Initialize método antes de usar qualquer instância do SafeBuffer .You must call the SafeBuffer.Initialize method before you use any instance of SafeBuffer. Para evitar corridas ao armazenar uma instância de um SafeBuffer objeto em uma variável estática, você deve usar uma das seguintes abordagens:To avoid races when you store an instance of a SafeBuffer object in a static variable, you should use one of the following approaches:

Observação

As atribuições em um construtor de classe estática são implicitamente bloqueadas.Assignments in a static class constructor are implicitly locked.

Construtores

SafeBuffer(Boolean)

Cria uma nova instância da classe SafeBuffer e especifica se o identificador do buffer deve ser liberado com confiança.Creates a new instance of the SafeBuffer class, and specifies whether the buffer handle is to be reliably released.

Campos

handle

Especifica o identificador a ser encapsulado.Specifies the handle to be wrapped.

(Herdado de SafeHandle)

Propriedades

ByteLength

Obtém o tamanho do buffer, em bytes.Gets the size of the buffer, in bytes.

IsClosed

Obtém um valor que indica se o identificador está fechado.Gets a value indicating whether the handle is closed.

(Herdado de SafeHandle)
IsInvalid

Obtém um valor que indica se o identificador é inválido.Gets a value that indicates whether the handle is invalid.

IsInvalid

Quando substituído em uma classe derivada, obtém um valor que indica se o valor de indicador é válido.When overridden in a derived class, gets a value indicating whether the handle value is invalid.

(Herdado de SafeHandle)
IsInvalid

Obtém um valor que indica se o identificador é inválido.Gets a value that indicates whether the handle is invalid.

(Herdado de SafeHandleZeroOrMinusOneIsInvalid)

Métodos

AcquirePointer(Byte*)

Obtém um ponteiro de um objeto SafeBuffer para um bloco de memória.Obtains a pointer from a SafeBuffer object for a block of memory.

Close()

Marca o identificador de liberação de recursos.Marks the handle for releasing and freeing resources.

(Herdado de SafeHandle)
DangerousAddRef(Boolean)

Incrementa manualmente o contador de referências em instâncias do SafeHandle.Manually increments the reference counter on SafeHandle instances.

(Herdado de SafeHandle)
DangerousGetHandle()

Retorna o valor do campo handle.Returns the value of the handle field.

(Herdado de SafeHandle)
DangerousRelease()

Diminui manualmente o contador de referência em uma instância SafeHandle.Manually decrements the reference counter on a SafeHandle instance.

(Herdado de SafeHandle)
Dispose()

Libera todos os recursos usados pela classe SafeHandle.Releases all resources used by the SafeHandle class.

(Herdado de SafeHandle)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe SafeHandle que especifica se deve executar uma operação de descarte normal.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(Herdado de SafeHandle)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
Initialize(UInt32, UInt32)

Especifica o tamanho de alocação do buffer de memória usando o número especificado de elementos e o tamanho do elemento.Specifies the allocation size of the memory buffer by using the specified number of elements and element size. É necessário chamar esse método antes de usar a instância SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize(UInt64)

Define o tamanho de alocação da região de memória em bytes.Defines the allocation size of the memory region in bytes. É necessário chamar esse método antes de usar a instância SafeBuffer.You must call this method before you use the SafeBuffer instance.

Initialize<T>(UInt32)

Define o tamanho de alocação da região de memória especificando o número dos tipos de valor.Defines the allocation size of the memory region by specifying the number of value types. É necessário chamar esse método antes de usar a instância SafeBuffer.You must call this method before you use the SafeBuffer instance.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Lê um tipo de valor na memória no deslocamento especificado.Reads a value type from memory at the specified offset.

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

Lê o número de tipos de valor especificado do início da memória no deslocamento e os grava no início de uma matriz no í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()

Quando substituído em uma classe derivada, executa o código necessário para liberar o identificador.When overridden in a derived class, executes the code required to free the handle.

(Herdado de SafeHandle)
ReleasePointer()

Libera um ponteiro que foi obtido pelo método AcquirePointer(Byte*).Releases a pointer that was obtained by the AcquirePointer(Byte*) method.

SetHandle(IntPtr)

Define o identificador para o identificador pré-existente especificado.Sets the handle to the specified pre-existing handle.

(Herdado de SafeHandle)
SetHandleAsInvalid()

Marca um identificador como não mais usado.Marks a handle as no longer used.

(Herdado de SafeHandle)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

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

Grava um tipo de valor na memória no local determinado.Writes a value type to memory at the given location.

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

Grava o número de tipos de valor especificado em um local de memória lendo bytes começando do local especificado na 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.

Aplica-se a