《Windows环境下的设备驱动程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张惠娟等编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2002
  • ISBN:7560611273
  • 页数:348 页
图书介绍:本书讲述了Windows系统下设备驱动程序的开发方法。全书分为三部分,共10章。第一部分主要介绍了VxD驱动程序,以及利用VToolsD开发VxD程序的方法;第二部分和第三部分分别介绍了WindowsNT和Windows2000下的设备驱动程序基础知识,以及利用DriverWorks开发NT式和WDM驱动程序的方法。本书系统介绍了在不同的操作系统下设备驱动程序开发的方法,内容实用,是一本很好的学习设备驱动程序设计的书籍。本书适合于任何想学习Windows系统下设备驱动程序开发的人员,尤其适合于初步涉及设部区动程序开发的人员。

第一部分 虚拟设备驱动程序VxD 2

第一章 Windows 9x操作系统体系结构 2

1.1 Intel CPU的工作模式 2

1.1.1 实模式 2

1.1.2 保护模式 2

1.1.3 虚拟86模式(V86模式) 6

1.2 Windows 9x操作系统 6

1.2.1 虚拟机(VM) 7

1.2.2 虚拟机管理器(VMM) 8

1.2.3 虚拟设备驱动程序VxD 9

1.2.4 Windows 9x系统的基本构架 9

1.2.5 存管理技术 10

1.3 设备驱动程序基本知识 13

1.3.1 基本概念 13

1.3.2 动态链接库(DLL)简介 14

1.3.3 设备驱动程序类型 17

2.1.2 分类 19

2.1.1 VxD程序能完成的任务 19

2.1 VxD概述 19

第二章 VxD设备驱动程序 19

2.1.3 开发方法 20

2.2 VxD程序基本结构 21

2.2.1 VxD文件格式 21

2.2.2 VxD程序结构 22

2.3 消息机制 26

2.3.1 系统初始化类 26

2.3.2 系统终止类 26

2.3.5 VM状态类 27

2.3.3 VM初始化类 27

2.3.4 VM终止类 27

2.3.6 动态加载卸载消息 28

2.3.7 VxD的加载、初始化和结束过程 28

2.4 服务机制 31

2.4.1 定义服务 31

2.4.2 服务表声明 32

2.5 调用机制 33

2.4.4 调用VxD服务 33

2.4.3 引入服务 33

2.6 通信机制 35

2.6.1 Windows 32应用程序到VxD程序通信 35

2.6.2 VxD到应用程序的通信机制 35

2.7 编写过程 36

第三章 开发工具介绍 38

3.1 概述 38

3.1.1 源码辅助生成工具 38

3.2.1 VToolsD框架介绍 40

3.1.2 调试工具 40

3.2 VToolsD介绍 40

3.2.2 Quick VxD 41

3.2.3 VxD程序建立和调试 47

3.3 VxD类库介绍 51

3.3.1 框架类 51

3.3.2 事件处理类 55

3.3.3 其它类 76

4.1 VxD程序基本框架程序 78

第四章 VxD程序实例介绍 78

4.2 应用程序事件类程序 79

4.3 热键类驱动程序 82

4.4 中断设备驱动程序 84

4.5 延时类驱动程序 92

第二部分 Windows NT驱动程序 96

第五章 Windows NT系统及其驱动程序 96

5.1 Windows NT操作系统概述 96

5.1.1 操作系统的特点 96

5.1.2 操作系统的用户模式 97

5.1.3 内核模式的I/O组件 99

5.2 Windows NT下驱动程序 102

5.2.1 NT下驱动程序分类 102

5.2.2 核心设备驱动程序通信和结构模型 103

5.2.3 驱动程序中的对象 107

5.2.4 I/O缓冲策略 109

5.2.5 NT和Windows 32的设备名 111

5.3 NT驱动程序开发 111

6.1.1 DriverWorks特点 113

第六章 用DriverWorks开发NT驱动程序 113

6.1 DriverWorks介绍 113

6.1.2 DriverWorks使用方法 114

6.2 DriverWorks中的对象模型 117

6.2.1 驱动程序对象(Driver Object) 117

6.2.2 区域映射对象(Image Section) 118

6.2.3 I/O请求对象(I/O Request Object) 119

6.2.4 设备对象(Device Object) 120

6.2.5 底层设备对象(Lower Device Object) 120

6.2.6 驱动程序初始化中使用到的对象 121

6.2.7 序列和序列化请求对象 122

6.2.8 中断请求级别(IRQL) 123

6.2.9 控制硬件的对象 124

6.2.10 同步对象 128

6.2.11 容器对象和一些其它对象 129

6.3 开发方法 130

6.3.1 驱动程序工作思路 130

6.3.2 写驱动程序时注意事项 132

6.4.1 访问PCI设备的配置空间 135

6.4 常用设备驱动程序编写 135

6.4.2 建立有事件标志的驱动程序 138

6.4.3 支持USB设备的驱动程序 140

6.4.4 产生系统线程的驱动程序 140

6.4.5 允许取消I/O请求的驱动程序 141

6.4.6 设备过滤驱动程序 143

6.4.7 实现中断控制的驱动程序 145

6.4.8 应用程序接口 147

6.4.9 能进行页面管理的驱动程序 148

6.4.10 映射外围地址到系统地址空间的驱动程序 149

6.4.11 映射外围地址到用户地址空间的驱动程序 150

6.4.12 映射系统缓冲区到用户地址空间的驱动程序 151

6.4.13 DMA传输 152

6.4.14 从核心模式驱动程序中读写文件 153

6.4.15 读写I/O寄存器的驱动程序 154

6.4.16 在驱动程序中读注册表信息 155

6.4.17 请求资源分配的驱动程序 157

6.4.18 向应用程序发送信息的驱动程序 158

7.1 NT设备驱动程序基本框架 161

第七章 NT驱动程序实例介绍 161

7.2 PCI设备驱动程序 164

7.3 系统地址和I/O地址空间映射的设备驱动程序 177

7.4 中断设备驱动程序 185

7.5 操作I/O端口的设备驱动程序 196

7.6 串口设备过滤驱动程序 209

7.7 DMA设备驱动程序 228

第三部分 Windows 2000驱动程序WDM 253

第八章 WDM驱动程序概述 253

8.1 WDM驱动程序特点 253

8.2 WDM驱动程序结构模型 256

8.2.1 设备驱动程序栈结构 256

8.2.2 标准总线驱动程序和类驱动程序 257

8.2.3 WDM驱动程序组成 258

9.1 WDM驱动程序和DriverWorks 259

9.1.1 WDM驱动程序开发原则与方法 259

第九章 WDM驱动程序开发 259

9.1.2 DriverWorks为支持WDM程序提供的类和库 260

9.2 DriverWorks提供的支持WDM类 261

9.2.1 类KPnPDevice 261

9.2.2 类KPnPLowerDevice 278

9.2.3 类KVxDInterface 279

9.2.4 设备接口 281

9.2.5 电源管理 282

9.2.6 支持WMI的驱动程序 284

9.2.7 支持HID的类 289

9.2.8 USB设备驱动程序 293

9.2.9 流驱动程序 296

9.3 WDM建立编译安装链接调试 299

第十章 WDM设备驱动程序实例 301

10.1 基本WDM驱动程序框架 301

10.2 USB设备驱动程序 313

10.3 即插即用的PCI设备驱动程序 324

10.4 HID设备驱动程序 333

参考文献 348