IOS_Set_Async_Time_Out


mov eax, Timeout  ; milliseconds to wait
mov edx, RefData  ; reference data
mov esi, Callback ; address of callback procedure
VxDCall IOS_Set_Async_Time_Out
mov [Result], esi  ; 0 if not scheduled, otherwise handle

Same as the VMM service Set_Async_Timeout.

Timeout

Number of milliseconds to wait until time-out.

RefData

Reference data to return to the callback procedure.

Callback

Address of procedure to call when time-out occurs.

The callback procedure is called with ecx equal to the number of milliseconds that have elapsed since the actual time-out occured. Time-outs are often delayed by 10 milliseconds or more since the normal system timer runs at 20 milliseconds or slower. If you need more accurate time-outs, then you must increase the timer interrupt frequency. See the VTD documentation in "Kernel Services" for more details on setting the timer interrupt rate.