本书是一本介绍Windows 2000 Professional和Windows XP的核心驱动程序的专著。提供了多种核心程序模型,极大地方便了读者的学习和应用。本书内容由6部分组成,第1部分为核心模式基础,主要内容有系统与驱动,对I/O、I/O对象和IRPs进行分层、调度方法和优先级、系统定义的对象与驱动的关系、基本驱动结构。第2部分为核心流驱动,主要讲述了核心流驱动的概念、流小驱动、音频驱动、音频小端口驱动、视频捕获驱动以及DVD驱动模型设计。第3部分为即插即用,主要内容有PnP需要的驱动支持,增加新PnP设备的步骤。第4部分为电源管理,包括电源管理的含义及其实现步骤。第5部分为Windows 2000的管理机制。第6部分为调试与开发驱动程序,介绍了10个调试工具以及如何使用VC++.NET开发驱动程序。本书结构清晰,逻辑严密,内容环环相扣,不但是从事用VC++.NET进行开发与应用的广大编程人员的技术指导书,同时也可作为大专院校计算机专业、非专业师生重要的参考读物。本版CD为驱动程序源代码。 \r\n
第1部分 核心模式驱动基础\r\n\r\n第1章 系统与驱动\r\n\r\n1.1 Win 2000中的驱动结构\r\n1.2 Win2000驱动分类\r\n\r\n第2章 对I/O、I/O对象和IRPs进行分层\r\n\r\n2.1 IRPs和指定驱动I/O栈位置\r\n2.1.1 IRP的内容\r\n2.2 驱动对象与标准驱动例程\r\n2.2.1 驱动对象所针对的设备对象\r\n2.2.2 核心模式驱动必备的入口点\r\n2.2.3 常用标准驱动例程\r\n2.3 I/O分层处理和I/O管理器\r\n2.3.1 I/O分层处理\r\n2.3.2 I/O管理器\r\n\r\n第3章 调度方法和优先级\r\n\r\n3.1 处理器调度基础知识\r\n3.1.1 处理器调度的类型\r\n3.1.2 调度的性能准则\r\n3.2 调度方法\r\n3.2.1 先来先服务调度法\r\n3.2.2 最短作业优先调度法\r\n3.2.3 轮转法调度方法\r\n3.2.4 多级队列调度法\r\n3.2.5 优先级调度法\r\n3.2.6 轮转多级反馈队列调度法\r\n3.3 Win2000的线程调度\r\n3.3.1 Win2000的线程调度介绍\r\n3.3.2 Windows2000中的优先级划分\r\n3.3.3 Windows2000的调度实现\r\n3.3.4 线程优先级提升\r\n\r\n第4章 系统定义的对象与驱动的关系\r\n\r\n4.1 系统定义的对象与核心驱动关系的概述\r\n4.1.1 I/O管理器\r\n4.1.2 注册表与配置管理器\r\n4.1.3 即插即用\r\n4.1.4 电源管理器\r\n4.1.5 内存管理器\r\n4.1.6 执行支持\r\n4.2 进程结构\r\n4.2.1 进程\r\n4.2.2 对象管理器\r\n4.2.3 安全引用原则监视\r\n4.3 核心对象\r\n4.3.1 互斥对象\r\n4.3.2 信号量对象\r\n4.3.3 计时器对象\r\n4.3.4 事件对象\r\n4.3.5 螺旋锁\r\n4.3.6 DPC对象\r\n4.3.7 中断对象\r\n4.4 操作系统定义对象的例程总论\r\n4.4.1 系统的存储与系统定义的对象\r\n4.4.2 系统定义对象的存储\r\n\r\n第5章 基本驱动结构\r\n\r\n5.1 标准驱动例程\r\n5.1.1 最低层设备驱动的IRP分级处理\r\n5.1.2 中间层驱动的IRP运行的不同阶段\r\n5.1.3 设计一个驱动的步骤\r\n5.1.4 设计原则\r\n5.2 开发步骤\r\n\r\n第2部分 核心流驱动\r\n\r\n第1章 核心流驱动的概念\r\n\r\n1.1 核心流驱动模型\r\n1.1.1 核心流基础概念\r\n1.1.2 核心流设计概念\r\n1.1.3 核心流应用接口概念\r\n1.2 核心流的状态与方法\r\n1.2.1 方法\r\n1.2.2 “核心流”各部件之间的联系\r\n1.2.3 结构\r\n1.2.4 数据格式与范围\r\n1.2.5 “核心流”的时钟\r\n1.2.6 核心流配置器分配符\r\n1.2.7 需要注意的地方\r\n\r\n第2章 流小驱动\r\n\r\n2.1 小驱动的基本概念与思路\r\n2.1.1 小驱动与类驱动\r\n2.1.2 五个例程\r\n2.1.3 四个函数\r\n2.1.4 相关名词\r\n2.1.5 综述\r\n2.1.6 另外\r\n2.2 请求段的处理\r\n2.2.1 小驱动的初始化\r\n2.2.2 多流处理与数据范围\r\n2.2.3 属性组的处理\r\n2.2.4 事件的处理\r\n2.2.5 小驱动的同步处理\r\n2.2.6 带有中断服务功能例程的小驱动\r\n2.2.7 没有ISR的小驱动\r\n2.2.8 什么时候不能用流类同步处理\r\n2.2.9 名词解释\r\n2.2.10 本章要点\r\n\r\n第3章 音频驱动\r\n\r\n3.1 总论音频驱动\r\n3.1.1 当作过滤器\r\n3.1.2 音频驱动提供的功能\r\n3.1.3 句柄\r\n3.1.4 自定义音频属性组介绍\r\n3.2 数据范围与数据格式\r\n3.2.1 数据范围\r\n3.2.2 常用的结构\r\n3.2.3 在音频WDM中支持2D,3DdirectSound加速\r\n\r\n第4章 音频小端口驱动\r\n\r\n4.1 端口类介绍\r\n4.1.1 几个常用接口\r\n4.1.2 支持特定设备所需的端口\r\n4.1.3 核心中的COM\r\n4.1.4 在Audio Mixer(混频)API中的核心流拓扑\r\n4.2 DirectMusic合成与合成槽\r\n4.2.1 基础知识\r\n4.2.2 例示\r\n4.2.3 核心模式硬件加速DDI\r\n4.2.4 合成器小端口\r\n4.2.5 IHV适配器驱动和DirectMusic系统中其他部分的关系\r\n\r\n第5章 视频捕获驱动\r\n\r\n5.1 视频捕获介绍\r\n5.1.1 视频捕获的相关概念\r\n5.1.2 来自视频捕获小驱动的流数据\r\n5.1.3 使用视频捕获属性组\r\n5.1.4 用于视频捕获的流向控制\r\n5.2 其他控制\r\n5.2.1 时间标记\r\n5.2.2 视频流格式\r\n5.2.3 视频流扩展标头\r\n5.2.4 视频流分类和中间件\r\n5.2.5 USB相机小驱动库设计\r\n\r\n第6章 DVD驱动模型设计\r\n\r\n6.1 DVD驱动编写基础\r\n6.2 复制保护要点\r\n6.2.1 在同一硬件上的多流处理\r\n6.2.2 关键字转换与数据流动的同步处理\r\n6.2.3 区域化\r\n6.2.4 大图像(Macrovision)\r\n6.2.5 音/视的同步处理的注意事项\r\n\r\n第3部分 即插即用\r\n\r\n第1章 简介\r\n\r\n1.1 有关即插即用\r\n1.1.1 定义\r\n1.1.2 组成和要求\r\n1.1.3 PnP软件与硬件的结合能力\r\n1.2 驱动的种类\r\n1.2.1 驱动的种类\r\n1.2.2 各种驱动的关系\r\n1.3 设备的树型结构\r\n1.3.1 定义\r\n1.3.2 示范图例\r\n1.3.3 设备对象的类型\r\n\r\n第2章 PnP需要的驱动支持\r\n\r\n2.1 概述PnP驱动的组成\r\n2.1.1 INF文件\r\n2.1.2 程序\r\n2.2 驱动中的GUID\r\n2.2.1 相关定义\r\n2.2.2 定义及输出新GUIDs\r\n2.2.3 在驱动编码中包含GUIDs\r\n2.3 处理PnP IRPs的规则\r\n2.3.1 PnP IRP的要求\r\n2.3.2 把PnP IRP向下传送通过设备堆栈\r\n2.3.3 延迟PnP IRP处理\r\n2.4 PnP的DriverEntry例行程序\r\n2.4.1 DriverEntry程序描述如下\r\n2.4.2 功能与作用\r\n2.5 PnP的AddDevice程序\r\n2.5.1 AddDevice\r\n2.5.2 步骤\r\n2.6 DispatchPnP,DispatchPower和Unload程序\r\n2.6.1 先来简述一下DispatchPnP程序\r\n2.6.2 接着是DispatchPower例行程序\r\n2.6.3 卸载(Unload)程序\r\n\r\n第3章 增加新PnP设备的全步骤\r\n\r\n3.1 从用户把硬件插到机器上时开始\r\n3.1.1 枚举和判定\r\n3.1.2 报告\r\n3.1.3 处理\r\n3.1.4 配置\r\n3.1.5 信息\r\n3.1.6 功能驱动和过滤器驱动\r\n3.1.7 分配资源\r\n3.1.8 启动设备\r\n3.2 停止和删除设备\r\n3.2.1 停止设备\r\n3.2.2 删除设备\r\n\r\n第4部分 电源管理\r\n\r\n第1章 电源管理介绍\r\n\r\n1.1 电源管理概述\r\n1.2 电源管理的设置过程\r\n\r\n第2章 实现电源管理的步骤\r\n\r\n2.1 电源管理与驱动程序的实现目标\r\n2.2 了解设备的支持能力\r\n2.3 认清设备电源管理状态\r\n2.4 电源状态和系统电源策略实现\r\n\r\n第5部分 Window 2000的管理机制\r\n\r\n第1章 管理机制总述\r\n\r\n1.1 Windows 2000的管理机制中的WMI\r\n1.2 WMI的组成\r\n\r\n第2章 实现WMI支持\r\n\r\n2.1 描述数据、方法和事件与提供对象接口\r\n2.2 注册WMI数据提供者并处理IRP请求\r\n\r\n第6部分 调试与开发驱动程序\r\n\r\n第1章 调试驱动程序\r\n\r\n1.1 驱动开发环境介绍\r\n1.2 ChkINF工具\r\n1.3 Devctl.exe工具\r\n1.4 Disabler工具\r\n1.5 Edidw2k工具\r\n1.6 Ntttcp工具\r\n1.7 PCI Tools工具\r\n1.8 WdmAudioGrapher工具\r\n1.9 Geninf工具\r\n1.10 Verifier工具\r\n1.11 WinDebuger工具\r\n\r\n第2章 用Visual Studio.net开发驱动程序