MemoryMappedViewStream Classe

Definição

Representa uma exibição de um arquivo mapeado em memória como um fluxo acessado sequencialmente.

public sealed class MemoryMappedViewStream : System.IO.UnmanagedMemoryStream
Herança
MemoryMappedViewStream
Herança

Exemplos

O exemplo a seguir obtém um MemoryMappedViewStream de um arquivo mapeado em memória e grava um valor no fluxo para comunicação entre processos.

Este exemplo de código faz parte de um exemplo maior fornecido para o método MemoryMappedFile.CreateNew.

using (MemoryMappedViewStream stream = mmf.CreateViewStream())
{
    BinaryWriter writer = new BinaryWriter(stream);
    writer.Write(1);
}

Comentários

Use o método CreateViewStream de um objeto MemoryMappedFile para obter esse fluxo.

Propriedades

CanRead

Obtém um valor que indica se um fluxo dá suporte à leitura.

(Herdado de UnmanagedMemoryStream)
CanSeek

Obtém um valor que indica se um fluxo dá suporte à busca.

(Herdado de UnmanagedMemoryStream)
CanTimeout

Obtém um valor que determina se o fluxo atual pode acabar.

(Herdado de Stream)
CanWrite

Obtém um valor que indica se um fluxo dá suporte à gravação.

(Herdado de UnmanagedMemoryStream)
Capacity

Obtém o comprimento do fluxo (tamanho) ou a quantidade total de memória atribuída a um fluxo (capacidade).

(Herdado de UnmanagedMemoryStream)
Length

Obtém o comprimento dos dados em um fluxo.

(Herdado de UnmanagedMemoryStream)
PointerOffset

Obtém o número de bytes pelos quais a posição inicial dessa exibição é deslocada desde o início do arquivo mapeado pela memória.

Position

Obtém ou define a posição atual em um fluxo.

(Herdado de UnmanagedMemoryStream)
PositionPointer

Obtém ou define um ponteiro de bytes para um fluxo com base na posição atual no fluxo.

(Herdado de UnmanagedMemoryStream)
ReadTimeout

Obtém ou define um valor, em milissegundos, que determina quanto tempo o fluxo tentará ler antes do tempo limite.

(Herdado de Stream)
SafeMemoryMappedViewHandle

Obtém um identificador para a exibição de um arquivo mapeado por memória.

WriteTimeout

Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará gravar antes do tempo limite.

(Herdado de Stream)

Métodos

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia uma operação de leitura assíncrona. (Considere usar ReadAsync(Byte[], Int32, Int32) em vez disso.)

(Herdado de Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia uma operação de gravação assíncrona. (Considere usar WriteAsync(Byte[], Int32, Int32) em vez disso.)

(Herdado de Stream)
Close()

Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivo) associados ao fluxo atual. Em vez de chamar esse método, verifique se o fluxo foi descartado corretamente.

(Herdado de Stream)
CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream)

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, CancellationToken)

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento e tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.
Obsoleto.
Obsoleto.

Aloca um objeto WaitHandle.

(Herdado de Stream)
Dispose()

Libera todos os recursos usados pelo Stream.

(Herdado de Stream)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo UnmanagedMemoryStream e, opcionalmente, libera os recursos gerenciados.

(Herdado de UnmanagedMemoryStream)
DisposeAsync()

Libera de forma assíncrona os recursos não gerenciados usados pelo Stream.

(Herdado de Stream)
EndRead(IAsyncResult)

Aguarda a conclusão da leitura assíncrona pendente. (Considere usar ReadAsync(Byte[], Int32, Int32) em vez disso.)

(Herdado de Stream)
EndWrite(IAsyncResult)

Encerra uma operação de gravação assíncrona. (Considere usar WriteAsync(Byte[], Int32, Int32) em vez disso.)

(Herdado de Stream)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Flush()

Limpa todos os buffers desse fluxo e faz com que todos os dados em buffer sejam gravados no arquivo subjacente.

