图书介绍
竹林蹊径 深入浅出windows驱动开发PDF|Epub|txt|kindle电子书版本网盘下载
![竹林蹊径 深入浅出windows驱动开发](https://www.shukui.net/cover/54/34649458.jpg)
- 张佩,马勇,董鉴源编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121125553
- 出版时间:2011
- 标注页数:506页
- 文件大小:41MB
- 文件页数:530页
- 主题词:窗口软件,Windows-驱动程序-程序设计
PDF下载
下载说明
竹林蹊径 深入浅出windows驱动开发PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Hello World驱动1
1.1从Hello World开始2
1.1.1 HelloDRIVER4
1.1.2代码解释8
1.1.3驱动程序的编译和安装11
1.1.4查看我们的驱动14
1.2虚拟环境15
1.2.1使用虚拟环境进行驱动开发15
1.2.2使用VMware虚拟机15
1.2.3目标机设置16
1.2.4Virtual PC虚拟机18
1.3小结19
第2章 商业驱动开发技术20
2.1建立开发调试环境21
2.1.1SVN环境21
2.1.2创建工程,导入SVN23
2.1.3建立符号服务器25
2.1.4用符号调试27
2.2 64位驱动开发技术34
2.2.1 64位驱动编写技术35
2.2.2 32位应用程序与64位驱动混合模式36
2.3驱动程序的发布与测试42
2.3.1驱动程序签名42
2.3.2驱动程序测试46
2.3.3WHQL49
2.4小结50
第3章 WDF概述51
3.1主要特点52
3.2框架视图53
3.3兼容性55
3.4对象模型56
3.4.1对象和句柄59
3.4.2引用计数60
3.4.3上下文空间61
3.4.4PME接口67
3.4.5DDI接口69
3.4.6父子关系76
3.4.7对象同步77
3.5驱动对象和设备对象78
3.5.1驱动对象78
3.5.2驱动入口DriverEntry81
3.5.3设备对象84
3.5.4创建设备对象85
3.5.5设备栈86
3.6 IO模型88
3.6.1IO目标对象88
3.6.2IO目标对象的细节90
3.6.3安全的缓冲区93
3.6.4内存对象(一)96
3.6.5内存对象(二)98
3.6.6框架和I0请求102
3.6.7更详细的处理流程103
3.6.8IO请求参数105
3.6.9队列107
3.6.10创建IO请求110
3.7PNP和电源模型112
3.8小结115
第4章 WDF USB设备驱动开发116
4.1 USB设备硬件结构117
4.1.1主从结构117
4.1.2硬件拓扑118
4.1.3USB中断119
4.2 USB软件结构120
4.2.1总线驱动120
4.2.2系统类驱动121
4.2.3功能驱动122
4.2.4父驱动与混合设备122
4.2.5过滤驱动125
4.2.6USB驱动栈、设备栈125
4.3内核开发127
4.3.1设备驱动127
4.3.2入口函数128
4.3.3USB描述符129
4.3.4描述符介绍130
4.3.5汇总举例133
4.3.6读取描述符135
4.3.7初始化137
4.3.8设备初始化函数138
4.3.9创建设备对象141
4.3.10设备命名、符号链接143
4.3.11启动设备147
4.3.12创建队列156
4.3.13停止设备/反初始化158
4.4数据I/O操作160
4.4.1 USB控制命令160
4.4.2构造并发送控制命令162
4.4.3读USB中断端口163
4.4.4连续读操作165
4.4.5数据处理函数166
4.4.6中断端口的效率167
4.4.7读/写批量端口168
4.5设备控制171
4.5.1关于I/O Target对象171
4.5.2获取USB版本172
4.5.3管道重置174
4.5.4设备重置176
4.5.5管道中止与终止177
4.6用户程序179
4.6.1内核读/写179
4.6.2控制命令179
4.7.小结180
第5章 WDF 1394驱动开发181
5.1 1394一席谈182
5.1.1版本情况183
5.1.2电源特性183
5.1.3 1394卡183
5.1.4总线拓扑184
5.2发送请求186
5.2.1同步方式187
5.2.2异步方式189
5.2.3对WDM的回忆191
5.3总线重置与计数193
5.3.1总线重置193
5.3.2设置重置回调193
5.3.3计数更新194
5.4 PNP操作195
5.5异步通信196
5.5.1地址范围197
5.5.2异步读200
5.5.3异步写201
5.5.4异步锁请求202
5.5.5数据流203
5.6等时通信204
5.6.1申请带宽205
5.6.2释放带宽206
5.6.3等时通道206
5.6.4资源句柄207
5.6.5缓冲区挂载210
5.6.6缓冲区解挂211
5.6.7开始传输211
5.6.8停止传输212
5.6.9其他等时操作213
5.7其他操作213
5.7.1设备配置213
5.7.2获取控制器信息214
5.7.3速度信息215
5.7.4厂商自定义命令216
5.8安装与测试216
5.8.1 1394虚拟设备216
5.8.2创建虚拟设备218
5.8.3示例代码219
5.8.4安装与测试221
5.9小结222
第6章 内核驱动C++编程223
6.1驱动中的类224
6.1.1一个简单的例子224
6.1.2new/delete225
6.1.3extern“C”227
6.1.4全局/静态变量228
6.1.5栈的忧虑230
6.2类封装的驱动程序233
6.2.1寻找合适的存储所233
6.2.2类方法与事件函数235
6.2.3KMDF驱动实现236
6.2.4WDM驱动实现237
6.3 多态238
6.3.1基类、子类238
6.3.2实现多态239
6.3.3测试241
6.4小结241
第7章 WDF驱动测试242
7.1 WDF错误243
7.1.1实例分析245
7.1.2USB错误246
7.2 WDF扩展调试命令247
7.3 WDFTester254
7.3.1WDFFiTester254
7.3.2使用256
7.3.3WDFCallTracer260
7.4 WDFVerifler263
7.4.1识别KMDF驱动263
7.4.2使用与介绍265
7.5小结266
第8章 调试命令详解267
8.1概述268
8.1.1寻求帮助269
8.1.2 DML语言270
8.1.3基本信息271
8.1.4基本设置272
8.1.5格式化显示273
8.1.6开始调试273
8.2符号与源码276
8.2.1模块列表277
8.2.2模块信息279
8.2.3符号路径280
8.2.4符号加载283
8.2.5符号搜索285
8.2.6源码命令287
8.3进程与线程289
8.3.1进程命令289
8.3.2线程命令292
8.3.3异常与事件296
8.3.4局部变量300
8.3.5显示类型301
8.4断点301
8.4.1软件断点301
8.4.2硬件断点303
8.4.3其他操作303
8.5内存命令304
8.5.1查看内存304
8.5.2内存信息307
8.5.3其他命令311
8.6小结312
第9章 内核同步313
9.1关于内核同步314
9.2内核事件同步316
9.2.1原理316
9.2.2用户程序318
9.2.3内核实现319
9.3 IRP同步320
9.3.1用户程序321
9.3.2内核实现323
9.4 WMI同步325
9.5数据缓冲区同步326
9.6反向调用328
9.7小结330
第10章 音频驱动开发331
10.1简介332
10.1.1音频模块架构332
10.1.2系统中的音频设备334
10.2 AVStream对象338
10.2.1设备对象339
10.2.2 Filter工厂和Filter对象340
10.2.3 Pin工厂和Pin对象342
10.2.4 Node对象与Connection结构体343
10.3 AVStream描述符346
10.3.1描述符简介346
10.3.2描述符示例347
10.3.3分发函数表349
10.3.4自控表349
10.3.5自控表示例351
10.4代码讲解355
10.4.1入口函数355
10.4.2设备分发函数357
10.4.3 Filter与Pin分发函数358
10.4.4创建和删除359
10.4.5数据处理360
10.4.6数据格式362
10.5自控表函数364
10.5.1事件函数364
10.5.2属性函数366
10.5.3方法函数367
10.5.4用户接口367
10.6硬件操作370
10.6.1数据DMA370
10.6.2 AVStream中的DMA实现371
10.6.3谈谈ISR374
10.7安装与测试376
10.7.1安装376
10.7.2测试工具376
10.8小结379
第11章 ASlO虚拟声卡380
11.1引言381
11.2关于ASIO383
11.3 ASIO用户驱动384
11.3.1 COM接口384
11.3.2安装与卸载386
11.3.3 IASIO接口387
11.3.4技术核心390
11.3.5计算延迟392
11.4内核驱动实现393
11.4.1同步393
11.4.2原理393
11.4.3实现396
11.5 ASIO音频软件396
11.6小结397
第12章 设备驱动安装入门399
12.1基础知识预介400
12.1.1设备类型400
12.1.2设备实例ID401
12.1.3驱动加载和安装403
12.2安装模块404
12.2.1内核PNP管理器405
12.2.2用户PNP管理器406
12.2.3安装接口函数(Setup API)408
12.2.4配置管理器接口(CfgMgr API)410
12.2.5类安装器(Class Installers)410
12.2.6类协安装器(Class Co-Installers)410
12.2.7设备协安装器(Device Co-Installers)411
12.2.8驱动包(Driver Package)412
12.2.9驱动仓库(Driver Store)413
12.2.10设备管理器(Device Manager)414
12.2.11安装程序415
12.2.12新设备向导416
12.2.13添加硬件向导416
12.2.14驱动安装器(Driver Installer)416
12.3重要问题417
12.3.1寻找和选择417
12.3.2 32位与64位系统兼容418
12.3.3系统重启419
12.4安装模式420
12.4.1示例1:客户端模式421
12.4.2示例2:服务器模式423
12.5安装器编程424
12.5.1 DIF码424
12.5.2处理流程427
12.5.3工程示例429
12.5.4注册430
12.6小结431
第13章 深入解析lNF文件432
13.1概述433
13.1.1域433
13.1.2指令434
13.1.3多系统435
13.2注册表指令436
13.2.1缩写根键436
13.2.2软件键437
13.2.3硬件键437
13.2.4 AddReg438
13.2.5 DelReg440
13.2.6 BitReg441
13.3文件操作指令441
13.3.1 CopyFiles441
13.3.2 DelFiles443
13.3.3 RenFiles443
13.4服务指令444
13.4.1 AddService444
13.4.2 DelService445
13.5基本域446
13.5.1版本域446
13.5.2文件域447
13.5.3默认安装域451
13.5.4控制域454
13.5.5字符串域457
13.6设备类安装域458
13.6.1主域459
13.6.2服务子域461
13.7接口类安装域461
13.8厂商/产品域462
13.8.1厂商域463
13.8.2产品域464
13.9设备安装域464
13.9.1硬件子域466
13.9.2协安装器子域467
13.9.3接口子域468
13.9.4厂商默认配置子域469
13.9.5逻辑优先配置子域470
13.10ChkInf介绍471
13.11小结472
第14章 设计驱动安装程序473
14.1驱动包474
14.1.1安装方式474
14.1.2安装驱动包475
14.1.3卸载驱动包476
14.2驱动更新477
14.2.1设备已连接477
14.2.2设备未连接478
14.2.3枚举系统设备481
14.3分析INF文件484
14.3.1函数介绍484
14.3.2打印设备ID486
14.4 MyDrvInst介绍487
14.5制作软件安装包490
14.5.1视图介绍490
14.5.2我们的工程492
14.5.3编译执行493
14.6小结494
附录A CYOO1 USB开发板495
附录B VisualKD + VMWare实现单机内核调试501