Geoff Chappell - Software Analyst
The MEMORY_PARTITION_CONFIGURATION_INFORMATION structure (formally _MEMORY_PARTITION_CONFIGURATION_INFORMATION) is produced as output by a successful call to NtManagePartition when given the information class SystemMemoryPartitionInformation (0).
The structure is defined for both 32-bit and 64-bit Windows, but the 32-bit form is useless in practice before Version 1703 because the 32-bit NtManagePartition fails trivially (returning STATUS_NOT_SUPPORTED).
Version | Size (x86) | Size (x64) |
---|---|---|
10.0 to 1511 | 0x1C | 0x38 |
1607 | 0x34 | 0x58 |
1703 | 0x7C | 0xE8 |
1709 to 2004 | 0x80 | 0xF0 |
The sizes in the preceding table and the offsets, names and types in the next are from type information in private symbol files that Microsoft has included in downloadable packages of public symbol files and still makes available at the public symbol server.
Offset (x86) | Offset (x64) | Definition | Versions | Remarks |
---|---|---|---|---|
0x00 | 0x00 |
ULONG Flags; |
10.0 and higher | |
0x04 | 0x04 |
ULONG NumaNode; |
1607 and higher | |
0x08 | 0x08 |
ULONG Channel; |
1607 and higher | |
0x0C | 0x0C |
ULONG NumberOfNumaNodes; |
1607 and higher | |
0x04 (10.0 to 1511) | 0x08 (10.0 to 1511) |
ULONG_PTR TotalNumberOfPages; |
10.0 to 1511 | next at 0x20 and 0x30 |
0x08 (10.0 to 1511); 0x10 |
0x10 |
ULONG_PTR ResidentAvailablePages; |
10.0 and higher | |
0x0C (10.0 to 1511) | 0x18 (10.0 to 1511) |
ULONG_PTR AvailablePages; |
10.0 to 1511 | next at 0x24 and 0x38 |
0x10 (10.0 to 1511); 0x14 |
0x20 (10.0 to 1511); 0x18 |
ULONG_PTR CommittedPages; |
10.0 and higher | |
0x14 (10.0 to 1511); 0x18 |
0x28 (10.0 to 1511); 0x20 |
ULONG_PTR CommitLimit; |
10.0 and higher | |
0x18 (10.0 to 1511); 0x1C |
0x30 (10.0 to 1511); 0x28 |
ULONG_PTR PeakCommitment; |
10.0 and higher | |
0x20 | 0x30 |
ULONG_PTR TotalNumberOfPages; |
1607 and higher | previously at 0x04 and 0x08 |
0x24 | 0x38 |
ULONG_PTR AvailablePages; |
1607 and higher | previously at 0x0C and 0x18 |
0x28 | 0x40 |
ULONG_PTR ZeroPages; |
1607 and higher | |
0x2C | 0x48 |
ULONG_PTR FreePages; |
1607 and higher | |
0x30 | 0x50 |
ULONG_PTR StandbyPages; |
1607 and higher | |
0x34 | 0x58 |
ULONG_PTR StandbyPageCountByPriority [8]; |
1703 and higher | |
0x54 | 0x98 |
ULONG_PTR RepurposedPagesByPriority [8]; |
1703 and higher | |
0x74 | 0xD8 |
ULONG_PTR MaximumCommitLimit; |
1703 and higher | |
0x78 | 0xE0 |
ULONG_PTR DonatedPagesToPartitions; |
1703 and higher | |
0x7C | 0xE8 |
ULONG PartitionId; |
1709 and higher |