windows - ExSetTimerResolution does not work -


i have got windows xp installed on computer. want dpc routine called every 10 ms.

that why wrote code:

    assert( kegetcurrentirql() <= apc_level );     keraiseirql( apc_level, &level );      resolution = exsettimerresolution( 100000, true );     kdprint((drivername " - resolution = %d\n", resolution));      kelowerirql( level );      kesettimerex( &pext->timer, duetime, 10, &pext->dpc ); 

debugview shows me return value (resolution) equals 156250.

as result dpc routine called every 15.5 ms

what doing wrong?

out of curiosity tried exsettimerresolution different values.

here got:

10000 -> 9766 50000 -> 39063 75000 -> 39063 90000 -> 156250 

left column contains values used desiredtime parameter. right column contains return values.

as can see, looks windows cannot change global timer resolution desired number.


Comments