#ifndef _NTMMAPI_H
/**
* The MEMORY_WORKING_SET_EX_BLOCK structure contains extended working set information for a page.
*
* @ref https://learn.microsoft.com/en-us/windows/win32/api/psapi/ns-psapi-psapi_working_set_ex_block
*/
typedef union _MEMORY_WORKING_SET_EX_BLOCK
{
ULONG_PTR Flags;
union
{
struct
{
ULONG_PTR Valid : 1; // If this bit is 1, the subsequent members are valid; otherwise they should be ignored.
ULONG_PTR ShareCount : 3; // The number of processes that share this page. The maximum value of this member is 7.
ULONG_PTR Win32Protection : 11; // The memory protection attributes of the page.
ULONG_PTR Shared : 1; // If this bit is 1, the page can be shared.
ULONG_PTR Node : 6; // The NUMA node. The maximum value of this member is 63.
ULONG_PTR Locked : 1; // If this bit is 1, the virtual page is locked in physical memory.
ULONG_PTR LargePage : 1; // If this bit is 1, the page is a large page.
ULONG_PTR Priority : 3; // The memory priority attributes of the page.
ULONG_PTR Reserved : 3;
ULONG_PTR SharedOriginal : 1; // If this bit is 1, the page was not modified.
ULONG_PTR Bad : 1; // If this bit is 1, the page is has been reported as bad.
#ifdef _WIN64
ULONG_PTR Win32GraphicsProtection : 4; // The memory protection attributes of the page. // since 19H1
ULONG_PTR ReservedUlong : 28;
#endif
};
struct
{
ULONG_PTR Valid : 1; // If this bit is 0, the subsequent members are valid; otherwise they should be ignored.
ULONG_PTR Reserved0 : 14;
ULONG_PTR Shared : 1; // If this bit is 1, the page can be shared.
ULONG_PTR Reserved1 : 5;
ULONG_PTR PageTable : 1;
ULONG_PTR Location : 2; // The memory location of the page. MEMORY_WORKING_SET_EX_LOCATION
ULONG_PTR Priority : 3; // The memory priority of the page.
ULONG_PTR ModifiedList : 1;
ULONG_PTR Reserved2 : 2;
ULONG_PTR SharedOriginal : 1; // If this bit is 1, the page was not modified.
ULONG_PTR Bad : 1; // If this bit is 1, the page is has been reported as bad.
#ifdef _WIN64
ULONG_PTR ReservedUlong : 32;
#endif
} Invalid;
};
} MEMORY_WORKING_SET_EX_BLOCK, *PMEMORY_WORKING_SET_EX_BLOCK;
View code on GitHub
No description available.