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 occurred. 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.