Bitdefender Hypervisor Memory Introspection
_WIN_PFN_LOCK Struct Reference

A PFN lock. More...

#include <winpfn.h>

Data Fields

LIST_ENTRY Link
 Entry inside the gWinPfns list. More...
 
QWORD Page
 The locked page. More...
 
QWORD GpaPage
 The guest physical page that is locked. More...
 
void * SwapHook
 The swap hook used for Page, is Page is a virtual address. More...
 
WORD RefCount
 The reference count. More...
 
BOOLEAN Present
 True if Page is present. More...
 
BOOLEAN LargePage
 True if Page is a large page. More...
 

Detailed Description

A PFN lock.

Definition at line 19 of file winpfn.h.

Field Documentation

◆ GpaPage

QWORD _WIN_PFN_LOCK::GpaPage

The guest physical page that is locked.

This is either the page to which Page translates, if Page is a virtual address; or it is equal to Page, if Page is a physical address.

Definition at line 31 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().

◆ LargePage

BOOLEAN _WIN_PFN_LOCK::LargePage

True if Page is a large page.

If Page is a virtual address, this means that it is mapped using a page size larger than 4K. If Page is a physical address we will always consider it a normal, 4K, page and this will be False.

Definition at line 51 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().

◆ Link

LIST_ENTRY _WIN_PFN_LOCK::Link

Entry inside the gWinPfns list.

Definition at line 22 of file winpfn.h.

Referenced by IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().

◆ Page

QWORD _WIN_PFN_LOCK::Page

The locked page.

This could be a guest virtual address, or a guest physical address. If it is a GPA, it is equal to GpaPage.

Definition at line 26 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), and IntWinPfnLockAddress().

◆ Present

BOOLEAN _WIN_PFN_LOCK::Present

True if Page is present.

If Page is a physical address it will always be True.

Definition at line 46 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().

◆ RefCount

WORD _WIN_PFN_LOCK::RefCount

The reference count.

This is the reference count used by Introcore, not the one from the guest. It shows how many time Introcore has locked Page.

Definition at line 42 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().

◆ SwapHook

void* _WIN_PFN_LOCK::SwapHook

The swap hook used for Page, is Page is a virtual address.

If Page is a physical address this will be unused.

Definition at line 36 of file winpfn.h.

Referenced by IntWinPfnHandleTranslationChange(), IntWinPfnLockAddress(), and IntWinPfnUnlockAddress().


The documentation for this struct was generated from the following file: