#ifndef _NTPFAPI_H
/**
* The PF_PFN_PRIO_REQUEST structure queries or updates a variable array of page-frame entries.
*/
typedef struct _PF_PFN_PRIO_REQUEST
{
ULONG Version; // Request version: PF_PFN_PRIO_REQUEST_VERSION (1).
ULONG RequestFlags; // Classes 6/7: bit 0 only; class 22 passes the low/high USHORTs to MmRelocatePfnList.
SIZE_T PfnCount; // Nonzero; buffer size is FIELD_OFFSET(..., PageData) + PfnCount * sizeof(MMPFN_IDENTITY).
SYSTEM_MEMORY_LIST_INFORMATION MemInfo; // Memory-list statistics associated with the request.
union
{
// Class 6: input PFNs, output identities. Class 16 uses PF_MEMORY_LIST_INFO instead.
MMPFN_IDENTITY PageIdentities[256]; // Variable-length array with PfnCount entries.
MMPFN_IDENTITY PageData[256]; // Compatibility name.
// Classes 7, 22 and 29: caller-supplied entries; class 22 also copies results back.
PFN_TRIPLET Entries[256]; // Variable array of PfnCount update or relocation entries; 256 is the declared capacity, not a limit.
};
} PF_PFN_PRIO_REQUEST, *PPF_PFN_PRIO_REQUEST;
View code on GitHubNo description available.