Partilhar via


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. Tentativas de acessar a memória fora do buffer controlado (falhas e estouros) geram exceções.

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
Herança
SafeBuffer
Herança
Herança
Derivado
Atributos

Comentários

Você deve chamar o SafeBuffer.Initialize método antes de usar qualquer instância do 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:

Observação

As atribuições em um construtor de classe estática são implicitamente bloqueadas.

Construtores

SafeBuffer(Boolean)
Obsoleto.

Cria uma nova instância da classe SafeBuffer e especifica se o identificador do buffer deve ser liberado com confiança.

Campos

handle
Obsoleto.

Especifica o identificador a ser encapsulado.

(Herdado de SafeHandle)

Propriedades

ByteLength
Obsoleto.

Obtém o tamanho do buffer, em bytes.

IsClosed
Obsoleto.

Obtém um valor que indica se o identificador está fechado.

(Herdado de SafeHandle)
IsInvalid
Obsoleto.

Obtém um valor que indica se o identificador é inválido.

IsInvalid
Obsoleto.

Obtém um valor que indica se o identificador é inválido.

(Herdado de SafeHandleZeroOrMinusOneIsInvalid)

Métodos

AcquirePointer(Byte*)
Obsoleto.

Obtém um ponteiro de um objeto SafeBuffer para um bloco de memória.

Close()
Obsoleto.

Marca o identificador de liberação de recursos.

(Herdado de SafeHandle)
DangerousAddRef(Boolean)
Obsoleto.

Incrementa manualmente o contador de referências em instâncias do SafeHandle.

(Herdado de SafeHandle)
DangerousGetHandle()
Obsoleto.

Retorna o valor do campo handle.

(Herdado de SafeHandle)
DangerousRelease()
Obsoleto.

Diminui manualmente o contador de referência em uma instância SafeHandle.

(Herdado de SafeHandle)
Dispose()
Obsoleto.

Libera todos os recursos usados pela classe SafeHandle.

(Herdado de SafeHandle)
Dispose(Boolean)
Obsoleto.

Libera os recursos não gerenciados usados pela classe SafeHandle que especifica se deve executar uma operação de descarte normal.

(Herdado de SafeHandle)
Equals(Object)
Obsoleto.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()
Obsoleto.

Serve como a função de hash padrão.

(Herdado de Object)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(UInt32, UInt32)
Obsoleto.

Especifica o tamanho de alocação do buffer de memória usando o número especificado de elementos e o tamanho do elemento. É necessário chamar esse método antes de usar a instância SafeBuffer.

Initialize(UInt64)
Obsoleto.

Define o tamanho de alocação da região de memória em bytes. É necessário chamar esse método antes de usar a instância SafeBuffer.

Initialize<T>(UInt32)
Obsoleto.

Define o tamanho de alocação da região de memória especificando o número dos tipos de valor. É necessário chamar esse método antes de usar a instância SafeBuffer.

MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Object atual.

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

Lê um tipo de valor na memória no deslocamento especificado.

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

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.

ReadSpan<T>(UInt64, Span<T>)
Obsoleto.

Lê tipos de valor da memória começando no deslocamento e os grava em um intervalo. O número de tipos de valor que serão lidos é determinado pelo comprimento do intervalo.

ReleaseHandle()
Obsoleto.

Quando substituído em uma classe derivada, executa o código necessário para liberar o identificador.

(Herdado de SafeHandle)
ReleasePointer()
Obsoleto.

Libera um ponteiro que foi obtido pelo método AcquirePointer(Byte*).

SetHandle(IntPtr)
Obsoleto.

Define o identificador para o identificador pré-existente especificado.

(Herdado de SafeHandle)
SetHandleAsInvalid()
Obsoleto.

Marca um identificador como não mais usado.

(Herdado de SafeHandle)
ToString()
Obsoleto.

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Grava um tipo de valor na memória no local determinado.

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

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.

WriteSpan<T>(UInt64, ReadOnlySpan<T>)
Obsoleto.

Grava os tipos de valor de um intervalo somente leitura em um local de memória.

Aplica-se a