Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Hook_Invalid_Page_Fault
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
mov     esi, OFFSET32 HookProc  ; points to hook procedure to install
VMMcall Hook_Invalid_Page_Fault
 
jc      not_installed           ; carry 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.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
HookProc   Points to the hook procedure to install. See the Comments section
           for more information about this procedure.
 
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 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, IPF_Data