The WDK for Engineering Managers and Product Planners: The WDK for Engineering Managers and Product...
-
Upload
justin-morgan -
Category
Documents
-
view
221 -
download
0
Transcript of The WDK for Engineering Managers and Product Planners: The WDK for Engineering Managers and Product...
The WDK for Engineering Managers The WDK for Engineering Managers and Product Planners:and Product Planners:An Introduction
Lee DavisLead Program ManagerWindows Driver KitsLeeDavis @ Microsoft.comMicrosoft Corporation
Session OutlineSession Outline
What is the Windows Driver Kit (WDK)?
Features and Content
Driver Test Manager
Preparing for the WDK
WDK GoalsWDK 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 MotivationImprove driver quality => improve Windows experience
Reduce complexity
Reduce product development costs
Reduce support costs
Online ServicesFrameworks Tools
Wind
ows D
river
Fra
mew
ork
Device
Tes
t Fra
mew
ork
Wind
ows D
river
Kit
Device
Man
agem
ent &
Insta
llatio
n
Driver
verif
icatio
n to
ols
Driver
Qua
lity S
ignat
ure
Difx T
ools
Wind
ows E
rror R
epor
ting
On-lin
e Pro
vision
ing
Design x x x
Develop x x x x
Test x x x x x
Qualify x x x x
Maintain x x x
A Holistic ApproachA Holistic Approach
The WDK - DescriptionThe WDK - Description
One Single KitMore 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 ObjectivesBuild, test, debug drivers on Windows 2000 forward to Windows codenamed “Longhorn”
Support all Signature and Logo programsIncluding 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 ComponentsThe WDK _ Lifecycle Components
Pill
ars
of L
DK
Key Usage
Scenarios
Logo Testing
Driver Testing
Debug Drivers
Build Drivers( Win2KLH)
Build
EnvironmentT
es
t
Qu
ali
fy
Ma
inta
in
LDK Test
Harness (WTT)
De
sig
n
Samples
Template Drivers
Development
Tools
(PREfast)
Logo Tests
Quality Tests
Driver Test
Manager
Kernel
Debugger
OS and Tools
Documentation
Build
Environment
1
2
3
4
De
ve
lop
Integrated build environment for device software development
Windows Driver
Foundation
WinQual
Integration
StaticStaticAnalysisAnalysis
The WDK - DeploymentThe WDK - Deployment
WDKWDK
Te
st Re
sult S
harin
gT
est R
esu
lt Sh
aring
Test LabTest Lab
Internet
DebuggingDebuggingTools*Tools*
SamplesSamples
Driver Test ManagerDriver Test Manager
MS Quality TestsMS Quality Tests
Logo TestsLogo Tests
Extensions forExtensions for33rdrd Party Tests Party Tests
OEMsOEMs
Build Build EnvironmentEnvironment
DocsDocs
MicrosoftMicrosoft
Features: Design and Development 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 ToolsStatic Driver Verifier
Deprecated Function Checking
Redesigned Documentation Navigation / Search
Header HierarchyHeader 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
WDM.H
NTDDK.H
NTIFS.H
#include
#include
Versioned HeadersVersioned 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
BenefitsSimplified development environment management
Easier to use up-level features of later OS versions
Developer Documentation ImprovementsDeveloper Documentation Improvements
Goals: Make it easier to find specific contentBased on user data collected in 2004
ImprovementsIntegrating 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
BenefitsNo need to obtain separate IFS Kit
Don’t need to know topic title to find content
Information on samples and tools more readily available
Driver Test Manager (DTM)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 TeamsMore than just the Logo tests
Stress, performance and functionality tests
Targeted EnvironmentFor 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 NeedsDTM: Scaling to All Driver Test Needs
Scaling UpTo large QA Labs
Up to 100 test clients per controller
As many controllers as neededSingle controller per database
No inter-controller processing
Scaling downDeveloper unit testing
One controller, one test client
DTM: DeploymentDTM: Deployment
Studio UIStreamlined for driver testing
Planning and monitoring
ControllerServices and daemons
Configuration database
Stored procedures
Test Client System under test
Contains a slim execution agent
AutomationDatastore
DTM Controller
∞
1
1
100
DTM: Key ConceptsDTM: Key Concepts
JobsA codified test planA collection of 1 or more tasks
Executables, like “LogoTest.exe”Task dependencies can be created
Setup, Regular, Cleanup
SharableConstrainable
DimensionsParameters
The DTM provides a common set of jobsYou can create custom jobs
Configuration GathererCollects information about a test client’s configurationHardware and softwarePresents configuration to controller for scheduling
DTM JobConfiguation
TestsDumps
Results
DTM: Key ConceptsDTM: Key Concepts
SchedulingAutomated job distribution
Parallel execution
Targets jobs to the resources
PackagingCollection of test scenario information
Tests, configuration, logs, results
Collaboration
Reproduction
Automated DeploymentAutomated System Installer (ASI)
Hands-off installation of any Windows version
Clean installation integrity
No need to manage a large number of images
System Imaging ToolAutomated install of any image
Packager ScenarioPackager ScenarioInvestigate a failure
Test ClientsTest Clients
Jobs, tests, results, Jobs, tests, results, system configuration data,system configuration data,
crash dumpscrash dumps
Test ClientsTest Clients
StudioStudio
View DataView Data
ImportImport
LDK ControllerLDK Controller LDK ControllerLDK Controller
AutomationAutomationDatastoreDatastore
DTM ScenarioDTM Scenario
DTM ControllerDTM Controller
Job 0
Log 1
Log 0
Log
SchedulerScheduler
DTM StudioDTM StudioTest System Test System PoolPool
Job
Man
agem
ent
Device 0Device 0Device 0
My Job
My JobConfig Device x
The gatherers are sent to the test targets to gather information about their devices
The test engineer creates and manages jobs from the studio
The scheduler matches the jobs to the test targets with the appropriate hardware
The jobs and test configuration are sent to the test targets
The tests execute in parallel or in sequence, collecting results in logs
When the tests are complete, the results are sent to the controller where they can be reviewed
After reviewing the results, the test engineer packages all test information and results
The test targets are configured automatically, including a clean install of the OS
The package can be saved so the tests can be duplicated at a later date…
…and shared with customers, OEMs, or submitted to Microsoft
OEMsOEMs
MicrosoftMicrosoft
DTM: BenefitsDTM: Benefits
Single automated testing frameworkLogo 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 TimelinePlanned WDK Timeline
Tied to the Longhorn release scheduleWDK 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 EngagementPartner Engagement
Driving early adoptionWe have traditionally not had strong adoption during the previous DDK or HCT betas
The WDK needs feedback early enough to act on itSign up for the WDK program if you are interested in providing feedback
Technology Adoption Program25 participants
Focused adoption efforts in the beta timeframe
Select75 participants
Surveys, limited call downs, availability of interim builds
BetaHundreds of participants
Testing adoption through statistical sampling
Call to ActionCall to Action
Start preparing nowThe WDK will be necessary for Longhorn Logo testing
Plan and budget for new softwareTry 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 ResourcesCommunity Resources
Windows Hardware & Driver Central (WHDC)www.microsoft.com/whdc/default.mspx
Technical Communitieswww.microsoft.com/communities/products/default.mspx
Non-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx
Microsoft Public Newsgroupswww.microsoft.com/communities/newsgroups
Technical Chats and Webcastswww.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcasts
Microsoft Blogswww.microsoft.com/communities/blogs
Additional ResourcesAdditional Resources
Community Siteshttp://www.microsoft.com/communities/default.mspx
List of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or webcasthttp://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 Siteshttp://www.microsoft.com/communities/related/default.mspx
Additional ResourcesAdditional ResourcesFor 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 SessionsWindows 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)