структура MEMORY_BASIC_INFORMATION (ntifs.h)
Содержит сведения о диапазоне страниц в виртуальном адресном пространстве процесса. Эта структура используется в подпрограмме ZwQueryVirtualMemory .
Синтаксис
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, содержится в этом диапазоне выделения.
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 |