图书介绍

竹林蹊径 深入浅出windows驱动开发PDF|Epub|txt|kindle电子书版本网盘下载

竹林蹊径 深入浅出windows驱动开发
  • 张佩,马勇,董鉴源编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121125553
  • 出版时间:2011
  • 标注页数:506页
  • 文件大小:41MB
  • 文件页数:530页
  • 主题词:窗口软件,Windows-驱动程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

竹林蹊径 深入浅出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

热门推荐