续 http://hi.baidu.com/andriy_aolala/blog/item/7cff8a344b67d0a3d1a2d3d1.html

刚没事儿又看了下~mark而已啊~

1. ExpTimerDpcRoutine

R3程序调用NtCreateTimer

创建句柄对应Etimer,etimer包含一个ktimer结构,最终是通过ktimer的dpc机制实现的

Ktimer的dpc是ExpTimerDpcRoutine,Routine context是etimer,这个routine插入apc  ExpTimerApcRoutine 通知线程

这个apc是ntdll!RtlpTimerThread

ETIMER. ApcAssociated为0的话,就不用管了,timer这时候已经expire了

2. IopTimerDispatch

IoStartTimer是给驱动用的定时器

RtlZeroMemory( timer, sizeof( IO_TIMER ) );

timer->Type = IO_TYPE_TIMER;

timer->DeviceObject = DeviceObject;

DeviceObject->Timer = timer;

ExInterlockedInsertTailList( &IopTimerQueueHead,

&timer->TimerList,

&IopTimerLock );

系统使用IopTimerDispatch 这个dpc routine 集中处理这个链表,1秒一次什么的

3. ExpTimeRefreshDpcRoutine

插入routine 为ExpTimeRefreshWork的工作线程

只有nt4里面有这部分代码 systime.c,看http://www.debugman.com/thread/2752/1/1和ida吧

刷新系统时间用的

剩下的神马IopIrpStackProfilerTime CcScanDpc PopScanIdleList之类的不管了~~

ps:xuetr 0.32是显示应用层定时器的进程的,0.45怎么不显示了= =

阅读全文
类别:内核 查看评论

转载于:https://www.cnblogs.com/retme/archive/2012/02/21/2494898.html

[再mark] 系统注册的dpc,枚举定时器相关的……相关推荐

  1. 计算机xp的解释,2017职称计算机考点:Windowsxp系统注册表的技巧

    2017职称计算机考点:Windowsxp系统注册表的技巧 导语:Windowsxp系统注册表的技巧你知道是什么吗?屏蔽系统中的热键你知道要怎么操作吗?大家跟着百分网小编一起来看看相关内容吧. 1.x ...

  2. 0xc000000f 由于系统注册表文件丢失或损坏,因此Windows无法加载

    WIN7出现以下情况,是thinkpad x61笔记本.Windows未能启动.原因可能是最近更改了硬件或软件,解决此问题的步骤: 1:插入Windows安装光盘并从新启动计算机. 2:选择语言设置, ...

  3. 注册表使用次数修改_如何使用系统注册表编辑器来优化电脑系统

    大家好,我是波仔,又见面了,非常感谢各位朋友又来和我一起分享与探讨,今天我们来分享一下如何使用注册表编辑器来优化我们的电脑系统,让我们的电脑运行的更快更流畅. 使用注册表编辑器来优化电脑系统 注册表编 ...

  4. 电脑重装系统注册表恢复方法

    今天讲关于大家的电脑在遇到一些故障的时候,以及电脑用久了之后会卡顿,那么这时候大家一般都会给电脑重装系统.重装系统之后却发现自己电脑里的注册表不见了,重装系统后怎么恢复注册表?小编就带着大家一起学习重 ...

  5. Android应用程序访问linux驱动第三步:实现并向系统注册Service

    在学习Android应用程序访问linux驱动时,原博主在第一.二步写得具体详细,但我学到第三步实现并向系统注册Service时,发觉内迷惑和发现几处错误,这里我将我的理解和修改记录下来和大家分享.希 ...

  6. win7系统注册表开机启动项如何打开?

    在运行窗口输入MSConfig命令不仅可以打开开机启动项,也能使用第三方工具.注册表查看开机启动项,注册表看到的启动项比较准确.而且使用注册表编辑开机启动项以更好的杜绝病毒自启动.一些win7的用户反 ...

  7. 计算机启动项在什么地方找,W7系统注册表开机启动项在哪里

    开机启动项除了可以使用MSConfig命令打开以外,也能使用第三方工具.注册表查看开机启动项,因为数值的存在,注册表看到的启动项比较准确.为了个人信息安全,使用注册表编辑开机启动项以更好的杜绝病毒自启 ...

  8. Windows XP系统注册表详解

    注册表基础: ********系统文件夹:********* 名称 路径 含义 AppData C:/Windows/Application Data 应用程序 Cache C:/Windows/Te ...

  9. 加上2T硬盘再装系统遇到问题

    我已经学会了在普通硬盘上安装CentOS5.6和CentOS6.0系统,但是现在要求加上一个2T的硬盘,据说再安装系统的时候会出现一些问题.到底会是什么问题呢? 又询问了一下老师,终于明白了问题本身, ...

最新文章

  1. 2410Init.s
  2. 安义县农业结构调整-农业大健康·林裕豪:从玉农业谋定基地
  3. Tornado使用mako 模板总结
  4. “西邮漫记”--自由照耀中国
  5. Django模板(编写html代码
  6. 转:javascript方法--bind()
  7. Map与WeakMap
  8. 66元机票盲盒,去哪随机、日期随机:要不起!
  9. Python URL编码
  10. 在VC中使用SendInput函数实现中文的自动输入
  11. 20200715每日一句
  12. Java编程练习题1
  13. filenet安装前置工作-总结安装一天的成果
  14. 【易我数据恢复】超实用的数据恢复工具
  15. python里的平方_python中的平方
  16. Mac多Python版本共存,多个独立Python开发环境切换。
  17. ios应用音频与来电铃声冲突问题
  18. 【UE5】AI随机漫游蓝图两种实现方法(角色蓝图、行为树)
  19. github windows系统监控_谷歌发布Flutter Alpha:支持Windows
  20. 前端微信二维码不显示

热门文章

  1. php什么集成框架比较好,php哪个框架比较好?
  2. Uber和Non-Uber模式介绍
  3. scala基础之对象
  4. java冒泡法程序,Java基础之冒泡法的实现
  5. (7)FPGA面试技能提升篇(SD card)
  6. (8)UART发送verilog与Systemverilog编码
  7. 用java编写一个课表串口,安卓课程表源代码
  8. 1006.c++中结构体赋值碰到的bug
  9. QGIS2.18二次开发环境搭建--番外篇
  10. python列表元组_Python列表元组操作