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.
Call_When_Task_Switched
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
include vmm.inc
mov esi, TaskSwitchCallback ; points to callback procedure
VMMcall Call_When_Task_Switched
The Call_When_Task_Switched service installs a task-switched callback
procedure. The system calls this procedure whenever it carries out a task
switch. This service should be used sparingly and the callback procedure
should be optimized for speed.
Parameter Description
────────────────────────────────────────────────────────────────────────────
TaskSwitchCallback Points to the callback procedure to install. See the
Comments section for more information about the
procedure.
Return Value
This service has no return value.
Comments
Some virtual devices must save the state of a hardware device every time a
task switch occurs and restore the hardware state for the virtual machine
that is about to be run. However, virtual machine events can often be used
in place of using this service.
Virtual devices can install any number of callback procedures. The system
calls each one in the order installed, until all procedures have been
called.
The system calls the callback procedure as follows:
mov eax, OldVM ; previous VM handle
mov ebx, VM ; current VM handle
call [CritSecCallback]
The OldVM parameter specifies a handle identifying the previous virtual
machine (just prior to the task switch), and VM specifies a handle
identifying the current virtual machine.
The callback procedure can carry out any operation and can modify EAX, EBX,
ECX, EDX, ESI, EDI, and Flags.
Uses
Flags
See Also
Call_When_Idle, Call_When_Not_Critical
♦