QueryUnbiasedInterruptTime 函数(realtimeapiset.h)

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

语法

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

参数

UnbiasedTime

待定

返回值

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

言论

当系统启动时,中断时间计数从零开始,并在每个时钟中断时按时钟周期的长度递增。 时钟计时周期的确切长度取决于基础硬件,在系统之间可能有所不同。

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

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

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

注释QueryUnbiasedInterruptTime 函数在 Windows 的调试(“checked”)生成时生成不同的结果,因为中断时间计数和时钟周期计数在大约 49 天内进行高级。 这有助于识别在系统长时间运行之前可能不会发生的 bug。
 
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为0x0601或更高版本。 有关详细信息,请参阅 使用 Windows 标头

要求

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

另请参阅

中断时间

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

系统电源状态

Windows 时间