The WDK for Engineering Managers and Product Planners: An

The WDK for Engineering Managers
and Product Planners:
An Introduction
Lee Davis
Lead Program Manager
Windows Driver Kits
LeeDavis @ Microsoft.com
Microsoft Corporation
Session Outline
What is the Windows Driver Kit (WDK)?
Features and Content
Driver Test Manager
Preparing for the WDK
What is 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
in
do
w
s
D
D
riv
ev
er
ic
e
Fr
Te
am
W
st
ew
in
Fr
do
or
am
k
w
e
s
w
D
D
or
riv
ev
k
er
ic
e
Ki
M
t
a
D
n
riv
ag
er
em
ve
en
rif
t&
D
ic
riv
a
In
tio
er
st
n
Q
al
t
ua
o
la
o
D
tio
lit
l
s
ifx
y
n
Si
To
gn
ol
at
s
W
ur
in
e
do
w
s
Er
O
nro
lin
rR
e
ep
Pr
or
ov
ti n
is
g
io
ni
ng
W
A Holistic Approach
Frameworks
Test
Design
x
x
Develop
x
x
x
x
x
x
x
Qualify
x
x
Maintain
x
x
Tools
x
Online Services
x
x
x
x
x
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
Key Usage
Integrated build environment for device software development
OS and Tools
Documentation
Windows Driver
Build
Foundation
1
Build Drivers
( Win2KLH)
2
Debug Drivers
3
Driver Testing
4
Logo Testing
WinQual
Driver Test
Environment
Scenarios
Integration
Manager
Environment
LDK Test
Samples
Harness
(WTT)
Template
Drivers
Development
Tools
Logo Tests
Kernel
Quality Tests
Debugger
Maintain
Qualify
Test
Develop
Design
(PREfast)
Pillars of LDK
Build
The WDK - Deployment
WDK
Test Lab
Extensions for
3rd Party Tests
Logo Tests
Driver Test Manager
Static
Analysis
Samples
Test Result Sharing
MS Quality Tests
OEMs
Internet
Docs
Microsoft
Debugging
Tools*
Build
Environment
Features
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
NTIFS.H
Result:
Definitions moved to lowest
common header
Higher headers only have
definitions specific to them
Enables versioning
#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
Features: Test
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
∞
1
Controller
Services and daemons
Configuration database
Stored procedures
Test Client
System under test
Contains a slim execution
agent
Automation
Datastore
1
100
DTM Controller
DTM: Key Concepts
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
DTM Job
Configuation
Tests
Dumps
Results
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 Scenario
Investigate a failure
View Data
Import
LDK Controller
Test Clients
Jobs, tests, results,
system configuration data,
crash dumps
Studio
LDK Controller
Test Clients
The package can be saved so the tests
can be duplicated at a later date…
DTM Scenario
The scheduler
matches the jobs to the
test targets with the
appropriate hardware
OEMs
My Job
Job 0
Scheduler
Automation
Datastore
My Job
…and shared with
customers, OEMs, or
submitted to Microsoft
Config
Device x
DTM Controller
The test engineer
creates and manages
Microsoft
jobs
from the studio
The jobs and
test configuration
are sent to the
test targets
Device00
Device
Device
0
Log
Log 1
DTM Studio
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 gatherers are
sent to the test
targets to gather
information about
their devices
When the tests are
complete, the results are
sent to the controller
where they can be
reviewed
Log 0
The tests execute in
parallel or in sequence,
collecting results in logs
Test System
Pool
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
Preparing for the WDK
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/enus/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.