分类 Windows内核编程 下的文章

《Windows内核编程》(Windows Kernel Programming - Pavel Yosifovich)的学习笔记主要内容参考本书中英文版本。

Windows内核机制

理解内核机制有助于我们调试以及从整体上理解系统的运作6.1 中断请求级别(IRQL)当要处理的线程多于可用处理器的数量时,就会考虑到线程的优先级。同时硬件设备需要去通知系统来进行进程调度。比如:由磁盘驱动器执行的I/O操作,操作完成后磁盘驱动器会通过请求...

双机调试配置

标题所指的调试为利用WinDbg(Preview)对驱动/内核进行调试,书中介绍了本地内核调试和双机内核调试两种情况,本文主要侧重介绍双机内核调试,本地内核调试只会简单带过。5.1 本地内核调试(LKD)本地内核调试和双机内核调试的主要区别在于本地内核调...

驱动程序:从头到尾

4.1 简介在应用层利用SetThreadPriority等API设置线程优先级是受到进程优先级限制的,所以本节就计划通过编写一个驱动程序和应用程序相结合突破这种限制。本节代码放在了Github上访问此链接4.2 驱动程序初始化先按照上一节的介绍来了解一...

内核编程基础

3.1. 内核编程一般准则用户编程和内核编程之间的差别3.1.1 未处理的异常在用户模式下如果程序出现未处理的异常,整个程序会直接中止;在内核模式下出现未处理的异常,会造成系统奔溃,出现BSOD(蓝屏)。所以内核代码得非常小心,编译时绝对不能跳过任何细节...

开始内核开发

2.1. 开发环境我们使用VS2019 + WDK进行驱动开发,他们可以在Visual Studio Installer中进行安装2.2. 第一个驱动项目安装完之后VS2019中选择WDM Empty Driver 模板。项目创建完成后有一个Sample...