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) |
Записывает структуры из массива типов |