PF_PHYSICAL_MEMORY_RANGE_INFO_V2 - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#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;

#endif

View code on GitHub

NtDoc

No description available.