MemoryMappedViewAccessor Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представление размещенного в памяти файла с произвольным доступом.
public ref class MemoryMappedViewAccessor sealed : System::IO::UnmanagedMemoryAccessor
public sealed class MemoryMappedViewAccessor : System.IO.UnmanagedMemoryAccessor
type MemoryMappedViewAccessor = class
inherit UnmanagedMemoryAccessor
Public NotInheritable Class MemoryMappedViewAccessor
Inherits UnmanagedMemoryAccessor
- Наследование
Примеры
В следующем примере из большого файла, сопоставленного с памятью MemoryMappedViewAccessor , получается для редактирования.
Этот пример входит в состав более крупного примера использования класса 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
Комментарии
Чтобы получить это представление, CreateViewAccessor используйте метод MemoryMappedFile объекта .
Свойства
CanRead |
Определяет, доступен ли метод доступа для чтения. (Унаследовано от UnmanagedMemoryAccessor) |
CanWrite |
Определяет, доступен ли метод доступа для записи. (Унаследовано от UnmanagedMemoryAccessor) |
Capacity |
Возвращает емкость метода доступа. (Унаследовано от UnmanagedMemoryAccessor) |
IsOpen |
Определяет, открыт ли метод доступа процессом в текущий момент. (Унаследовано от UnmanagedMemoryAccessor) |
PointerOffset |
Получает Число байтов, на которое исходная позиция этого представления смещена от начала сопоставленного в памяти файла. |
SafeMemoryMappedViewHandle |
Получает дескриптор для просмотра размещенного в памяти файла. |
Методы
Dispose() |
Освобождает все ресурсы, занятые модулем UnmanagedMemoryAccessor. (Унаследовано от UnmanagedMemoryAccessor) |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом UnmanagedMemoryAccessor, а при необходимости освобождает также управляемые ресурсы. (Унаследовано от UnmanagedMemoryAccessor) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Flush() |
Очищает все буферы для этого представления и вызывает запись всех буферизованных данных в базовый файл. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Initialize(SafeBuffer, Int64, Int64, FileAccess) |
Задает начальные значения для метода доступа. (Унаследовано от UnmanagedMemoryAccessor) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Read<T>(Int64, T) |
Считывает из метода доступа структуру типа |
ReadArray<T>(Int64, T[], Int32, Int32) |
Считывает из метода доступа структуры типа |
ReadBoolean(Int64) |
Считывает из метода доступа логическое значение. (Унаследовано от UnmanagedMemoryAccessor) |
ReadByte(Int64) |
Считывает из метода доступа значение байта. (Унаследовано от UnmanagedMemoryAccessor) |
ReadChar(Int64) |
Считывает из метода доступа символ. (Унаследовано от UnmanagedMemoryAccessor) |
ReadDecimal(Int64) |
Считывает из метода доступа десятичное число. (Унаследовано от UnmanagedMemoryAccessor) |
ReadDouble(Int64) |
Считывает из метода доступа значение с плавающей запятой двойной точности. (Унаследовано от UnmanagedMemoryAccessor) |
ReadInt16(Int64) |
Считывает из метода доступа 16-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
ReadInt32(Int64) |
Считывает из метода доступа 32-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
ReadInt64(Int64) |
Считывает из метода доступа 64-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
ReadSByte(Int64) |
Считывает из метода доступа 8-разрядное целое число со знаком. (Унаследовано от UnmanagedMemoryAccessor) |
ReadSingle(Int64) |
Считывает из метода доступа значение с плавающей запятой одиночной точности. (Унаследовано от UnmanagedMemoryAccessor) |
ReadUInt16(Int64) |
Считывает из метода доступа 16-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
ReadUInt32(Int64) |
Считывает из метода доступа 32-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
ReadUInt64(Int64) |
Считывает из метода доступа 64-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Write(Int64, Boolean) |
Записывает в метод доступа логическое значение. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Byte) |
Записывает в метод доступа значение байта. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Char) |
Записывает в метод доступа символ. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Decimal) |
Записывает в метод доступа десятичное число. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Double) |
Записывает в метод доступа значение типа Double. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Int16) |
Записывает в метод доступа 16-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Int32) |
Записывает в метод доступа 32-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Int64) |
Записывает в метод доступа 64-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, SByte) |
Записывает в метод доступа 8-разрядное целое число. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, Single) |
Записывает в метод доступа значение типа Single. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, UInt16) |
Записывает в метод доступа 16-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, UInt32) |
Записывает в метод доступа 32-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
Write(Int64, UInt64) |
Записывает в метод доступа 64-разрядное целое число без знака. (Унаследовано от UnmanagedMemoryAccessor) |
Write<T>(Int64, T) |
Записывает в метод доступа структуру. (Унаследовано от UnmanagedMemoryAccessor) |
WriteArray<T>(Int64, T[], Int32, Int32) |
Записывает в метод доступа структуры из массива типа |