Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Hook_NMI_Event
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
mov     esi, OFFSET32 NmiProc   ; points to NMI event procedure
VMMcall Hook_NMI_Event
 
The Hook_NMI_Event service installs a Non-Maskable Interrupt (NMI) event
procedure. Virtual devices use this service to install event procedures to
carry out tasks that are not permitted in NMI handlers.
 
This service is only available during initialization.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
NmiProc    Points to an NMI event procedure. See the Comments section for
           more information about this procedure.
 
Return Value
 
This service has no return value.
 
Comments
 
The system calls each installed NMI event procedure after the last handler
in the NMI handler chain has executed. If more than one NMI event procedure
is installed, the system calls the procedures in the order in which they
where installed. The system calls the event procedure as follows:
 
mov     ebx, VM              ; current VM handle
mov     ebp, OFFSET32 crs    ; points to a Client_Reg_Struc
call    [NmiProc]
 
The VM parameter is a handle identifying the current virtual machine, and
the crs parameter points to a Client_Reg_Struc structure containing the
register values for the current virtual machine.
 
NMI event procedures can be re-entered. This means an event procedure can be
interrupted by another NMI.
 
Uses
 
Flags
 
See Also
 
Set_NMI_Handler_Addr, Client_Reg_Struc