PF_PFN_PRIO_REQUEST - NtDoc

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

#endif

View code on GitHub

NtDoc

No description available.