MemoryMappedFile.CreateViewAccessor Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.