我们通常对时间的理解包括了,年,月,日,时,分,秒 这些元素。当然,我们在做驱动开发,不能使用类似CTime 之类的函数。我们要是用与之对应的TIME_FIELDS,这个结构体中含有对应的时间要素。
给自己科普下,看看这个结构体:
ypedef struct _TIME_FIELDS
{
SHORT Year;
SHORT Month;
SHORT Day;
SHORT Hour;
SHORT Minute;
SHORT Second;
SHORT Milliseconds;
SHORT Weekday;
} TIME_FIELDS, *PTIME_FIELDS; ----------------------------接着说---------------------------------
我们使用函数KeQuerySystemTime() 获得系统当前时间。但是得到的并不是当地时间,还是,先看看函数原型:
VOID KeQuerySystemTime(
_Out_ PLARGE_INTEGER CurrentTime
); 这个函数得到的是一个
格林威治时间。我们可以调用函数
ExSystemTimeToLocalTimne()转换成当地时间。再 看看这个
ExSystemTimeToLocalTimne()
函数的原型:

本文介绍了如何在Windows内核编程中使用TIME_FIELDS结构体和KeQuerySystemTime()函数来获取系统时间,强调该函数返回的是系统时间而非本地时间,并提供了演示代码展示如何获取年、月、日、时、分、秒。

1178

被折叠的 条评论
为什么被折叠?



