#ifndef _NTPFAPI_H
/**
* The PF_PHYSICAL_MEMORY_RANGE_INFO_V2 structure receives physical-memory ranges from SuperfetchMemoryRangesQuery.
* \remarks Initialize Version = 2 and Flags before querying. On x64 the header is
* 16 bytes, each range is 16 bytes, and the buffer requires 8-byte alignment. Required capacity is
* 16 + 16 * RangeCount bytes and is returned through query ReturnLength on STATUS_BUFFER_TOO_SMALL.
* RangeCount is written only when the buffer is large enough. BasePfn and PageCount are in 4096-byte page units.
*/
typedef struct _PF_PHYSICAL_MEMORY_RANGE_INFO_V2
{
ULONG Version; // Request version: PF_PHYSICAL_MEMORY_RANGE_INFO_V2_VERSION (2).
ULONG Flags; // Query flags; only bit 0 is accepted.
ULONG RangeCount; // The kernel writes only 32 bits.
ULONG Reserved; // Reserved field; initialize to zero and do not interpret on output.
PF_PHYSICAL_MEMORY_RANGE Ranges[1]; // Variable array containing RangeCount returned physical-memory ranges.
} PF_PHYSICAL_MEMORY_RANGE_INFO_V2, *PPF_PHYSICAL_MEMORY_RANGE_INFO_V2;
View code on GitHubNo description available.