《Windows设备驱动程序WDF开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:武安河编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121084393
  • 页数:354 页
图书介绍:Windows最新的WDF驱动程序框架,包括KMDF和UMDF,KMDF是WDM的继续。本书主要介绍KMDF设备驱动程序的原理及编程方法;详细介绍KMDF对象及程序基本框架,KMDF和应用程序之间的通信、即插即用和电源管理的编程技术,过滤器驱动程序,KMDF访问硬件设备、处理硬件中断、实现DMA操作的编程技术,以及USB接口和PCI接口设备驱动程序KMDF的开发。还对UMDF设备驱动程序作了编程入门介绍。本书附有13个典型的编程实例,便于读者学习和掌握。

第1章 Windows 2000和WDM驱动程序 1

1.1 Windows 2000组件概述 1

1.2 Windows 2000中的驱动程序种类 3

1.3 WDM驱动程序特点 4

1.3.1 内核模式驱动程序的设计目标 4

1.3.2 WDM驱动程序模型 7

1.3.3 设备和驱动程序的层次结构 8

1.3.4 中断级别IRQL 9

1.3.5 设备接口 10

第2章 KMDF驱动程序框架 12

2.1 KMDF对象 12

2.1.1 对象概念 12

2.1.2 基本对象 17

2.2 KMDF程序结构 18

2.2.1 DriverEntry例程 19

2.2.2 EvtDriverDeviceAdd例程 22

2.2.3 I/O处理例程 25

2.2.4 即插即用和电源管理例程 30

2.3 CharSample实例 30

第3章 基本对象 32

3.1 WDFREQUEST对象 32

3.1.1 WDFREQUEST对象函数 32

3.1.2 I/O请求基本操作 38

3.2 WDFQUEUE对象 44

3.2.1 WDFQUEUE对象函数 46

3.2.2 队列编程 48

3.3 WDFTIMER对象 50

3.4 WDFDPC对象 52

3.5 WDFWORKITEM对象 53

3.6 WDFMEMORY对象 55

3.7 数据同步访问 56

3.7.1 WDFSPINLOCK对象 57

3.7.2 WDFWAITLOCK对象 58

3.8 字符串操作 58

3.8.1 字符串格式 58

3.8.2 WDFSTRING对象 59

3.8.3 串处理函数 60

3.9 QueueSample实例 61

第4章 KMDF驱动程序编程入门 70

4.1 建立KMDF编程环境 70

4.2 创建KMDF驱动程序 71

4.3 生成KMDF驱动程序 72

4.4 安装KMDF驱动程序 73

4.5 RegSample实例 78

4.5.1 RegSample驱动程序 78

4.5.2 Win32 Console应用程序 92

4.5.3 MFC应用程序 98

4.6 调试说明 103

第5章 KMDF驱动程序和应用程序之间的通信 104

5.1 应用程序对驱动程序的通信 104

5.1.1 打开设备 105

5.1.2 关闭设备 106

5.1.3 DeviceIoControl函数调用 106

5.1.4 ReadFile和WriteFile函数调用 111

5.1.5 IOSample实例 112

5.2 驱动程序对应用程序的通信 116

5.2.1 DeviceIoControl异步完成 116

5.2.2 WIN32事件通知 117

5.3 驱动程序对应用程序通信实例 119

5.3.1 异步完成实例CancelSample 120

5.3.2 事件通知实例EventSample 130

第6章 即插即用例程 145

6.1 即插即用简介 145

6.1.1 PnP组件 145

6.1.2 即插即用例程 146

6.1.3 例程的加载和卸载顺序 150

6.2 PnpPowerSample实例 152

第7章 电源管理 160

7.1 电源管理简介 160

7.1.1 系统电源状态与设备电源状态 160

7.1.2 电源管理控制标志位 162

7.1.3 设备的唤醒特征和空闲检测 163

7.2 电源管理编程 163

7.2.1 电源管理基本例程 164

7.2.2 设备唤醒 164

7.2.3 空闲检测 166

7.3 IdleSample实例 168

第8章 KMDF过滤器驱动程序 174

8.1 KMDF过滤器驱动程序的编程 175

8.2 KMDF过滤器驱动程序安装 176

8.3 FilterSample实例 177

第9章 USB设备开发 188

9.1 USB接口概述 188

9.1.1 USB设备的配置、接口和端点 189

9.1.2 USB数据的传输方式 192

9.1.3 USB描述符 199

9.1.4 标准设备请求 207

9.2 USB编程对象 210

9.2.1 WDFUSBDEVICE对象 210

9.2.2 WDFUSBINTERFACE对象 215

9.2.3 WDFUSBPIPE对象 218

9.3 USB编程 222

9.3.1 激活配置与中止配置 222

9.3.2 同步操作 224

9.3.3 异步操作 225

9.4 USBSample实例 227

第10章 PCI设备驱动程序开发 244

10.1 硬件访问 245

10.1.1 I/O访问 245

10.1.2 存储器访问 248

10.1.3 硬件访问编程 251

10.2 中断处理 254

10.2.1 WDFINTERRUPT对象 254

10.2.2 中断处理编程 257

10.3 DMA传输 258

10.3.1 DMA编程对象 258

10.3.2 DMA传输编程 267

10.4 PCISample实例 268

10.5 DMASample实例 279

第11章 UMDF驱动程序编程入门 297

11.1 UMDF编程环境 297

11.2 创建UMDF驱动程序 297

11.3 生成UMDF驱动程序 299

11.4 安装UMDF驱动程序 299

11.5 UMDFSample实例 302

11.5.1 驱动程序 302

11.5.2 Win32 Console应用程序 339

第12章 WinDbg使用介绍 340

12.1 用WinDbg调试KMDF 340

12.1.1 目标机的设置 341

12.1.2 主控机的路径设置 343

12.1.3 建立连接 343

12.1.4 加载符号文件 344

12.1.5 设置断点 345

12.1.6 断点执行 346

12.1.7 下载符号包 347

12.2 用WinDbg调试UMDF 348

12.2.1 路径设置 348

12.2.2 链接进程 348

12.2.3 设置断点 349

12.2.4 使能UMDF加载和初始化代码调试 350

参考文献 351