the wdk for engineering managers and product planners: the wdk for engineering managers and product...

34
The WDK for Engineering The WDK for Engineering Managers and Product Planners: Managers and Product Planners: An Introduction Lee Davis Lead Program Manager Windows Driver Kits LeeDavis @ Microsoft.com Microsoft Corporation

Upload: justin-morgan

Post on 01-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

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

What is the WDK?What is 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

FeaturesFeatures

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

Improve TOCImprove TOC

Old TOC

Improve TOCImprove TOC

New TOC

Features: TestFeatures: Test

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

DemoDemo

Driver Test ManagerDriver Test Manager

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

Preparing for the WDKPreparing for the WDK

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)

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.