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


структура MEMORY_BASIC_INFORMATION (ntifs.h)

Содержит сведения о диапазоне страниц в виртуальном адресном пространстве процесса. подпрограмма ZwQueryVirtualMemor y использует эту структуру.

Синтаксис

typedef struct _MEMORY_BASIC_INFORMATION {
  PVOID  BaseAddress;
  PVOID  AllocationBase;
  ULONG  AllocationProtect;
  USHORT PartitionId;
  SIZE_T RegionSize;
  ULONG  State;
  ULONG  Protect;
  ULONG  Type;
} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;

Члены

BaseAddress

Указатель на базовый адрес области страниц.

AllocationBase

Указатель на базовый адрес диапазона выделенных страниц. Страница, на которую указывает элемент baseAddress BaseAddress, содержится в этом диапазоне выделения.

AllocationProtect

Параметр защиты памяти при первоначальном выделении региона. Этот член может быть одной из следующих констант, определенных в wdm.h, или 0, если вызывающий объект не имеет доступа.

Ценность Значение
PAGE_NOACCESS 0x01 Доступ к региону страниц запрещен. Попытка чтения, записи или выполнения в регионе приводит к нарушению доступа.
PAGE_EXECUTE 0x10 Разрешен доступ к региону страниц. Попытка чтения или записи в регионе приводит к нарушению доступа.
PAGE_READONLY 0x02 Разрешен доступ только для чтения и выполнения доступа к региону страниц. Попытка записи в регионе приводит к нарушению доступа.
PAGE_READWRITE 0x04 Разрешен доступ на чтение, запись и выполнение доступа к региону страниц. Если доступ на запись к базовому разделу разрешен, используется одна копия страниц. В противном случае страницы являются общими только для чтения и копирования в записи.
PAGE_GUARD 0x100 Разрешен доступ на чтение, запись и выполнение доступа к региону страниц; Однако доступ к региону приводит к возникновению условия "охранника региона" в процессе субъекта.
PAGE_NOCACHE 0x200 Отключите размещение зафиксированных страниц в кэш данных.
PAGE_WRITECOMBINE 0x400 Отключите размещение зафиксированных страниц в кэше данных, объедините записи.

PartitionId

Зарезервировано для использования системы.

RegionSize

Размер региона в байтах, начиная с базового адреса, в котором все страницы имеют одинаковые атрибуты.

State

Состояние страниц в регионе. Этот элемент может быть одним из следующих значений.

Государство Значение
MEM_COMMIT 0x1000 Указывает зафиксированные страницы, для которых было выделено физическое хранилище либо в памяти, либо в файле разбиения по страницам на диске.
MEM_FREE 0x10000 Указывает, что бесплатные страницы недоступны для вызывающего процесса и доступны для выделения.
MEM_RESERVE 0x2000 Указывает зарезервированные страницы, в которых диапазон виртуального адресного пространства процесса зарезервирован без выделения физического хранилища.

Protect

Защита доступа страниц в регионе. Этот элемент является одним из значений, перечисленных для элемента AllocationProtect.

Type

Тип страниц в регионе. Определены следующие типы.

Тип Значение
MEM_IMAGE 0x1000000 Указывает, что страницы памяти в регионе сопоставляются с представлением раздела изображения.
MEM_MAPPED 0x40000 Указывает, что страницы памяти в регионе сопоставляются с представлением раздела.
MEM_PRIVATE 0x20000 Указывает, что страницы памяти в регионе являются частными (т. е. не совместно используемыми другими процессами).

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
заголовка ntifs.h

См. также

ZwQueryVirtualMemory