Eliyas Yakub 首席开发经理 US-Device & Storage Technologies@Dev 3/14/2017 8:56 PM Windows 7的驱动 程序开发工具概览 Eliyas Yakub 首席开发经理 US-Device & Storage Technologies@Dev
Windows 7 Windows Driver Kit 更新 3/14/2017 8:56 PM Windows 7 Windows Driver Kit 更新 Eliyas Yakub 首席开发经理 US-Device & Storage Technologies@Dev
议程 安装 开发套件服务介绍 Build 环境 工具和示例 质量改进 文档 回答问题
安装WDK使用Kitsetup 支持服务 所有的组件使用一致的界面 所有的组件使用一致的最终用户许可协议 文档安装是整个开发组件安装的一部分
KitSetup
WDK 服务介绍 为 Windows 7 Windows 7 之后(反馈?) 在Microsoft Connect上提供需要的独立补丁 调度 Service Pack releases – 回馈? Windows 7 之后(反馈?) 组合Windows Software Development Kit 和WDK 开发套件放置在“云端”– 下载/安装/服务
新的设备技术 Biometrics XPS Print Hypervisor Sensor/PC3 Windows Vista Display Driver Model (WDDM) 更新 Wave Real-Time (WaveRT) Wireless Wide Area Network (WWAN) 更新 Windows Driver Foundation (WDF) 1.9 更多
Build 环境改变 不再有Windows 2000 build 环境 新的build 宏定义 使用Binplace 代表obj/bin 目录 Microsoft 自动代码检查 (OACR) 在WDK Build环境默认运行 在后台自动为驱动(PFD)运行PREfast 提供一个任务栏监视器
Build环境宏定义 问题: 在build过程中, 对象和二进制文件放在source下 Binplace 使用TARGET_DESTINATION 和PASS2_BINPLACE 宏 定义在代码文件中允许对象和二进制文件重定向 益处 所有的对象和二进制被分别制作和存储 源代码可以放置在只读区域 (放置在外置存储中) 可以很容易的清理对象和二进制文件目录 二进制文件目录指派一个统一的目标地址把二进制文件放在一个公共 目录
Binplace 文件能力 Binplace 可以方便的把这些放置在一个文件夹: 驱动文件, inf, co-installer, cat文件. 益处 Binplace 建立一个包含起始和目标地址的binplace.log 文件 Binplace 可以被用来管理项目中大量的文件,把他们放在合适的项目目录和程 序包中 Binplace 可以在源文件中使用宏定义自动运行 不需要在每次build项目的时候在命令行运行binplace 它是如何工作的? binplace.exe 工具在所有目标被建立后运行在 Pass2 文件可以被 binplaced 使用TARGET_DESTINATION 和 PASS2_BINPLACE 宏定义在源文件中
3/14/2017 8:56 PM 演示 介绍OACR
WDK中新的工具 ComputerModelID (增加) OACR (增加) IRP Concurrency Coverage (被推荐的) Service Discovery Profile (SDP) Verifier (被推荐的) CTRPP (被推荐的)
WDK示例的修改 New Samples Technology WiFi, WLAN WiFi, Neterion 10G NDIS Miniport Networking miniSpy, nullFilter, passThrough, scanner, Metadata Manager, ctx, cdo, Encryption, Name Provider, Reparse Points, CancelSafe, swapBuffers FileSystems WpdBasicHardwareDriver, WpdServiceSampleDriver, WpdMultiTransportDriver (UMDF) WPD Consumer IR Receiver Sample Driver (smscir) (KMDF) IR
The Windows 7 Windows Driver Kit 质量 3/14/2017 8:56 PM The Windows 7 Windows Driver Kit 质量 Eliyas Yakub 首席开发经理 US-Device & Storage Technologies@Dev
WDK 内容质量的努力 质量评价的工作增强了WDK中示例工具的整体质量 在很多WDK header中加入header 注释 针对示例代码为驱动(PFD)运行 PREfast 针对示例代码运行静态驱动检查器(SDV) 检测/W4 的警告 在代码中使用MSC_WARNING_LEVEL=/W4 /WX 编译 针对UMDF示例和驱动工具运行Application Verifier 针对示例运行Driver Verifier 指导示例的代码复查 去掉过时的和不好的示例
针对WDK示例运行静态分析工具 为驱动运行PREfast Static Driver Verifier 112 bug 解决 3110 PFD 错误从代码中移除 增加头文件注释以减少误报 Static Driver Verifier 14 bug 解决 Role type 注释增加到源代码
W4 编译器警告 通过在源文件中设置MSC_WARNING_LEVEL=/W4 /WX 找到 159 bug 解决 从示例中移除3934个警告 通常的错误包括Typical errors include uninitialized variables, unreferenced parameters MS08-014 – 通过编译/W4使安全性弱点受到保护 在事例源文件中大多数Windows 7 事例将会默认为 /W4
Build 环境 验证测试 用来验证WDK build环境的内部测试工具 从头文件摘录API/Struct/Union/Enum information 验证头文件的版本正确 找到MSDN上的文档和WDK中头文件的不同
The Windows 7 Windows Driver Kit 文档 3/14/2017 8:56 PM The Windows 7 Windows Driver Kit 文档 Eliyas Yakub 首席开发经理 US-Device & Storage Technologies@Dev
WDK 文档 Windows 7 文档需要等到beta WDK 文档在MSDN和WHDC上每 个月更新 超过两千个新题目 Biometrics, XPS, Hypervisor, WDDM, WaveRT, WWAN, WDF 在内核模式驱动架构参考中完成802 个题目的技术检阅 为新的DDI扩展需求模块 OS 版本 IRQL 需求 头文件/库 “路线图” 通过简单的步骤建立驱 动 WDK 文档在MSDN和WHDC上每 个月更新 MSDN上每个月大约~1,000,000 百万页面访问 WHDC 上每个月下载量达到 ~10,000 增长的曝光度 WDK 文档博客 (http://blogs.msdn.com/wdkdocs) 21
我们认真的接受您的反馈! 每周审阅在线和离线文档 必要的情况下所有的社区内容 (“MSDN Wiki”) 会被审阅形成 一个文档bug,移除非常没用的或是不准确的 为了再投资和改进我们审阅基于页面访问和用户评价的关键 数据 所有的文字反馈都会在合适的时间内审阅和解决 我们每年调查社区并把反馈加入到文档中
2007 反馈成果 基于年度用户反馈的成果 路线图 基于您的反馈制作新的文档查看器 独立CHM版本的WDK内容进入Beta阶段. 音频和WPF在WinHEC发布, 目标2008年12月完成 基于您的反馈制作新的文档查看器 独立CHM版本的WDK内容进入Beta阶段. 为新的论题制作需求模块 在WHDC上每个月更新WDK文档 在WDK文档中质量更好的驱动测试描述 在WDK文档中质量更好的示例和自述文件 MSDN上WDK进行并行的机器翻译
2008 WDK 文档调查成果 357 反馈! 感谢您 50.6% 认为的文档越来越好, 17.7% 认为不好 内核模式架构文档和增强的索引是用户的最高 优先级 多功能设备,成像,红外线,调制解调器和存 储都被认为是需要再投资的部分 更多的产品质量示例!
您对翻译感觉如何?
并行翻译 English to Simplified Chinese on http://translator.live.com
翻译成果和计划 机器翻译Beta参与项目共有 502,730 个访问 Windows Driver Kit 试运行中十分之三被浏览过 从2007年10月1日到2008年2月28日试运行 Windows Driver Kit 试运行中十分之三被浏览过 绝大多数客户不是以英语为母语 并行翻译使用调查数据决定目标语言的优先级 一些高优先级语言目标在09财年底完成 日语, 简体中文, 繁体中文, 俄语, 韩语, 葡萄牙语, 法语, 西班牙语 27
立即行动 针对服务计划,文档,build环境等发送反 馈. 尝试微软自动代码审阅-告诉我们您的想法 尝试新的宏定义
附加资源 联系WDK 团队: 在线: WDKPMFT@microsoft.com (WDK PM team) WDKQA@microsoft.com (WDK Test team) DDKSurv1@microsoft.com (WDK Docs team) 在线: WHDC 站点: http://www.microsoft.com/wdk 阅读WDK Doc 博客:http://blogs.msdn.com/wdkdocs/default.aspx 下载WDK doc每月更新:http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx 驱动开发新闻组: http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.development.device.drivers&lang=en&cr=US
本地化参考资源 网络资源 Windows 硬件开发者网站 http://www.microsoft.com/China/WHDC https://winqual.microsoft.com Windows 媒体中心中文网站: http://www.microsoft.com/china/windows/products /winfamily/mediacenter/default.mspx Windows徽标计划中文技术论坛 http://forums.microsoft.com/china/ShowForum.aspx ?ForumID=2150&SiteID=15 Windows徽标流程问题联系 HICWHQL@microsoft.com
疑问与解答
© 2008 Microsoft Corporation. All rights reserved © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.