KeQuerySystemTimePrecise 函数 (wdm.h)

KeQuerySystemTimePrecise 例程检索当前系统时间,并且比 KeQuerySystemTime 例程更精确。

语法

void KeQuerySystemTimePrecise(
  [out] PLARGE_INTEGER CurrentTime
);

参数

[out] CurrentTime

指向LARGE_INTEGER变量的指针,例程将当前系统时间写入其中。

返回值

备注

系统时间是自 1601 年 1 月 1 日以来的 100 纳秒间隔计数。 此值是针对 GMT 时区计算的。 若要调整本地时区的此值,请调用 ExSystemTimeToLocalTime 例程。

KeQuerySystemTimePrecise 类似于 KeQuerySystemTime 例程,但更精确。 KeQuerySystemTime 报告的系统时间基于系统时钟计时器的最新时钟周期。 时钟计时器是定期为系统时钟生成中断的硬件计时器。 时钟计时器中断之间的统一时间段称为系统时钟周期,通常介于 500 微秒到 15.625 毫秒之间,具体取决于硬件平台。 KeQuerySystemTime 检索的系统时间值在系统时钟周期内准确。

为了提供比 KeQuerySystemTime 更准确的系统时间值, KeQuerySystemTimePrecise 使用系统性能计数器来测量自上次时钟计时器中断以来经过的时间,并将此时间添加到它根据时钟计时器计数计算的系统时钟时间。 KeQuerySystemTimePrecise 报告的系统时间准确到微秒内。

在某些硬件平台上, KeQuerySystemTimePrecise 调用可能比 KeQuerySystemTime 调用慢。 原因是 KeQuerySystemTimePrecise 读取性能计数器,这可能会引入额外的延迟。 有关详细信息,请参阅 KeQueryPerformanceCounter

调用 KeQueryTimeIncrement 例程来确定系统时钟周期的持续时间。

要求

要求
最低受支持的客户端 从Windows 8开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

ExSystemTimeToLocalTime

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTickCount

KeQueryTimeIncrement