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.
Set_VM_Time_Out
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
mov     eax, Time                       ; number of milliseconds to time-out
mov     ebx, VM                         ; VM handle
mov     edx, OFFSET32 RefData           ; points to reference data
mov     esi, OFFSET32 TimeOutCallback   ; points to callback procedure
VMMcall Set_VM_Time_Out
 
mov     [TimeOut], esi                  ; time-out handle
 
The Set_VM_Time_Out service schedules a time-out that occurs after the
specified virtual machine has run for the specified length of time. The
system calls the time-out callback procedure only after the virtual machine
has run for Time milliseconds. Time that elapses while other virtual
machines run is not counted.
 
Parameter        Description
────────────────────────────────────────────────────────────────────────────
 
Time             Specifies the number of milliseconds to wait until calling
                 the time-out callback procedure.
 
VM               Specifies a handle identifying the virtual machine.
 
RefData          Points to reference data to be passed to the callback
                 procedure.
 
TimeOutCallback  Points to the callback procedure. See the Comments section
                 for more information about the procedure.
 
Return Value
 
The ESI register contains the handle of the time-out if the service is
successful. Otherwise, the ESI is zero indicating that the time-out is not
scheduled.
 
Comments
 
The system calls the time-out callback procedure when the virtual machine
runs for the specified number of milliseconds. The system calls the
procedure as follows:
 
mov     ebx, VM                 ; current VM handle
mov     ecx, Extra              ; number of milliseconds since time-out
mov     edx, OFFSET32 RefData   ; points to reference data
mov     ebp, OFFSET32 crs       ; points to Client_Reg_Struc
call    [TimeOutCallback]
 
The VM parameter is a handle specifying the virtual machine for which the
time-out was scheduled. The RefData parameter points to the reference data
for the callback procedure, and the crs parameter points to a
Client_Reg_Struc structure that contains the register values for the virtual
machine.
 
The Extra parameter specifies the number of milliseconds that have elapsed
since the actual time-out occurred. Time-outs are often delayed by 10
milliseconds or more because the normal system timer runs at 20 milliseconds
or slower.
 
If a virtual device needs more accurate time-outs, it must increase the
timer interrupt frequency using virtual timer device (VTD) services.
 
Uses
 
ESI, Flags
 
See Also
 
Set_Global_Time_Out