驱动中获得系统时间(转)
2007年09月06日 星期四 9:58
1. KeQuerySystemTime() 获得当前的 GMT System Time. 这是一个从 1601-01-01 以来的计数(单位是 100ns)
2. ExSystemTimeToLocalTime() 将 GMT System Time 值转换成当前时区的 Local System Time.
3. RtlTimeToTimeFields() 将 System Time 值转换成“年:月:日:时:分:秒”形式,保存在一个 TIME_FIELDS 结构中。
typedef struct TIME_FIELDS
{
CSHORT Year;
CSHORT Month;
CSHORT Day;
CSHORT Hour;
CSHORT Minute;
CSHORT Second;
CSHORT Milliseconds;
CSHORT Weekday;
} TIME_FIELDS;
下面是一段示例代码:
LARGE_INTEGER SysTime, LocalTime;
TIME_FIELDS TimeFields;
KeQuerySystemTime(&SysTime);
ExSystemTimeToLocalTime(&SysTime, &LocalTime);
RtlTimeToTimeFields(&LocalTime, &TimeFields);
DbgPrint("SystemTime: %d-%d-%d, %d:%d:%d\n",
TimeFields.Year, TimeFields.Month, TimeFields.Day,
TimeFields.Hour, TimeFields.Minute, TimeFields.Second
);
驱动中获得系统时间(转)
最新推荐文章于 2022-08-20 09:58:25 发布