MemoryMappedFile.CreateViewAccessor MemoryMappedFile.CreateViewAccessor MemoryMappedFile.CreateViewAccessor MemoryMappedFile.CreateViewAccessor Method

Definition

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file.

Overloads

CreateViewAccessor() CreateViewAccessor() CreateViewAccessor() CreateViewAccessor()

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file.

CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64)

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file, and that has the specified offset and size.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file, and that has the specified offset, size, and access restrictions.

CreateViewAccessor() CreateViewAccessor() CreateViewAccessor() CreateViewAccessor()

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file.

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
Returns
Exceptions

Remarks

You can use the view returned by this method for random access to a memory-mapped file.

CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64) CreateViewAccessor(Int64, Int64)

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file, and that has the specified offset and size.

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor(long offset, long size);
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
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
Parameters
offset
Int64 Int64 Int64 Int64

The byte at which to start the view.

size
Int64 Int64 Int64 Int64

The size of the view. Specify 0 (zero) to create a view that starts at offset and ends approximately at the end of the memory-mapped file.

Returns
Exceptions

offset or size is a negative value.

-or-

size is greater than the logical address space.

Examples

The following example creates a view of a memory-mapped file and edits it. This code example is part of a larger example provided for the MemoryMappedFile class.

// 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

Remarks

You can use the view returned by this method for random access to a memory-mapped file.

To create a complete view of the memory-mapped file, specify 0 (zero) for the size parameter. If you do this, the size of the view might be smaller or larger than the size of the source file on disk. This is because views are provided in units of system pages, and the size of the view is rounded up to the next system page size.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess) CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Creates a MemoryMappedViewAccessor that maps to a view of the memory-mapped file, and that has the specified offset, size, and access restrictions.

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
Public Function CreateViewAccessor (offset As Long, size As Long, access As MemoryMappedFileAccess) As MemoryMappedViewAccessor
Parameters
offset
Int64 Int64 Int64 Int64

The byte at which to start the view.

size
Int64 Int64 Int64 Int64

The size of the view. Specify 0 (zero) to create a view that starts at offset and ends approximately at the end of the memory-mapped file.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

One of the enumeration values that specifies the type of access allowed to the memory-mapped file. The default is ReadWrite.

Returns
Exceptions

offset or size is a negative value.

-or-

size is greater than the logical address space.

Remarks

You can use the view returned by this method for random access to a memory-mapped file.

To create a complete view of the memory-mapped file, specify 0 (zero) for the size parameter. If you do this, the size of the view might be smaller or larger than the size of the source file on disk. This is because views are provided in units of system pages, and the size of the view is rounded up to the next system page size.

Security

SecurityPermission
for access to unmanaged code. Associated enumeration: UnmanagedCode.

Applies to