◄Up► ◄Next► ◄Previous► ──────────────────────────────────────────────────────────────────────────── include vmm.inc IPF_Data struc IPF_LinAddr dd ? ; CR2 address of fault IPF_MapPageNum dd ? ; Possible converted page number of fault IPF_PTEEntry dd ? ; Contents of PTE that faulted IPF_FaultingVM dd ? ; May not = current VM (IPF_V86PgH set) IPF_Flags dd ? ; Flags IPF_Data ends The IPF_Data structure contains information about the current invalid page fault. Member Description ──────────────────────────────────────────────────────────────────────────── IPF_LinAddr Specifies the CR2 address of the page fault. IPF_MapPageNum Specifies the possible converted page number of the fault. IPF_PTEEntry Specifies the contents of the page-table entry that caused the fault. IPF_FaultingVM Specifies the handle identifying the virtual machine that caused the fault. This is not necessarily the current virtual machine. IPF_Flags Specifies the invalid-page-fault flags. It can be a combination of the following values: Value Meaning ──────────────────────────────────────────────────────────── IPF_PgDir Page directory entry not present (not-present page table). IPF_V86Pg Unexpected not-present page in V86. IPF_V86PgH Unexpected not-present page in V86 at high linear address. IPF_InvTyp Page has invalid not-present type. IPF_PgErr Pageswap device could not page for some reason. IPF_ReFlt Re-entrant page fault. IPF_VMM Page fault caused by a virtual device. IPF_PM Page fault caused by virtual machine running in protected mode. IPF_V86 Page fault caused by virtual machine running in V86 mode. Comments Invalid page faults occur in a virtual machine other than the current virtual machine if the high linear address of the virtual machine is accessed. In this case, the IPF_FaultingVM field is set to the handle of the virtual machine that owns the high linear address. See Also Hook_Invalid_Page_Fault ♦