QueryUnbiasedInterruptTime 函数(realtimeapiset.h)
获取以 100 纳秒为单位的当前无偏中断时间计数。 无偏见的中断时间计数不包括系统在睡眠或休眠中花费的时间。
语法
BOOL QueryUnbiasedInterruptTime(
PULONGLONG UnbiasedTime
);
参数
UnbiasedTime
待定
返回值
如果函数成功,则返回值为非零。 如果函数因使用 null 参数调用该函数而失败,则返回值为零。
言论
当系统启动时,中断时间计数从零开始,并在每个时钟中断时按时钟周期的长度递增。 时钟计时周期的确切长度取决于基础硬件,在系统之间可能有所不同。
QueryUnbiasedInterruptTime 函数检索的中断时间计数仅反映系统处于工作状态的时间。 因此,系统在睡眠或休眠中花费的时间,中断时间计数并不“偏向”。 系统对某些操作使用有偏差的中断时间,例如确保睡眠期间过期的相对计时器在醒来时立即过期。
与系统时间不同,中断时间计数不受用户或 Windows 时间服务调整的约束。 应用程序可以使用中断时间计数来测量比系统时间可能更精细的持续时间。 需要比中断时间计数更高的精度的应用程序应使用 高分辨率计时器。 使用 QueryPerformanceFrequency 函数检索高分辨率计时器的频率和 QueryPerformanceCounter 函数检索计数器的值。
timeBeginPeriod 和 timeEndPeriod 函数设置的计时器分辨率会影响 QueryUnbiasedInterruptTime 函数的分辨率。 但是,不建议增加计时器分辨率,因为它可以通过阻止处理器进入节能状态来降低系统的整体性能并提高系统能耗。 相反,应用程序应使用高分辨率计时器。
注释QueryUnbiasedInterruptTime 函数在 Windows 的调试(“checked”)生成时生成不同的结果,因为中断时间计数和时钟周期计数在大约 49 天内进行高级。 这有助于识别在系统长时间运行之前可能不会发生的 bug。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 7、Windows 8 [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | realtimeapiset.h (包括 Windows.h) |
库 | Mincore.lib |
DLL | Kernel32.dll |