NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObj, IN PUNICODE_STRING pRegistryString)
{
NTSTATUS status = STATUS_SUCCESS;
LARGE_INTEGER Time = { 0 };
LARGE_INTEGER SystemTime = { 0 };
TIME_FIELDS CurrentTimeInfo = { 0 };
pDriverObj->DriverUnload = DriverUnload;
DbgBreakPoint();
//得到当前系统时间
LARGE_INTEGER current_system_time = { 0 };
KeQuerySystemTime(¤t_system_time);
//从系统事件转换称当地时区时间
LARGE_INTEGER current_local_time = { 0 };
ExSystemTimeToLocalTime(¤t_system_time, ¤t_local_time);
//由当地时区时间得到年月日信息
TIME_FIELDS current_time_info;
RtlTimeToTimeFields(¤t_local_time, ¤t_time_info);
//显示时间信息
DbgPrint("当前年:%d\n", current_time_info.Year);
DbgPrint("当前月:%d\n", current_time_info.Month);
DbgPrint("当前日:%d\n", current_time_info.Day);
DbgPrint("当前时刻:%d\n", current_time_info.Hour);
DbgPrint("当前分钟:%d\n", current_time_info.Minute);
DbgPrint("当前秒;%d\n", current_time_info.Second);
DbgPrint("当前毫秒%d\n", current_time_info.Milliseconds);
DbgPrint("当前星期%d\n", current_time_info.Weekday);
return;
/
HalQueryRealTimeClock(&CurrentTimeInfo);
CurrentTimeInfo.Hour += 1;
RtlTimeFieldsToTime(&CurrentTimeInfo, &Time);
ExLocalTimeToSystemTime(&Time,&SystemTime);
status = ZwSetSystemTime(&SystemTime, NULL);
//HalSetRealTimeClock(&CurrentTimeInfo);
/
//
KeQuerySystemTime(&Time);
RtlTimeToTimeFields(&Time, &CurrentTimeInfo);
CurrentTimeInfo.Hour += 1;
RtlTimeFieldsToTime(&CurrentTimeInfo, &Time);
status = ZwSetSystemTime(&Time, NULL);
//
return STATUS_SUCCESS;
}
时间相关
最新推荐文章于 2022-05-14 15:09:44 发布