本书由浅入深、循序渐进地介绍了Windows驱动程序的开发方法与调试技巧。本书共分23章,内容涵盖了Windows操作系统的基本原理、NT驱动程序与WDM驱动程序的构造、驱动程序中的同步异步处理方法、驱动程序中即插即用功能、驱动程序的各种调试技巧等。同时,还针对流行的PCI驱动程序、USB驱动程序、虚拟串口驱动程序、摄像头驱动程序、SDIO驱动程序进行了详细的介绍,本书最大的特色在于每一节的例子都是经过精挑细选的,具有很强的针对性。力求让读者通过亲自动手实验,掌握各类Windows驱动程序的开发技巧,学习尽可能多的Windows底层知识。本书适用于中、高级系统程序员,同时也可用做高校计算机专业操作系统实验课的补充教材。 [目录] 第1篇 入门篇 第1章 从两个 最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,1一个是NT式的驱动程序,1另一个是WDM式的驱动程序.a这两个驱动程序没有操作具体的硬件设备,1只是在系统里创建了虚拟设备.a在随后的章节中,1它们会作为基本驱动程序框架,1被本书其他章节的驱动程序开发所复用.a笔者将带领读者编写代码.c编译.c安装和调试程序.a   1.1 DDK的安装   1.2 第一个驱动程序HelloDDK的代码分析    1.2.1 HelloDDK的头文件    1.2.2 HelloDDK的入口函数    1.2.3 创建设备例程    1.2.4 卸载驱动例程    1.2.5 默认派遣例程   1.3 HelloDDK的编译和安装    1.3.1 用DDK环境编译HelloDDK    1.3.2 用VC集成开发环境编译HelloDDK    1.3.3 HelloDDK的安装   1.4 第二个驱动程序HelloWDM的代码分析    1.4.1 HelloWDM的头文件    1.4.2 HelloWDM的入口函数    1.4.3 HelloWDM的AddDevice例程    1.4.4 HelloWDM处理PNP的回调函数    1.4.5 HelloWDM对PNP的默认处理    1.4.6 HelloWDM对IRP_MN_REMOVE_DEVICE的处理 …… 最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,1一个是NT式的驱动程序,1另一个是WDM式的驱动程序.a这两个驱动程序没有操作具体的硬件设备,1只是在系统里创建了虚拟设备.a在随后的章节中,1它们会作为基本驱动程序框架,1被本书其他章节的驱动程序开发所复用.a笔者将带领读者编写代码.c编译.c安装和调试程序.a   1.1 DDK的安装   1.2 第一个驱动程序HelloDDK的代码分析    1.2.1 HelloDDK的头文件    1.2.2 HelloDDK的入口函数    1.2.3 创建设备例程    1.2.4 卸载驱动例程    1.2.5 默认派遣例程   1.3 HelloDDK的编译和安装    1.3.1 用DDK环境编译HelloDDK    1.3.2 用VC集成开发环境编译HelloDDK    1.3.3 HelloDDK的安装   1.4 第二个驱动程序HelloWDM的代码分析    1.4.1 HelloWDM的头文件    1.4.2 HelloWDM的入口函数    1.4.3 HelloWDM的AddDevice例程    1.4.4 HelloWDM处理PNP的回调函数    1.4.5 HelloWDM对PNP的默认处理    1.4.6 HelloWDM对IRP_MN_REMOVE_DEVICE的处理 ……