структура 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 |