11 #define WIN_PFN_INC_VALUE 0xbd 14 #define WIN_PFN_REF_MAX 0xffff 60 #define WIN_PFN_GET_STRUCT_VA(MmPfn, Gpa) \ 62 ((((gGuest.Guest64 || !gGuest.PaeEnabled)) ? \ 63 WIN_KM_FIELD(Mmpfn, Size) : WIN_KM_FIELD(Mmpfn, PaeSize)) * ((Gpa) >> 12))) The page is active and valid, but not part of any list (ActiveAndValid).
struct _WIN_PFN_LOCK * PWIN_PFN_LOCK
WORD RefCount
The reference count.
void IntWinPfnUnInit(void)
Uninits the PFN locks.
A page from the BadPageList.
BOOLEAN Present
True if Page is present.
INTSTATUS IntWinPfnRemoveLock(WIN_PFN_LOCK *PfnLock, BOOLEAN Force)
Removes a PFN lock.
int INTSTATUS
The status data type.
A page from the ZeroedPageList.
BOOLEAN LargePage
True if Page is a large page.
A page from the ModifiedNoWritePageList.
struct _WIN_PFN_LOCK WIN_PFN_LOCK
A PFN lock.
void * SwapHook
The swap hook used for Page, is Page is a virtual address.
A page from the FreePageList.
INTSTATUS IntWinPfnIsMmPfnDatabase(QWORD MmPfnDatabase)
Checks if a a guest virtual address points to MmPfnDatabase.
WIN_PFN_PAGE_LOCATION
Page location value, as defined by the _MMLISTS kernel enum.
LIST_ENTRY Link
Entry inside the gWinPfns list.
INTSTATUS IntWinPfnLockGva(QWORD Gva, WIN_PFN_LOCK **PfnLock)
Locks a guest virtual address.
void IntWinPfnDump(void)
Prints all the PFN locks.
A page from the StandbyPageList.
QWORD GpaPage
The guest physical page that is locked.
INTSTATUS IntWinPfnLockGpa(QWORD Gpa, WIN_PFN_LOCK **PfnLock)
Locks a guest physical address.
QWORD Page
The locked page.
A page from the ModifiedPageList.
A temporary state, while waiting for I/O (TransitionPage).