Windows 2000/XP WDM设备驱动程序开发
2005-5
电子工业出版社
武安河
399
640000
无
本书主要介绍了用DriverStudio 3.1开发工具开发Windows 2000/XP下的WDM设备驱动程序的原理及编程方法。本书详细介绍了WDM基本程序框架和编程、IRP的基本概念及编程、WDM和应用程序之间的通信、即插即用、电源管理、WMI的编程技术、IRP串行处理、过滤器驱动程序、WDM访问硬件设备、处理硬件中断、实现DMA操作的编程技术,以及大量的基本编程技术,还有USB接口和PCI接口设备驱动程序WDM的开发。 本书附有20个典型的编程实例,便于读者学习和掌握。 本书是一本技术性较强的工具书。本书的适用对象是具有一定计算机硬件及C++语言基础的计算机应用开发人员,是计算机应用开发人员和高等院校学生的实用参考书。
第1章 Windows 2000和WDM驱动程序 1.1 Windows 2000组件概述 1.2 Windows 2000中的驱动程序种类 1.3 WDM驱动程序特点 1.3.1 内核模式驱动程序的设计目标 1.3.2 WDM驱动程序模型 1.3.3 设备和驱动程序的层次结构 1.3.4 中断级别IRQL 1.3.5 设备接口 第2章 WDM驱动程序的基本结构 2.1 KDriver类 2.1.1 基本函数 2.1.2 基本例程 2.2 KPnpDevice类 2.2.1 基本函数 2.2.2 基本例程 2.2.3 扩展例程 2.3 KPnpLowerDevice类 2.4 CharSample实例 第3章 IRP操作 3.1 IRP数据结构 3.1.1 IRP重要域 3.1.2 IO堆栈单元 3.2 KIrp类 3.3 IRP基本操作 3.3.1 完成IRP 3.3.2 向下传递IRP 3.3.3 取消IRP 3.3.4 分配和释放IRP 第4章 WDM驱动程序编程入门 4.1 建立WDM编程环境 4.2 创建WDM驱动程序 4.2.1 使用DriveWizard创建RegSample的工程文件 4.2.2 修改RegSample的工程文件 4.2.3 RegSample实例 4.3 生成WDM驱动程序 4.4 安装WDM驱动程序 4.5 Win32 Console和MFC应用程序 4.5.1 Win32 Console应用程序 4.5.2 MFC应用程序 4.6 调试说明 第5章 WDM驱动程序和应用程序之间的通信 5.1 应用程序与驱动程序的通信 5.1.1 打开设备 5.1.2 关闭设备 5.1.3 DeviceIoControl函数调用 5.1.4 ReadFile和WriteFile函数调用 5.2 驱动程序与应用程序的通信 5.2.1 DeviceIoControl异步完成 5.2.2 WIN32事件通知 5.3 驱动程序对应用程序通信实例 5.3.1 异步完成实例 5.3.2 事件通知实例 第6章 基本编程技术 6.1 字符串操作 6.1.1 字符串格式 6.1.2 串处理函数 6.1.3 KUnitizedName类 6.1.4 KUstring类 6.2 内存管理 6.2.1 内存类型 6.2.2 KMemory类 6.2.3 KHeap类 6.3 数据操作 6.3.1 Klist,KInterlockedList和KInterruptSafeList类 6.3.2 Kfifo,KInterlockedFifo和KInterruptSafeFifo类 6.3.3 KArray 6.3.4 KInterlockedCounter类 6.3.5 其他数据处理函数 6.4 KRegistryKey类 6.5 KFile类 6.6 KDeferredCall类 6.7 定时器 6.7.1 1Hz定时器 6.7.2 KTimedCallback类 6.8 KIoWorkItem类 6.9 CancelSpinLock类 6.10 KSpinLock类 6.11 内核同步对象 6.11.1 KDispatcherObject类 6.11.2 KDispatcherObject派生类 6.12 TimerSample实例 6.13 FileThread实例 6.14 ReadWrite实例 第7章 即插即用例程 7.1 即插即用简介 7.1.1 PnP组件 7.1.2 即插即用IRP 7.1.3 即插即用状态 7.2 即插即用编程 7.2.1 即插即用例程 7.2.2 即插即用策略 7.2.3 PnP例程编程 7.2.4 PnP资源 7.3 即插即用通知 7.3.1 Win32 PnP通知 7.3.2 内核模式通知 7.3.3 定制通知 7.3.4 PnPEvent实例 第8章 电源管理 8.1 电源管理概述 8.1.1 系统电源状态与设备电源状态 8.1.2 设备的电源能力 8.1.3 IRP_MJ_POWER请求 8.1.4 电源管理控制标志位 8.1.5 设备的唤醒特征和空闲检测 8.2 电源管理编程 8.2.1 电源管理例程 8.2.2 电源管理政策 8.2.3 电源管理编程 8.2.4 设备唤醒 8.2.5 空闲检测 8.3 电源管理实例 8.3.1 PowerIdle实例 8.3.2 PowerSleep实例 第9章 WMI 9.1 WMI概述 9.2 WMI编程类函数 9.2.1 KWmiContext类 9.2.2 KWmiDataBlock类 9.2.3 KWmiString类 9.3 WMISample实例 第10章 IRP的串行处理 10.1 由系统管理的IRP设备队列的串行处理 10.1.1 实现由系统管理的IRP设备队列串行处理的函数 10.1.2 系统管理的IRP设备队列串行处理程序分析 10.2 由驱动程序管理的IRP队列的串行处理 10.2.1 KDriverManagedQueueEx类 10.2.2 驱动系统管理的IRP队列串行处理程序分析 10.3 IRP串行处理实例 10.3.1 StartIoChar_Device实例 10.3.2 StartIoChar_Driver实例 第11章 WDM过滤器驱动程序 11.1 KWdmFilterDevice类 11.2 WDM过滤器驱动程序生成 11.3 WDM过滤器驱动程序安装 11.3.1 同时安装功能驱动程序和过滤器驱动程序 11.3.2 单独安装过滤器驱动程 11.4 CharFilter实例 11.5 CharFilter_Class实例 第12章 USB设备开发 12.1 USB接口概述 12.1.1 USB设备的配置、接口和端点 12.1.2 USB数据的传输方式 12.1.3 USB描述符 12.1.4 标准设备请求 12.2 USB编程类函数 12.2.1 KUsbLowerDevice类 12.2.2 KUsbInterface类 12.2.3 KUsbPipe类 12.3 USBCounter实例 12.3.1 驱动程序 12.3.2 应用程序 12.3.3 CY7C63001程序 第13章 PCI设备驱动程序开发 13.1 硬件访问 13.1.1 KIoRange和KMemoryRange类 13.1.2 KIoRegister和KMemoryRegister类 13.1.3 KIoRegisterSafe和KMemoryRegisterSafe类 13.1.4 硬件访问编程 13.2 中断处理 13.2.1 KInterrupt类 13.2.2 中断处理编程 13.3 DMA传输 13.3.1 DMA编程类函数 13.3.2 DMA传输编程 13.4 PCI9054实例 13.5 DMASample实例 第14章 完全DDK支持的WDM驱动程序开发 14.1 创建WDM驱动程序 14.2 WDM驱动程序 附录A DriverMonitor的使用介绍 附录B SoftICE的使用介绍 附录C SoftICE命令详解参考文献
对WDM深入研究,以作者实战经验,助读者少走弯路,节约大量时间。 详细描述入门步骤,提供20个典型实例,程序给出必要的注释。 配套光盘含有书中所有实例的驱动程序和应用程序的全部源代码,以及生成的驱动程序和可执行文件。
对WDM深入研究,以作者实战经验,助读者少走弯路,节约大量时间。 详细描述入门步骤,提供20个典型实例,程序给出必要的注释。 配套光盘含有书中所有实例的驱动程序和应用程序的全部源代码,以及生成的驱动程序和可执行文件。
无
Windows 2000/XP WDM设备驱动程序开发 PDF格式下载
很多东西都是从别的书或者文档中拷贝的
翻看了2页就没有看了,根本没有讲驱动程序的原理,看起来像是介绍drivstudio软件
其实是说DriverStudio的.DriverStudio现在没人维护了,误人子弟.
慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