`
yexin218
  • 浏览: 958136 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

如何在内核中获得当前系统时间

阅读更多

在 Windows NT 内核中你是无法使用 time.h 获取当前系统时间的,这个时候你需要用到 Wdm.h(你可以 include Wdm.h, Ntddk.h, 或 Ntifs.h)里面提供的 KeQuerySystemTime() 函数。这个函数和相关头文件需要 Windows 2000, Windows Vista 或者 Windows 7 等 NT 系统。

函数原型:

VOID KeQuerySystemTime(
__out  PLARGE_INTEGER CurrentTime
);

参数:

CurrentTime [out]

这是一个指向当前系统时间的指针。

备注:

系统时间是一个以 100 纳秒为单位从 1601 年 1 月 1 日开始计算的 64 位有符号整数。以下是有关于这个 64 位的 LARGE_INTEGER 的结构:

typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG  HighPart;
} ;
struct {
DWORD LowPart;
LONG  HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
>

实际上这是一个为了防止你没有 64 位字符定义而设立的兼容性数据结构。当然如果你有 LONGLONG 定义的话,你可以直接使用里面的 QuadPart 作为你需要使用的时间。例如:

LONGLONG Timer;
LARGE_INTEGER timeUTC;
KeQuerySystemTime(&timeUTC);
Timer = timeUTC.QuadPart;

如上即可。

 

来自一位学弟的博客:http://valencyding.wordpress.com

分享到:
评论

相关推荐

    Linux系统调用(返回当前的系统时间)

    在Linux中产生一个系统调用以及怎样通过往Linux内核中增加一个新函数从而在该内核空间中实现对用户空间的读写。这个函数的功能是返回当前的系统时间。

    从汇编语言到Windows内核编程

    6.1.2 获得当前系统时问 6.1.3 使用定时器 6.2 线程与事件 6.2.1 使用系统线程 6.2.2 在线程中睡眠 6.2.3 使用同步事件 第7章 驱动、设备与请求 7.1 驱动与设备 7.1.1 驱动入口与驱动对象 7.1.2 分发函数和卸载函数 ...

    Linux内核完全注释

    本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然所选择的...

    Windows内核安全与驱动开发光盘源码

    4.3.2 获得当前系统时间 58 4.3.3 使用定时器 59 4.4 线程与事件 62 4.4.1 使用系统线程 62 4.4.2 在线程中睡眠 63 4.4.3 使用同步事件 64 第5章 应用与内核通信 67 5.1 内核方面的编程 68 5.1.1 生成控制...

    天书夜读:从汇编语言到Windows内核编程(完整版一)

     6.1.2 获得当前系统时间 69  6.1.3 使用定时器 70  6.2 线程与事件 73  6.2.1 使用系统线程 73  6.2.2 在线程中睡眠 75  6.2.3 使用同步事件 76  第7章 驱动、设备与请求 79  7.1 驱动与设备 80  7.1.1 ...

    天书夜读:从汇编语言到Windows内核编程(完整版 二)

     6.1.2 获得当前系统时间 69  6.1.3 使用定时器 70  6.2 线程与事件 73  6.2.1 使用系统线程 73  6.2.2 在线程中睡眠 75  6.2.3 使用同步事件 76  第7章 驱动、设备与请求 79  7.1 驱动与设备 80  7.1.1 ...

    影子系统破解版(防病毒)

    影子系统采用最先进的操作系统虚拟化技术生成当前操作系统的影像,它具有真实系统完全一样的功能。进入影子系统后,所有操作都是虚拟的,因此所有的病毒和流氓软件都无法侵害真正的操作系统。如果您想打造一台不需...

    Linux_内核完全注释_V11

    本书对Linux 早期操作系统内核(v0.95)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux 的工作机理获得全面而深刻的理解,为进一步学习和研究Linux 系统打下坚实的基础。虽然所选择...

    Linux 内核 0.11 完全注释 V1.9.5

    本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然所选择的...

    Linux内核完全注释3.0 最新带链接版

    本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然所选择的...

    Linux内核完全注释(0.11)

    本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然所选择的...

    小程序运营管理系统源码.zip

    ThinkPHP内核全行业小程序运营管理系统源码 自由DIY布局 一键生成小程序,内附安装说明 无需编程,各行业模版直接套用,一键生成,轻松搭建小程序 界面自由DIY,打造个性小程序 可拖拽式DIY布局,开启自定义功能新...

    天书夜谈:从汇编语言到Windows内核编程

     6.1.2 获得当前系统时间 69  6.1.3 使用定时器 70  6.2 线程与事件 73  6.2.1 使用系统线程 73  6.2.2 在线程中睡眠 75  6.2.3 使用同步事件 76  第7章 驱动、设备与请求 79  7.1 驱动与设备 80  7.1.1 ...

    Windows内核安全驱动开发(随书光盘)

    4.3.2 获得当前系统时间 58 4.3.3 使用定时器 59 4.4 线程与事件 62 4.4.1 使用系统线程 62 4.4.2 在线程中睡眠 63 4.4.3 使用同步事件 64 第5章 应用与内核通信 67 5.1 内核方面的编程 68 5.1.1 生成控制...

    Thinkphp5.1内核京东淘宝唯品会自动抢单系统源码 全开源.zip

    Thinkphp5.1内核京东淘宝唯品会自动抢单系统源码 全开源 支付后台手动 可以自己对接支付 源码介绍: 平台与天猫、淘宝、京东、唯品会等网购平台商家合作,通过智能云系统将商家订单匹配给平台用户, 籍此提高商家在...

    服务器操作系统维护.docx

    确保系统日志程序运行,记录所有网络用户访问系统的信息状况最近登录的时间、使用的帐号、进行的活动等,通过统计、分析、综合生成的报表情况,有效地掌握服务器的运行状态、发现和排除运行过程中的错误原因、了解...

    C# 计算机软硬件信息获取

    业余时间用C#写的系统和硬件信息获取工具示例~~~ 获取信息包括:CPU核心数、CPU主频、CPU型号名称、内存容量、系统内核、版本、当前使用的用户名等···

    window内核监控工具源代码

    一:SSDT表的hook检测和... 应用层钩子检测和内核模块钩子检测原理一样,不过为了能读写别的进程的空间,并没有使用openprocess去打开进程,而是通过KiattachProcess挂靠到当前进程,然后通过在r0直接读写进程空间的。

    小白一键重装系统 V12.6.48.1920

    2.优化自定义还原镜像中排序功能在获取网络映射磁盘时文件排序时间过长的问题。 3.修复XP下NT5引导菜单描述文字显示与当前执行的操作不符(例如GHOST备份操作) 4.修复程序启动起来之后没有将残留的迅雷模块进程掐掉,...

    《计算机操作系统教程》习题详解(第二版)

    而在分布式系统中,用户感觉不到所访问的资源是否在本地,分布式操作系统掩盖了资源在地理位置上的差异。 从资源共享上看 ,分布式操作系统比网络操作系统能共享更多的资源。在网络操作系统中,一个计算任务不能由一...

Global site tag (gtag.js) - Google Analytics