QueryInterruptTime 函数 (realtimeapiset.h)

获取当前的中断时间计数。 若要获得更精确的计数,请使用 QueryInterruptTimePrecise

语法

void QueryInterruptTime(
  [out] PULONGLONG lpInterruptTime
);

参数

[out] lpInterruptTime

指向 ULONGLONG 的指针,用于接收系统时间单位为 100 纳秒的中断时间计数。 除以 1000 万(即 1e7)以获得秒(每秒有 1e9 纳秒,因此每秒有 1e7 100 纳秒)。

返回值

没有

言论

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

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

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

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

要求

要求 价值
最低支持的客户端 Windows 10 [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2016 [桌面应用 |UWP 应用]
目标平台 窗户
标头 realtimeapiset.h
Mincore.lib
DLL Kernel32.dll

另请参阅

中断时间

QueryInterruptTimePrecise

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

系统电源状态

Windows 时间