структура WIN32_MEMORY_REGION_INFORMATION (memoryapi.h)
Содержит сведения о области памяти. Область памяти — это одно выделение, созданное с помощью функции выделения памяти, например VirtualAlloc или MapViewOfFile.
Синтаксис
typedef struct WIN32_MEMORY_REGION_INFORMATION {
PVOID AllocationBase;
ULONG AllocationProtect;
union {
ULONG Flags;
struct {
ULONG Private : 1;
ULONG MappedDataFile : 1;
ULONG MappedImage : 1;
ULONG MappedPageFile : 1;
ULONG MappedPhysical : 1;
ULONG DirectMapped : 1;
ULONG Reserved : 26;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
SIZE_T RegionSize;
SIZE_T CommitSize;
} WIN32_MEMORY_REGION_INFORMATION;
Члены
AllocationBase
Базовый адрес выделения.
AllocationProtect
Значение защиты страницы, указанное при создании выделения. Защита отдельных страниц в выделении может отличаться от этого значения. Чтобы запросить значения защиты отдельных страниц, используйте функцию VirtualQuery .
DUMMYUNIONNAME
DUMMYUNIONNAME.Flags
Представляет все флаги области памяти в виде одного значения ULONG. Приложения не должны использовать это поле. Вместо этого проверьте флаги отдельных битовых полей, определенные ниже.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Private
Значение 1 указывает, что выделение является частным для процесса.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedDataFile
Значение 1 указывает, что выделение является сопоставленным представлением файла данных.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedImage
Значение 1 указывает, что выделение является сопоставленным представлением исполняемого образа.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPageFile
Значение 1 указывает, что выделение является сопоставленным представлением раздела на основе файла подкачки.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPhysical
Значение 1 указывает, что выделение является представлением раздела \Device\PhysicalMemory .
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectMapped
Значение 1 указывает, что выделение является сопоставленным представлением файла с прямым сопоставлением.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved
Зарезервировано.
RegionSize
Размер выделения.
CommitSize
Плата за фиксацию, связанная с выделением. Для частных выделений это совокупный размер страниц в регионе, которые зафиксированы, в отличие от зарезервированных. Для сопоставленных представлений это совокупный размер страниц, которые имеют защиту от копирования при записи или были закрыты в результате копирования при записи.
Комментарии
Структура WIN32_MEMORY_REGION_INFORMATION содержит сведения об одном выделении памяти. В отличие от этого, структура MEMORY_BASIC_INFORMATION , возвращаемая функцией VirtualQuery , описывает непрерывное выполнение страниц в пределах одного выделения, которые имеют одинаковый тип, состояние и защиту. Сопоставление между полями WIN32_MEMORY_REGION_INFORMATION и значениями типа памяти, возвращаемыми VirtualQuery , выглядит следующим образом:
WIN32_MEMORY_REGION_INFORMATION | MEMORY_BASIC_INFORMATION::Type |
---|---|
Private | MEM_PRIVATE |
MappedDataFile | MEM_MAPPED |
MappedImage | MEM_IMAGE |
MappedPageFile | MEM_MAPPED |
MappedPhysical | MEM_MAPPED |
Требования
Минимальная версия клиента | Windows 10 версии 1607 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Верхняя часть | memoryapi.h (включая Windows.h) |