FlushAsync()

Limpa de forma assíncrona todos os buffers para esse fluxo e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente.

(Herdado de Stream)
FlushAsync(CancellationToken)

Substitui o método FlushAsync(CancellationToken) para que a operação seja cancelada se especificada, mas nenhuma outra ação é executada.

(Herdado de UnmanagedMemoryStream)
GetHashCode()

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

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(Byte*, Int64, Int64, FileAccess)

Inicializa uma nova instância da classe UnmanagedMemoryStream usando um ponteiro para um local de memória não gerenciado.

(Herdado de UnmanagedMemoryStream)
Initialize(SafeBuffer, Int64, Int64, FileAccess)

Inicializa uma nova instância da classe UnmanagedMemoryStream em um buffer seguro com um deslocamento, comprimento e acesso a arquivos especificados.

(Herdado de UnmanagedMemoryStream)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Fornece suporte para um Contract.

(Herdado de Stream)
Read(Byte[], Int32, Int32)

Lê o número especificado de bytes na matriz especificada.

(Herdado de UnmanagedMemoryStream)
Read(Span<Byte>)

Lê todos os bytes desse fluxo de memória não gerenciado no intervalo de bytes especificado.

(Herdado de UnmanagedMemoryStream)
ReadAsync(Byte[], Int32, Int32)

Lê de forma assíncrona uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

(Herdado de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lê de forma assíncrona o número especificado de bytes na matriz especificada.

(Herdado de UnmanagedMemoryStream)
ReadAsync(Memory<Byte>, CancellationToken)

Lê de forma assíncrona os bytes de fluxo de memória não gerenciados na região da memória.

(Herdado de UnmanagedMemoryStream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Lê pelo menos um número mínimo de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

(Herdado de Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Lê de forma assíncrona pelo menos um número mínimo de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento.

(Herdado de Stream)
ReadByte()

Lê um byte de um fluxo e avança a posição dentro do fluxo por um byte ou retorna -1 se estiver no final do fluxo.

(Herdado de UnmanagedMemoryStream)
ReadExactly(Byte[], Int32, Int32)

count número de bytes do fluxo atual e avança a posição dentro do fluxo.

(Herdado de Stream)
ReadExactly(Span<Byte>)

Lê bytes do fluxo atual e avança a posição dentro do fluxo até que a buffer seja preenchida.

(Herdado de Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Lê de forma assíncrona count número de bytes do fluxo atual, avança a posição dentro do fluxo e monitora solicitações de cancelamento.

(Herdado de Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Lê bytes de forma assíncrona do fluxo atual, avança a posição dentro do fluxo até que o buffer seja preenchido e monitore as solicitações de cancelamento.

(Herdado de Stream)
Seek(Int64, SeekOrigin)

Define a posição atual do fluxo atual como o valor fornecido.

(Herdado de UnmanagedMemoryStream)
SetLength(Int64)

Define o comprimento do fluxo atual.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
Write(Byte[], Int32, Int32)

Grava um bloco de bytes no fluxo atual usando dados de um buffer.

(Herdado de UnmanagedMemoryStream)
Write(ReadOnlySpan<Byte>)

Grava um bloco de bytes no fluxo de memória não gerenciado atual usando dados do intervalo de bytes fornecido.

(Herdado de UnmanagedMemoryStream)
WriteAsync(Byte[], Int32, Int32)

Grava de forma assíncrona uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes gravados.

(Herdado de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento.

(Herdado de UnmanagedMemoryStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Grava de forma assíncrona um intervalo de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento.

(Herdado de UnmanagedMemoryStream)
WriteByte(Byte)

Grava um byte na posição atual no fluxo de arquivos.

(Herdado de UnmanagedMemoryStream)

Métodos de Extensão

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lê assíncronamente os bytes do Stream e os grava no PipeWriterespecificado usando um token de cancelamento.

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também