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) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |