Hook_Invalid_Page_Fault

include vmm.inc

mov esi, OFFSET32 HookProc ; points to hook procedure to install

VMMcall Hook_Invalid_Page_Fault

jc not_installed ; carry flag set if procedure not installed


The Hook_Invalid_Page_Fault service installs a hook procedure to handle any invalid-page faults not handled by the system invalid-page-fault handler.

Parameters

HookProc

Points to the hook procedure to install. For more information about the procedure, see the following “Comments” section.

Return Value

The carry flag is clear if the hook procedure is installed. The carry flag is set if the procedure could not be installed.

Comments

The system enables interrupts, and calls the hook procedure as follows:

mov ebx, VM ; current VM handle

mov edi, OFFSET32 ipf ; points to an IPF_Data

call [HookProc]

jc not_corrected ; carry flag set if procedure did

; not correct fault

The VM parameter is a handle identifying the current virtual machine, and the ipf parameter points to an IPF_Data structure containing information about the page fault.

The procedure clears the carry flag if it handles the page fault. Otherwise, it must set the carry flag to indicate that the page fault has not been corrected. The system passes the fault to the next procedure in the chain.

The hook procedure may use all registers except the segment registers.

Uses

Flags

See Also

Unhook_Invalid_Page_Fault