《面向研发经理和产品规划人员WDK总体介绍》由会员分享,可在线阅读,更多相关《面向研发经理和产品规划人员WDK总体介绍(31页珍藏版)》请在金锄头文库上搜索。
1、面向研发经理和产品规划人员面向研发经理和产品规划人员 的的 WDKWDK介绍介绍 张伟伟张伟伟 微软中国技术中心微软中国技术中心 主题主题 Windows Driver Kit (WDK)Windows Driver Kit (WDK)简介简介 WDK WDK 中新增的特色功能中新增的特色功能 驱动测试管理器(驱动测试管理器(Driver Test ManagerDriver Test Manager) 迎接迎接 WDKWDK WDK WDK 简介简介 WDK WDK 的目标的目标 WDK WDK 的愿景的愿景: Windows: Windows驱动程序永不崩溃驱动程序永不崩溃 WDK WDK
2、 的任务的任务: : 提供完整的提供完整的WindowsWindows驱动程驱动程 序集成开发系统序集成开发系统, ,保证高质量的驱动程序开保证高质量的驱动程序开 发发 WDK WDK 的出发点的出发点 改善驱动程序质量改善驱动程序质量 = = 改善改善WindowsWindows用户体验用户体验 减少复杂性减少复杂性 降低产品的开发成本降低产品的开发成本 降低产品的支持成本降低产品的支持成本 整体框架状态整体框架状态 WDK WDK 具体描述具体描述 单一工具包单一工具包 不仅是不仅是DDK, IFS KitDDK, IFS Kit和和HCTHCT的简单组合的简单组合 集成驱动程序的文档集成
3、驱动程序的文档, , 测试,工具和开发环境为一体测试,工具和开发环境为一体 驱动程序测试管理器(驱动程序测试管理器(DTMDTM)将替代传统的硬件兼容测)将替代传统的硬件兼容测 试工具集(试工具集(HCTHCT) WDKWDK的关键目标的关键目标 Windows 2000Windows 2000直到直到Windows VistaWindows Vista下的驱动程序的编译下的驱动程序的编译 、测试及调试环境、测试及调试环境 支持所有的签名和徽标程序支持所有的签名和徽标程序 包括包括WindowsWindows徽标测试程序和驱动程序质量签名(徽标测试程序和驱动程序质量签名(DQSDQS)程序)程
4、序 HCTHCT将在将在Windows VistaWindows Vista发布时被彻底取代发布时被彻底取代 将将WindowsWindows开发中使用的测试及工具分享给驱动开发厂开发中使用的测试及工具分享给驱动开发厂 商以改进第三方驱动程序的质量商以改进第三方驱动程序的质量 比徽标测试更丰富的质量计划比徽标测试更丰富的质量计划 测试与分析工具测试与分析工具 压力测试压力测试, , 性能测试性能测试, , 和功能测试和功能测试 WDK WDK 生命周期构成生命周期构成 代码实例和 模板 Pillars of LDK 关键使用场景 徽标测试 驱动程序测试 调试驱动程序 开发驱动程序 Win2KV
5、ista Build Environment 1 2 3 4 测试 质量 维护 LDK Test Harness (WTT) 设计 开发工具 (PREfast) 徽标测试 质量测试 核心模式 调试器 操作系统和开发 工具的帮助文档 编译环境 开发 用于驱动程序开发的集成开发环境 Windows Driver Foundation WinQual 集成 驱动程序测 试管理器 范例范例 驱动程序模版驱动程序模版 静态分析静态分析 WDK WDK 部署方案部署方案 WDKWDK 测试结果共享测试结果共享 测试实验室测试实验室 因特网 调试工具调试工具 代码实例代码实例 驱动测试管理器驱动测试管理器
6、微软质量测试集微软质量测试集 徽标测试集徽标测试集 第三方测试集第三方测试集 OEMsOEMs 编译环境编译环境 帮助文档帮助文档 MicrosoftMicrosoft WDK WDK 功能特性功能特性 功能特性功能特性: : 设计和开发设计和开发 兼容兼容Windows 2000Windows 2000暨以后版本的编译环境暨以后版本的编译环境 版本化头文件版本化头文件 头文件的集合头文件的集合! Windows Driver FoundationWindows Driver Foundation 新版本的:新版本的: 调试器调试器 PREPRE f f ast for Driversast
7、for Drivers Call Usage VerifierCall Usage Verifier 新工具:新工具: Static Driver VerifierStatic Driver Verifier Deprecated Function CheckingDeprecated Function Checking 重新设计的文档浏览与搜索方式重新设计的文档浏览与搜索方式 头文件继承头文件继承 核心头文件采用核心头文件采用 超集超集/ /子集子集 模型模型 更高级别的头文件更高级别的头文件 “ “ #include#include” ”低级别的头文件低级别的头文件 结果结果: : 定义定
8、义(Definitions)(Definitions)被移动被移动 到更低的共用头文件中到更低的共用头文件中 更高级别的头文件仅包含自身更高级别的头文件仅包含自身 相关的定义相关的定义(Definitions)(Definitions) 使头文件版本化使头文件版本化 WDM.H NTDDK.H NTIFS.H #include #include 版本化头文件版本化头文件 目标目标: : 用一个头文件集支持用一个头文件集支持Windows 2000Windows 2000及以后及以后 的的WindowsWindows驱动程序开发驱动程序开发 使用单一头文件集为多个版本的使用单一头文件集为多个版本
9、的WindowsWindows生成二进制代生成二进制代 码码 为不同版本的操作系统生成不同的二进制代码为不同版本的操作系统生成不同的二进制代码, , 或者或者 单一二进制代码支持多个版本的操作系统单一二进制代码支持多个版本的操作系统 同时支持核心模式和用户模式同时支持核心模式和用户模式 计划计划Windows Vista Beta 1Windows Vista Beta 1时推出时推出 优点优点 简单的开发环境管理简单的开发环境管理 更容易地使用新版本操作系统的上层内容更容易地使用新版本操作系统的上层内容 开发文档的改善开发文档的改善 目标目标: : 更容易地找到要找的内容更容易地找到要找的内
10、容 基于基于20042004年收集的用户数据年收集的用户数据 改善改善 集成集成IFS IFS 包的内容包的内容 目录目录 更好的分级,改善分组更好的分级,改善分组 索引索引 加强关键词的作用加强关键词的作用 代码范例和工具的代码范例和工具的 Readme Readme 也包括在目录和搜索中也包括在目录和搜索中 按不同驱动技术分类过滤按不同驱动技术分类过滤 一些改善已应用于一些改善已应用于 Windows Server 2003 SP1 DDK Windows Server 2003 SP1 DDK 优点优点 不需要单独再获取不需要单独再获取IFSIFS包包 查找内容不需要知道标题名查找内容不
11、需要知道标题名 代码范例的信息可读性更好代码范例的信息可读性更好 帮助目录的改善帮助目录的改善 旧的目录组织旧的目录组织 Improve TOCImprove TOC 新的目录组织新的目录组织 功能特性功能特性: : 测试测试 驱动程序测试管理器驱动程序测试管理器 (DTM) (DTM) 以前的名字是以前的名字是 “ “LDK Test HarnessLDK Test Harness” ” 和微软和微软WindowsWindows测试组使用的工具相同测试组使用的工具相同 许多具体测试也来自于许多具体测试也来自于Windows Windows 测试组测试组 不仅仅是徽标测试不仅仅是徽标测试 压力
12、测试压力测试, , 性能测试和功能测试性能测试和功能测试 目标环境目标环境 仅用于测试仅用于测试 Windows Windows 驱动程序及相关应用驱动程序及相关应用 不宜用于非测试环境不宜用于非测试环境 OEMs, ODMs, IHVs, ISVsOEMs, ODMs, IHVs, ISVs应有限使用应有限使用 DTM: DTM: 满足所有驱动程序的测试需求满足所有驱动程序的测试需求 的扩展能力的扩展能力 可扩展至:可扩展至: 用于大型质量控制实验室用于大型质量控制实验室 每个控制器可连接每个控制器可连接100100个测试客户机个测试客户机 当需要多个控制器时:当需要多个控制器时: 每个数据
13、库有一个控制器每个数据库有一个控制器 没有控制器间交互处理没有控制器间交互处理 也可用于:也可用于: 开发者单元测试开发者单元测试 一个控制器一个控制器, , 一个测试客户机一个测试客户机 DTM: DTM: 部署部署 工作站工作站 界面界面 驱动程序测试流水线驱动程序测试流水线 计划与监控计划与监控 控制器控制器 服务和后台程序服务和后台程序 配置数据库配置数据库 存储测试队列存储测试队列 测试客户机测试客户机 被测试的系统被测试的系统 包括一个小的测试代包括一个小的测试代 理程序理程序 自动数据库 DTM 控制器 1 1 100 DTM: DTM: 关键概念关键概念 任务(任务(JobsJ
14、obs) 已经确定的测试计划已经确定的测试计划 1 1个或更多测试动作的集合个或更多测试动作的集合 可执行的动作可执行的动作, , 如如 “ “LogoTest.exeLogoTest.exe” ” 可设定测试动作的相互依赖性可设定测试动作的相互依赖性 安装安装, , 运行运行, , 卸载卸载 可共享性可共享性 约束性约束性 维度维度 参数化参数化 DTM DTM 提供一个的通用的测试任务集提供一个的通用的测试任务集 用户可自定义任务用户可自定义任务 配置收集器配置收集器 获得测试客户机的配置数据获得测试客户机的配置数据 包含硬件和软件信息包含硬件和软件信息 在控制器中用于测试的调度在控制器中用于测试的调度 DTM Job Configuation Tests Dumps Results DTM: DTM: 关键概念关键概念 调度调度 自动化任务分发自动化任务分发 并行地执行并行地执行 映射任务到对应资源上映射任务到对应资源上 打包程序打包程序 测试环境信息收集测试环境信息收集 测试项目测试项目, , 配置配置, , 测试日志测试日志, , 最终结果最终结果 协作协作 复制复制 自动部署自动部署 自动化系统安装程序自动化系统安装程序 ASI ASI