MemoryMappedViewStream Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma exibição de um arquivo mapeado em memória como um fluxo acessado sequencialmente.
public ref class MemoryMappedViewStream sealed : System::IO::UnmanagedMemoryStream
public sealed class MemoryMappedViewStream : System.IO.UnmanagedMemoryStream
type MemoryMappedViewStream = class
inherit UnmanagedMemoryStream
Public NotInheritable Class MemoryMappedViewStream
Inherits UnmanagedMemoryStream
- Herança
- 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);
}
Using Stream As MemoryMappedViewStream = mmf.CreateViewStream()
Dim writer As BinaryWriter = New BinaryWriter(Stream)
writer.Write(1)
End Using
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) |
Lê |
| ReadExactly(Span<Byte>) |
Lê bytes do fluxo atual e avança a posição dentro do fluxo até que a |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Lê de forma assíncrona |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Lê bytes de forma assíncrona do fluxo atual, avança a posição dentro do fluxo até que o |
| 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
Confira também
- arquivos Memory-Mapped