A customer was looking for clarification on the msWindowLength
parameter to the SetThreadpoolTimer
function.
- msWindowLength [in, optional]
- The maximum amount of time the system can delay before calling the timer callback. If this parameter is set, the system can batch calls to conserve power.
“It’s not clear whether the window extends both before and after the due time (presumably, half the window size on either side), or whether the timer will always delay at least until the due time, and possibly up to the due time plus the window value.”
The window specifies the maximum delay, and generally speaking, delay means late, never early. (When was the last time you heard that your flight was delayed, by which they meant that it landed 30 minutues early?)
In other words, the latter interpretation is the correct one. The threadpool will schedule the callback at some point between the due time and the due time plus the window.
(For the record, the SetCoalescableTimer
and SetWaitableTimerEx
functions work the same way.)
The customer thanked us for the clarification. That’s what they thought, but they wanted to make sure.
0 comments