Call_When_VM_Ints_Enabled

include vmm.inc

mov edx, OFFSET32 RefData ; points to reference data

mov esi, OFFSET32 Callback ; points to callback procedure

VMMcall Call_When_VM_Ints_Enabled


The Call_When_VM_Ints_Enabled service installs a callback procedure that the system calls whenever the virtual machine enables interrupts. This service calls the callback procedure immediately if interrupts are already enabled. Virtual devices use this service to receive notification when the virtual machines enables interrupts.

Parameters

RefData

Points to reference data to be passed to the callback procedure.

Callback

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

Return Value

This service has no return value.

Comments

It is usually more convenient to use the Call_Priority_VM_Event service instead of calling this service directly. However, this service is faster.

The system calls the callback procedure as follows:

mov ebx, VM ; current VM handle

mov edx, OFFSET32 RefData ; points to reference data

mov ebp, OFFSET32 crs ; points to a Client_Reg_Struc

call [Callback]

The VM parameter is a handle identifying the current virtual machine, the RefData parameter points to the reference data specified when the callback procedure was installed, and the crs parameter points to a Client_Reg_Struc structure containing the register values for the virtual machine.

The callback procedure may use the EAX, EBX, ECX, EDX, ESI, EDI, and Flags registers.

Uses

Client_Flags, Flags

See Also

Call_When_Idle, Call_When_Not_Critical, Call_When_Task_Switched