340 likes | 350 Views
Learn about the Windows Driver Kit (WDK) and how it can help improve driver quality, reduce complexity, and lower development and support costs. Explore the features, content, and objectives of the WDK, as well as its lifecycle components and deployment options.
E N D
The WDK for Engineering Managers and Product Planners:An Introduction Lee Davis Lead Program Manager Windows Driver KitsLeeDavis @ Microsoft.com Microsoft Corporation
Session Outline • What is the Windows Driver Kit (WDK)? • Features and Content • Driver Test Manager • Preparing for the WDK
WDK Goals • WDK Vision: Windows device drivers always work • WDK Mission: Provide a fully integrated Windows Driver Development System that ensures successful production of the highest quality drivers • WDK Motivation • Improve driver quality => improve Windows experience • Reduce complexity • Reduce product development costs • Reduce support costs
The WDK - Description • One Single Kit • More than a simple combination of DDK, IFS Kit and HCT • Content, tests, tools, development environment • Driver Test Manager replaces the Hardware Compatibility Tests • Key WDK Objectives • Build, test, debug drivers on Windows 2000 forward to Windows codenamed “Longhorn” • Support all Signature and Logo programs • Including Windows Partner Logo testing and Driver Quality Signature • The HCTs for previous Windows releases are planned to be replaced at Longhorn RTM • Help partners improve quality by using many of the same tests and tools as the Windows development team uses • More than just the Logo tests • Verification and analysis tools • Stress, performance, and functionality tests
The WDK _ Lifecycle Components Build Environment 4 3 2 1 Key Usage Scenarios Integrated build environment for device software development Build Drivers ( Win2KLH) OS and Tools Documentation Windows Driver Foundation Build Environment WinQual Integration Driver Test Manager Debug Drivers Development Tools (PREfast) LDK Test Harness (WTT) Samples Template Drivers Logo Tests Quality Tests Kernel Debugger Driver Testing Pillars of LDK Logo Testing Develop Test Maintain Qualify Design
The WDK - Deployment Test Lab Extensions for 3rd Party Tests Logo Tests MS Quality Tests Driver Test Manager Static Analysis WDK Test Result Sharing OEMs Internet Docs Samples Microsoft Debugging Tools* Build Environment
Features: Design and Development • Build Environments for Windows 2000 forward • Versioned Headers – one set of headers!!! • Windows Driver Foundation • Latest versions of: • Debuggers • PREfast for Drivers • Call Usage Verifier • New Tools • Static Driver Verifier • Deprecated Function Checking • Redesigned Documentation Navigation / Search
Header Hierarchy • Core headers utilize a superset/subset model • Higher level headers #include lower headers • Result: • Definitions moved to lowest common header • Higher headers only havedefinitions specific to them • Enables versioning NTIFS.H #include NTDDK.H #include WDM.H
Versioned Headers • Goal: Support driver development from Windows 2000 forward with one set of headers • Creation of binaries for multiple versions of Windows using a single set of headers • Separate binaries for each O/S version, or… • Single binary that supports multiple O/S versions • Both Kernel and User mode headers • Planned for Longhorn Beta 1 • Benefits • Simplified development environment management • Easier to use up-level features of later OS versions
Developer Documentation Improvements • Goals: Make it easier to find specific content • Based on user data collected in 2004 • Improvements • Integrating content from IFS Kit • Table of Contents – more hierarchical, improve grouping • Index – emphasis on keywords • Readmes for samples and tools included in TOC and Search • Filtering based on technologies • Some improvements are in Windows Server 2003 SP1 DDK • Benefits • No need to obtain separate IFS Kit • Don’t need to know topic title to find content • Information on samples and tools more readily available
Improve TOC • Old TOC
Improve TOC • New TOC
Driver Test Manager (DTM) • Formerly known as the “LDK Test Harness” • Same testing tool used by Windows Test Teams • Many of the same tests used by Windows Teams • More than just the Logo tests • Stress, performance and functionality tests • Targeted Environment • For testing only Windows drivers and related apps • Not to be used in non-test environments • Usage limited to OEMs, ODMs, IHVs, ISVs
DTM: Scaling to All Driver Test Needs • Scaling Up • To large QA Labs • Up to 100 test clients per controller • As many controllers as needed • Single controller per database • No inter-controller processing • Scaling down • Developer unit testing • One controller, one test client
DTM: Deployment Studio UI Streamlined for driver testing Planning and monitoring Controller Services and daemons Configuration database Stored procedures Test Client System under test Contains a slim execution agent ∞ 1 Automation Datastore DTM Controller 1 100
DTM: Key Concepts DTM Job Configuation Tests Dumps Results • Jobs • A codified test plan • A collection of 1 or more tasks • Executables, like “LogoTest.exe” • Task dependencies can be created • Setup, Regular, Cleanup • Sharable • Constrainable • Dimensions • Parameters • The DTM provides a common set of jobs • You can create custom jobs • Configuration Gatherer • Collects information about a test client’s configuration • Hardware and software • Presents configuration to controller for scheduling
DTM: Key Concepts • Scheduling • Automated job distribution • Parallel execution • Targets jobs to the resources • Packaging • Collection of test scenario information • Tests, configuration, logs, results • Collaboration • Reproduction • Automated Deployment • Automated System Installer (ASI) • Hands-off installation of any Windows version • Clean installation integrity • No need to manage a large number of images • System Imaging Tool • Automated install of any image
Packager ScenarioInvestigate a failure View Data Import Studio Jobs, tests, results, system configuration data,crash dumps LDK Controller LDK Controller Test Clients Test Clients
DTM Scenario My Job Config DTM Controller Device 0 Device 0 Device 0 The package can be saved so the tests can be duplicated at a later date… The scheduler matches the jobs to the test targets with the appropriate hardware My Job Job 0 Scheduler After reviewing the results, the test engineer packages all test information and results Automation Datastore OEMs …and shared with customers, OEMs, or submitted to Microsoft Device x Job Management The test engineer creates and manages jobs from the studio The gatherers are sent to the test targets to gather information about their devices The jobs and test configuration are sent to the test targets Microsoft Log When the tests are complete, the results are sent to the controller where they can be reviewed Log 1 The test targets are configured automatically, including a clean install of the OS Log 0 DTM Studio Test System Pool The tests execute in parallel or in sequence, collecting results in logs
Demo Driver Test Manager
DTM: Benefits • Single automated testing framework • Logo tests • Non-logo tests • Your tests – preserve your existing investments • Testing framework used by Microsoft internally • Improved testing throughput – parallel execution • Installation of OS images on test systems • Collaboration using the “Packager” • Among remote sites, your partners and Microsoft • Share any test scenario – drivers, jobs and tests, test results (including Logo), crash dumps
Planned WDK Timeline • Tied to the Longhorn release schedule • WDK released simultaneously with Longhorn interim releases and milestones • WDK Betas released simultaneously with Longhorn Betas • Beta 1 – DTM, OS Imaging, Versioned Headers, CUV, PFD, Samples • Beta 2 – DTM Collaboration, Tests • RC0 – DFW Logo content / tests • RC1 – Use WDK for Logo submittals
Partner Engagement • Driving early adoption • We have traditionally not had strong adoption during the previous DDK or HCT betas • The WDK needs feedback early enough to act on it • Sign up for the WDK program if you are interested in providing feedback • Technology Adoption Program • 25 participants • Focused adoption efforts in the beta timeframe • Select • 75 participants • Surveys, limited call downs, availability of interim builds • Beta • Hundreds of participants • Testing adoption through statistical sampling
Call to Action • Start preparing now • The WDK will be necessary for Longhorn Logo testing • Plan and budget for new software • Try Driver Test Manager in your lab • Consider changes to lab topology • Training (courses, books) • Don’t be caught off guard: Sign up for the WDK beta program and try the WDK • Does it align with your business goals? • How does it fit into your line of business processes? • What features might help keep your costs down? • Contact: WDKFB @ microsoft.com
Community Resources • Windows Hardware & Driver Central (WHDC) • www.microsoft.com/whdc/default.mspx • Technical Communities • www.microsoft.com/communities/products/default.mspx • Non-Microsoft Community Sites • www.microsoft.com/communities/related/default.mspx • Microsoft Public Newsgroups • www.microsoft.com/communities/newsgroups • Technical Chats and Webcasts • www.microsoft.com/communities/chats/default.mspx • www.microsoft.com/webcasts • Microsoft Blogs • www.microsoft.com/communities/blogs
Additional Resources • Community Sites • http://www.microsoft.com/communities/default.mspx • List of Newsgroups • http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx • Attend a free chat or webcast • http://www.microsoft.com/communities/chats/default.mspx • http://www.microsoft.com/seminar/events/webcasts/default.mspx • Locate a local user group(s) • http://www.microsoft.com/communities/usergroups/default.mspx • Non-Microsoft Community Sites • http://www.microsoft.com/communities/related/default.mspx
Additional Resources • For questions on the WDK, email WDKFB @ microsoft.com • Web Resources: • Windows Driver and Hardware Central – http://www.microsoft.com/whdc/default.mspx • WDK Page: http://www.microsoft.com/whdc/driver/wdk/default.mspx • “Introduction to the Windows Driver Foundation Peter Viscarola” “How To Develop Device Drivers Using the Kernel Mode Driver Foundation“ by OSR Press. September 2005. www.osr.com/wdfbook.htm • Related Sessions • Windows Driver Foundation: An Introduction (next) • Business Value of the Windows Device Software Lifecycle (today afternoon) • Windows Driver Quality Signature (today afternoon) • How to Improve Driver Quality with Winqual / WHQL (Wed) • How to Manage a Quality Device Driver (previous) • Driver Install Frameworks Tools and Strategies (Wed)
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.