MemoryMappedFile.CreateViewAccessor Método

Definição

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória.

Sobrecargas

Name Description
CreateViewAccessor()

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória.

CreateViewAccessor(Int64, Int64)

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória, que tem o offset e tamanho especificados.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória, e que tem as restrições especificadas de deslocamento, tamanho e acesso.

CreateViewAccessor()

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em 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

Devoluções

Um bloco de memória acessível aleatoriamente.

Exceções

O acesso ao ficheiro mapeado em memória é não autorizado.

Observações

Pode usar a vista devolvida por este método para acesso aleatório a um ficheiro mapeado em memória.

Ver também

Aplica-se a

CreateViewAccessor(Int64, Int64)

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória, que tem o offset 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 a partir do qual iniciar a visualização.

size
Int64

O tamanho da vista. Especifique 0 (zero) para criar uma vista que comece e offset termine aproximadamente no final do ficheiro mapeado em memória.

Devoluções

Um bloco de memória acessível aleatoriamente.

Exceções

offset ou size é um valor negativo.

-ou-

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

O acesso ao ficheiro mapeado em memória é não autorizado.

Ocorreu um erro de I/O.

Exemplos

O exemplo seguinte cria uma vista de um ficheiro mapeado em memória e edita-o. 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

Observações

Pode usar a vista devolvida por este método para acesso aleatório a um ficheiro mapeado em memória.

Para criar uma vista completa do ficheiro mapeado em memória, especifique 0 (zero) para o size parâmetro. Se fizeres isto, o tamanho da vista pode ser maior do que o tamanho do ficheiro de origem no disco. Isto deve-se ao facto de as visualizações serem fornecidas em unidades de páginas do sistema, e o tamanho da vista é arredondado para o tamanho seguinte da página do sistema.

Ver também

Aplica-se a

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Cria um MemoryMappedViewAccessor que mapeia para uma vista do ficheiro mapeado em memória, e que tem as restrições especificadas de deslocamento, tamanho e acesso.

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);
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor(long offset, long size, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
[<System.Security.SecurityCritical>]
member this.CreateViewAccessor : int64 * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
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 a partir do qual iniciar a visualização.

size
Int64

O tamanho da vista. Especifique 0 (zero) para criar uma vista que comece e offset termine aproximadamente no final do ficheiro mapeado em memória.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido ao ficheiro mapeado em memória. A predefinição é ReadWrite.

Devoluções

Um bloco de memória acessível aleatoriamente.

Atributos

Exceções

offset ou size é um valor negativo.

-ou-

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

access é inválido para o ficheiro mapeado em memória.

Ocorreu um erro de I/O.

Observações

Pode usar a vista devolvida por este método para acesso aleatório a um ficheiro mapeado em memória.

Para criar uma vista completa do ficheiro mapeado em memória, especifique 0 (zero) para o size parâmetro. Se fizeres isto, o tamanho da vista pode ser maior do que o tamanho do ficheiro de origem no disco. Isto deve-se ao facto de as visualizações serem fornecidas em unidades de páginas do sistema, e o tamanho da vista é arredondado para o tamanho seguinte da página do sistema.

Ver também

Aplica-se a