‘壹’ Windows驱动开发技术详解的介绍
《Windows驱动开发技术详解》是2008年电子咐孙工业出版社出版的图书,作者是张帆、史彩成。该书由浅入深、循序渐进地介绍了Windows驱动程序的开发方法与调试技巧。本书最大的特色在于每一节的例子都是经过精挑细选的,具有很强的针对悉简滚性。力求让读者通过亲自动手实验,掌握各类Windows驱动程序的开发技巧,学习尽可能多的Windows底层知识。本书适用于中、高级系统程序员,同时也可用做高校计算机专业操作睁余系统实验课的补充教材。
‘贰’ VC驱动编程
推荐几本
《天书夜读-从汇编语言到windows内核编程》
《寒江独钓-windows内核安全编程》
《Windows驱动开发技术详解》
网上都有pdf版本的,你可以到verycd上或者其他地方搜索的到下载地址
‘叁’ windows驱动开发技术详解 并口设备操作
有两个方案:
1)手工编写INF文件,这个文件是纯文本的告轿,《windows驱动开发技术详解》书里有介绍该文件的写法的差仔。
2)使用DriverStudio重新编译工程袜庆肆,会自动生成驱动描述文件。
‘肆’ Windows驱动开发技术详解的图书目录
第1篇 入门篇
第1章 从两个最简单的驱动谈起
本章向读者呈现两个最简单的Windows驱动程序,一个是NT式的驱动程序,另一个是WDM式的驱动程序。这两个驱动程序没有操作具体的硬件设备,只是在系统里创建了虚拟设备。在随后的章节中,它们会作为基本驱动程序框架,被本书其他章节的驱动程序开发所复用。笔者将带领读者编写代码、编译、安装和调试程序。
第2章 Windows操作驱动的基本概念
驱动程序被操作系统加载在内核模式下,它与Windows操作系统内核的其他组件进行密切交互。本章主要介绍Windows操作系统内核的基本概念,同时还介绍应用程序和驱动程序之间的通信方法。
第3章 Windows驱动编译环境配置、安装及调试
本章将带领读者一步步对驱动程序进行编译誉敬族、安装和简单的调试工作。这些步骤虽然简单,但往往困惑着初次接触驱动程序的开发者。
第4章 驱动程序的基本结构
本章首先对Windows驱动程序的两个重要数据结构进行介绍,分庆弊别是驱动对象和设备对象数据结构。另外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。
第5章 Windows内存管理
本章围绕着驱动程序中的内存操作进行了介绍。在驱动程序开发中,首先要注意分页内存和非分页内存的使用。同时,还需要区分物理内存地址和虚拟内存地址这两个概念。
第6章 Windows内核函数
本章介绍了Windows内核模式下的一些常用内核函数,这些函数在驱动程序的开发中将会经常用到。
第7章 派遣函数
本章重点介绍了驱动程序中的处理IRP请求的派遣函数。所有对设备的操作最终将转化为IRP请求,这些IRP请求会被传送到派遣函数处理。
第2篇 进阶篇
第8章 驱动程序的同步处理
本章介绍了驱动程序中常用的同步处理办法,并且将内核模式下的同步处理方法和用户模式下的同步处理方法做了比较。另外,本章还介绍了中断请求级、自旋锁等同步处理机制。
第9章 IRP的同步
本章详细地介绍了IRP的同步处理方法和异步处理方法。另外,本章还介绍了StartIO例程、中断服务例程、DPC服务例程。
第10章 定时器
本章总结了在内核模式下的四种等待方法,读者可以利用这些方法灵活地用在自己的驱动程序中。最后本章还介绍了如何对IRP的超时情况进行处理。
第11章 驱动程序调用驱动程序
本章主要介绍了如何在驱动程序中调用其他驱动程序。比较简单的方法是将被调用的驱动程序以文件的方式操作。比较高级的方法是构造各种IRP,并将这些IRP传送到被调用的驱动程序中。
第12章 分层驱动程序
本章主要介绍了分层驱动的概念。分层驱动可以将功能复杂的驱动程序分解为多个功能简单的驱动程序。多个分层的驱动程序形成一个设备堆栈,IRP请求首先发送到设备堆栈的顶层,然后依次穿越每层的设备堆栈,最终完成IRP请求。
第13章 让设备实现即插即用
本章首先介绍即插即用的概念和驱动程序支持即插即用功能的必要性。另外,本章还介绍如何利用WDM驱动程序开发框架设计支持即插即用功能的驱动程序。
第14章 电源管理
本章主要介绍了如何在WDM驱动程序中进行电源处理。电源处理主要是处理好电源状态和设备状态。
第3篇 实用篇
第15章 I/O端口操作
本章总结了多种I/O端口操作的方法。这些方法本质上是一样的,都是将端口输入输出的汇编指令运行在内核模式中。
第16章 PCI设备驱动
本章主要介绍PCI设备的驱动开发。首先介绍了PCI总线协议。作为驱动程序员,开发PCI驱动程序首先要了解PCI配置空间。根据读取PCI配置空间,可以得到PCI设备的所有资源。另外,本章还总结了四种获稿森取PCI配置空间的方法。
第17章 USB设备驱动
本章首先介绍了USB总线协议的基本框架,其中包括USB总线的拓扑结构,USB通信的流程,还有USB的四种传输模式。另外,本章介绍了如何编写USB总线设备的驱动程序。
第18章 SDIO设备驱动
本章首先介绍了SDIO协议,讲述了SD内存卡和SDIO卡的兼容问题。然后介绍了SDIO协议中的发送命令、回应命令、传送数据等相关协议。随后,本章又介绍了Windows中,DDK提供的对SDIO卡设备的支持。然后介绍了如何利用总线驱动,使SDIO设备初始化,接收中断,发送和接收数据等操作。
第19章 虚拟串口设备驱动
本章介绍了串口开发的框架模型,在串口的AddDevice例程中需要暴露出一个串口的符号连接,另外在相应的注册表中需要进行设置。在串口与应用程序的通信中,主要是一组DDK定义的IO控制码,这些IO控制码负责由应用程序向驱动发出请求。
第20章 摄像头设备驱动程序
本章主要介绍了微软提供的摄像头驱动框架。在该框架中,微软提供了类驱动和小驱动的概念。对于驱动程序员的任务就是编写小驱动程序。
第4篇 提高篇
第21章 再论IRP
本章将相关IRP的操作做了进一步的总结。首先是转发IRP,归纳了几种不同的方式。其次总结了创建IRP的几种不同方法。创建IRP总的来说分为创建同步IRP和创建异步IRP。对于创建同步IRP,操作比较简单,I/O管理器会负责回收IRP的相关内存,但是使用不够灵活。对于创建异步IRP,操作比较复杂,程序员需要自己负责对IRP及相关内存回收,但使用十分灵活。
第22章 过滤驱动程序
本章主要介绍WDM和NT式过滤驱动程序开发。过滤驱动程序开发十分灵活,可以修改已有驱动程序的功能,也可以对数据进行过滤加密。另外,利用过滤驱动程序还能编写出很多具有相当功能强大的程序来。
第23章 高级调试技巧
本章将介绍一些Windows开发驱动的高级调试技巧。有一些高级驱动程序调试技巧,可以帮助程序员找出驱动程序中的Bug。另外,利用一些第三方工具软件,也可以帮助程序员找到驱动程序中的漏洞,从而提高开发效率。
‘伍’ 如何入门windows驱动开发领域.pdf
第一步,你是大学生吗?去硬件公司应聘
‘陆’ Windows驱动开发技术详解的编辑推荐
原创经典,威盛一线工程师倾力打造。深入驱动核心,剖析操作系统底层运行机制,明轮通过实例引导,快速学——中国工程院院士
院士推荐激汪信
目前,电子系统设计广泛采用通用操作系统,达到降低系统的设计难度和缩短研发周期。实现操作系统与硬件快速信息交换是电子系统设计的关键。
通用操作系统硬件驱动程序的开发,编写者不仅需要精通硬陵答件设备、计算机总线,而且需要Windows操作系统知识以及调试技巧。学习和掌握Windows硬件驱动程序的开发是电子系统设计人员必备的能力。
本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,并且介绍了编程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义,是一本值得推荐的专着。