获取本地时间

  1. #include <ntddk.h>
  2. #include <ntstrsafe.h>
  3. VOID UnloadDriver(PDRIVER_OBJECT pDriver)
  4. {
  5. DbgPrint("卸载成功\n");
  6. }
  7. NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pRegPath)
  8. {
  9. //创建两个格林威治时间变量
  10. LARGE_INTEGER stime, ltime;
  11. //定义人为可读懂时间对象
  12. TIME_FIELDS retime;
  13. //定义宽字符串来存年月日等信息
  14. WCHAR time_str[32] = { 0 };
  15. //查询系统时间
  16. KeQuerySystemTime(&stime);
  17. //系统时间转本地时间
  18. ExSystemTimeToLocalTime(&stime, &ltime);
  19. //把本地时间转为时间对象
  20. RtlTimeToTimeFields(&ltime, &retime);
  21. //按照一定格式把时间对象的值转换到宽字符数组中
  22. RtlStringCchPrintfW(time_str, 32, L"%4d-%2d-%2d %2d-%2d-%2d", retime.Year, retime.Month, retime.Day, retime.Hour, retime.Minute, retime.Second);
  23. DbgPrint("当前时间:%ws", time_str);
  24. pDriver->DriverUnload = UnloadDriver;
  25. }