Поделиться через


MemoryMappedFile.CreateViewAccessor Метод

Определение

Создает метод MemoryMappedViewAccessor, который соответствует представлению размещенного в памяти файла.

Перегрузки

CreateViewAccessor()

Создает метод MemoryMappedViewAccessor, который соответствует представлению размещенного в памяти файла.

CreateViewAccessor(Int64, Int64)

Создает MemoryMappedViewAccessor, который сопоставляется с представлением размещенного в памяти файла и имеет заданное смещение и размер.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Создает MemoryMappedViewAccessor, который сопоставляется с представлением размещенного в памяти файла и имеет заданное смещение, размер и ограничения по доступу.

CreateViewAccessor()

Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs

Создает метод MemoryMappedViewAccessor, который соответствует представлению размещенного в памяти файла.

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

Возвращаемое значение

Блок оперативной памяти.

Исключения

Доступ к сопоставленному в памяти файлу не авторизован.

Комментарии

Представление, возвращаемое этим методом, можно использовать для произвольного доступа к сопоставленным в памяти файлу.

См. также раздел

Применяется к

CreateViewAccessor(Int64, Int64)

Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs

Создает MemoryMappedViewAccessor, который сопоставляется с представлением размещенного в памяти файла и имеет заданное смещение и размер.

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

Параметры

offset
Int64

Байт, с которого должно начинаться представление.

size
Int64

Размер представления. Укажите 0 (нуль), чтобы создать представление, которое начинается с offset и заканчивается приблизительно в конце размещенного в памяти файла.

Возвращаемое значение

Блок оперативной памяти.

Исключения

offset или size является отрицательным значением.

-или-

size больше логического адресного пространства.

Доступ к сопоставленному в памяти файлу не авторизован.

Ошибка ввода/вывода.

Примеры

В следующем примере создается представление сопоставленного в памяти файла и его изменение. Этот пример входит в состав более крупного примера использования класса MemoryMappedFile.

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

Комментарии

Представление, возвращаемое этим методом, можно использовать для произвольного доступа к сопоставленным в памяти файлу.

Чтобы создать полное представление файла, сопоставленного с памятью, укажите 0 (ноль) для size параметра . В этом случае размер представления может быть больше размера исходного файла на диске. Это связано с тем, что представления предоставляются в единицах системных страниц, а размер представления округляется до следующего размера системной страницы.

См. также раздел

Применяется к

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs
Исходный код:
MemoryMappedFile.cs

Создает MemoryMappedViewAccessor, который сопоставляется с представлением размещенного в памяти файла и имеет заданное смещение, размер и ограничения по доступу.

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

Параметры

offset
Int64

Байт, с которого должно начинаться представление.

size
Int64

Размер представления. Укажите 0 (нуль), чтобы создать представление, которое начинается с offset и заканчивается приблизительно в конце размещенного в памяти файла.

access
MemoryMappedFileAccess

Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу. Значение по умолчанию — ReadWrite.

Возвращаемое значение

Блок оперативной памяти.

Атрибуты

Исключения

offset или size является отрицательным значением.

-или-

size больше логического адресного пространства.

Параметр access недопустим для сопоставленного в памяти файла.

Ошибка ввода/вывода.

Комментарии

Представление, возвращаемое этим методом, можно использовать для произвольного доступа к сопоставленным в памяти файлу.

Чтобы создать полное представление файла, сопоставленного с памятью, укажите 0 (ноль) для size параметра . В этом случае размер представления может быть больше размера исходного файла на диске. Это связано с тем, что представления предоставляются в единицах системных страниц, а размер представления округляется до следующего размера системной страницы.

См. также раздел

Применяется к