Compartilhar via


MemoryMappedFile.CreateViewAccessor Método

Definição

Cria um MemoryMappedViewAccessor que é mapeado para uma exibição do arquivo mapeado na memória.

Sobrecargas

CreateViewAccessor()

Cria um MemoryMappedViewAccessor que é mapeado para uma exibição do arquivo mapeado na memória.

CreateViewAccessor(Int64, Int64)

Cria um MemoryMappedViewAccessor que é mapeado para uma exibição do arquivo mapeado em memória e que tem o deslocamento e tamanho especificados.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Cria um MemoryMappedViewAccessor que mapeia para uma exibição do arquivo com mapeamento em memória e que tem o deslocamento, o tamanho e as restrições de acesso especificados.

CreateViewAccessor()

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um MemoryMappedViewAccessor que é mapeado para uma exibição do arquivo mapeado na memória.

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor();
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor ();
member this.CreateViewAccessor : unit -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor () As MemoryMappedViewAccessor

Retornos

Um bloco de memória acessível aleatoriamente.

Exceções

O acesso ao arquivo mapeado na memória não está autorizado.

Comentários

Você pode usar a exibição retornada por esse método para acesso aleatório a um arquivo mapeado em memória.

Confira também

Aplica-se a

CreateViewAccessor(Int64, Int64)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um MemoryMappedViewAccessor que é mapeado para uma exibição do arquivo mapeado em memória e que tem o deslocamento e tamanho especificados.

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor(long offset, long size);
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size);
member this.CreateViewAccessor : int64 * int64 -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor (offset As Long, size As Long) As MemoryMappedViewAccessor

Parâmetros

offset
Int64

O byte no qual a exibição é iniciada.

size
Int64

O tamanho da exibição. Especifique 0 (zero) para criar uma exibição que começa em offset e termina aproximadamente no final do arquivo com mapeamento em memória.

Retornos

Um bloco de memória acessível aleatoriamente.

Exceções

offset ou size é um valor negativo.

- ou -

size é maior que o espaço de endereço lógico.

O acesso ao arquivo mapeado na memória não está autorizado.

Ocorreu um erro de E/S.

Exemplos

O exemplo a seguir cria uma exibição de um arquivo mapeado em memória e o edita. Este exemplo de código faz parte de um exemplo maior fornecido para a MemoryMappedFile classe .

// Create a random access view, from the 256th megabyte (the offset)
// to the 768th megabyte (the offset plus length).
using (var accessor = mmf.CreateViewAccessor(offset, length))
{
    int colorSize = Marshal.SizeOf(typeof(MyColor));
    MyColor color;

    // Make changes to the view.
    for (long i = 0; i < length; i += colorSize)
    {
        accessor.Read(i, out color);
        color.Brighten(10);
        accessor.Write(i, ref color);
    }
}
' Create a random access view, from the 256th megabyte (the offset)
' to the 768th megabyte (the offset plus length).
Using accessor = mmf.CreateViewAccessor(offset, length)
    Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
    Dim color As MyColor
    Dim i As Long = 0

    ' Make changes to the view.
    Do While (i < length)
        accessor.Read(i, color)
        color.Brighten(10)
        accessor.Write(i, color)
        i += colorSize
    Loop
End Using

Comentários

Você pode usar a exibição retornada por esse método para acesso aleatório a um arquivo mapeado em memória.

Para criar uma exibição completa do arquivo mapeado na memória, especifique 0 (zero) para o size parâmetro . Se você fizer isso, o tamanho da exibição poderá ser maior do que o tamanho do arquivo de origem no disco. Isso ocorre porque as exibições são fornecidas em unidades de páginas do sistema e o tamanho do modo de exibição é arredondado para o próximo tamanho de página do sistema.

Confira também

Aplica-se a

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um MemoryMappedViewAccessor que mapeia para uma exibição do arquivo com mapeamento em memória e que tem o deslocamento, o tamanho e as restrições de acesso especificados.

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor(long offset, long size, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access);
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
[System.Security.SecurityCritical]
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
member this.CreateViewAccessor : int64 * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
[<System.Security.SecurityCritical>]
member this.CreateViewAccessor : int64 * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor (offset As Long, size As Long, access As MemoryMappedFileAccess) As MemoryMappedViewAccessor

Parâmetros

offset
Int64

O byte no qual a exibição é iniciada.

size
Int64

O tamanho da exibição. Especifique 0 (zero) para criar uma exibição que começa em offset e termina aproximadamente no final do arquivo com mapeamento em memória.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido para o arquivo mapeado na memória. O padrão é ReadWrite.

Retornos

Um bloco de memória acessível aleatoriamente.

Atributos

Exceções

offset ou size é um valor negativo.

- ou -

size é maior que o espaço de endereço lógico.

access é inválido para o arquivo com mapeamento em memória.

Ocorreu um erro de E/S.

Comentários

Você pode usar a exibição retornada por esse método para acesso aleatório a um arquivo mapeado em memória.

Para criar uma exibição completa do arquivo mapeado na memória, especifique 0 (zero) para o size parâmetro . Se você fizer isso, o tamanho da exibição poderá ser maior do que o tamanho do arquivo de origem no disco. Isso ocorre porque as exibições são fornecidas em unidades de páginas do sistema e o tamanho do modo de exibição é arredondado para o próximo tamanho de página do sistema.

Confira também

Aplica-se a