本文为看雪论坛优秀文章
看雪论坛作者ID:三一米田
中断或者异常时
2) 判断KTHREAD.ApcState.KernelApcInProgress是否为1(当前APC是否正在执行);
3) 判断是否禁用内核APC(KTHREAD.KernelApcDisable是否为1);
4) 将当前链表的KAPC结构体从链表中摘除(我们是通过链表找到这个KAPC的);
5) 执行KAPC.KernelRoutine指定的函数,释放KAPC结构体占用的空间;
6) 将KTHREAD.ApcState.KernelApcInProgress设置为1 标识正在执行内核APC;
7) 执行真正的内核APC函数(KAPC.NormalRoutine);
8) 执行完毕,将KernelApcInProgress改为0;
9) 循环第1)步。
看雪ID:三一米田
https://bbs.pediy.com/user-881392.htm
*本文由看雪论坛 三一米田 原创,转载请注明来自看雪社区。
推荐文章++++
求分享
求点赞
求在看
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论