Adjust_Execution_Time


include vmm.inc

mov     eax, Time
mov     ebx, VMHandle
VMMcall Adjust_Execution_Time

Adjusts the duration of a virtual machine's time slice. Virtual devices, such as the virtual COM device, use this service to temporarily increase the amount of time a virtual machine is allowed to execute, such as when the virtual machine is receiving an unusually high number of interrupts. Uses Flags.

Time

A signed integer value representing the number of milliseconds to lengthen or shorten the time slice.

VMHandle

Handle of the virtual machine to adjust.

This service adjusts the time slice regardless of the virtual machine's time-slice priority.

If the specified virtual machine is not on the time-slice list, this service returns immediately (does nothing). This service can not force a non-runnable virtual machine to execute. That is, a virtual machine that does not have the VMStat_Background flag set cannot be forced to run in the background by increasing the duration of its time slice.

This service can lengthen or shorten the time slice for a virtual machine. However, shortening the time slice is not recommended because it defeats the purpose of multitasking.

Use this service with caution — it can cause other processes to be starved for processor time.

See also Get_Time_Slice_Granularity, Set_Time_Slice_Granularity