queryUnbiasedInterruptTime 函数 (realtimeapiset.h)

获取当前无偏差中断时间计数,单位为 100 纳秒。 无偏差中断时间计数不包括系统在睡眠或休眠中花费的时间。

语法

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

参数

UnbiasedTime

TBD

返回值

如果该函数成功,则返回值为非零值。 如果函数因使用 null 参数调用而失败,则返回值为零。

注解

当系统启动时,中断时间计数从零开始,并在每个时钟中断时按时钟计时周期的长度递增。 时钟滴答的确切长度取决于基础硬件,并且可能因系统而异。

QueryUnbiasedInterruptTime 函数检索的中断时间计数仅反映系统处于工作状态的时间。 因此,中断时间计数不会因系统处于睡眠或休眠状态的时间而“有偏差”。 系统对某些操作使用有偏差的中断时间,例如确保睡眠期间过期的相对计时器在唤醒时立即过期。

与系统时间不同,中断时间计数不受用户或 Windows 时间服务调整的约束。 应用程序可以使用中断时间计数来测量比系统时间更精细的持续时间。 需要比中断时间计数更高的精度的应用程序应使用 高分辨率计时器。 使用 QueryPerformanceFrequency 函数检索高分辨率计时器的频率,使用 QueryPerformanceCounter 函数检索计数器的值。

timeBeginPeriodtimeEndPeriod 函数设置的计时器分辨率会影响 QueryUnbiasedInterruptTime 函数的分辨率。 但是,不建议提高计时器分辨率,因为这可以通过阻止处理器进入节能状态来降低整体系统性能并增加系统功耗。 相反,应用程序应使用高分辨率计时器。

注意QueryUnbiasedInterruptTime 函数在调试 (“checked”) Windows 版本中生成不同的结果,因为中断时间计数和计时周期计数将提前大约 49 天。 这有助于识别在系统长时间运行之前可能不会发生的 bug。 经检查的版本可通过 Microsoft 开发人员网络 (MSDN) 网站向 MSDN 订阅者提供。
 
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为 0x0601 或更高版本。 有关详细信息,请参阅 使用 Windows 标头

要求

要求
最低受支持的客户端 Windows 7、Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 realtimeapiset.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

中断时间

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

系统电源状态

Windows 时间