WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger...

20
www.buildwindows.com Developing drivers in Visual Studio Kevin Miller Principal Program Manager Microsoft Corporation HW-235T Doron Holan Principal Software Development Engineer Microsoft Corporation

Transcript of WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger...

Page 1: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Developing drivers in Visual Studio

Kevin MillerPrincipal Program ManagerMicrosoft Corporation

HW-235T

Doron HolanPrincipal Software Development EngineerMicrosoft Corporation

Page 2: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Windows and Visual Studio are collaborating to create a world-class environment for driver development.

Page 3: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Agenda• Why modern driver development?• Getting started/migrating to Visual Studio• Focus on driver quality• Simplifying common driver development tasks

Key take-away• Understand Microsoft investments for driver

development and how to use them to create great drivers more quickly

Page 4: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Primary goals for Windows 8

• Make developers more productive• Integrate driver tools into the modern Visual Studio

environment• Find defects early• Move quality “upstream” in the development process• Integrate quality tools and tests into Visual Studio

• Ease creation of more reliable, better-performing drivers• Enhance driver development frameworks• Simplify common driver development tasks

Page 5: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Driver development in Visual Studio “11”

• Visual Studio “11” is the recommended development environment for building Windows 8 drivers

• Driver-specific functionality is delivered via a Windows Driver Kit (WDK) add-on pack to Visual Studio

• Copies of Visual Studio “11” Ultimate and the WDK are on the USB stick you received with your conference materials

Page 6: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

WDK (Visual Studio add-on)

Visual Studio “11” Ultimate

Kernel-mode headers/libs

Kernel debugger

(engine and UI)

Windows SDK

Visual Studio Core

Driver development in Visual Studio “11”Component Layout

Driver analysis tools

VS driver templates

VS driver toolbar (build, package, sign)

Driver testing and

deployment tools

Online

Documents (MSDN)

Samples (Code Gallery)

Redistributables

(Developer Portal)

Page 7: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Getting started

• Get going quickly• New Visual Studio templates provided for networking,

storage, printing, WDF (KMDF and UMDF) and WDM drivers

• New tool automates migration of existing Windows 7 driver projects

• Write less code• The Windows Driver Framework (WDF) has new support

for power management, kernel-mode DMA and user-mode hardware access

Page 8: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Create, build, package and sign a driver in Visual Studio

demo

Page 9: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Driving quality “upstream”Tools• Compiler enhancements ease driver development• C++ is a “first class citizen” for creating drivers• New “/kernel” switch catches illegal driver code at

compile-time• Integrated analysis tools find bugs early• Static Driver Verifier (SDV)• Code Analysis (was PREfast/PFD)

Page 10: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Early bug detection

demo

Page 11: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Simplifying common tasksScenario focus• “Easily run tests” automates build-debug cycle for

developers• Automated driver build, packaging, signing and

deployment• Test library pre-loaded with “Device Fundamentals” tests• Remote machine provisioning and integrated kernel

debugging• “Easily write tests” simplifies creation of new driver

tests• Create new driver tests with Visual Studio templates

Page 12: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Remote driver deployment, testing and debugging

demo

Page 13: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

“Release notes”

• Timing• Get started now with driver development using Visual

Studio!• Visual Studio “Go Live” licensing takes effect at beta

• Visual Studio in “build labs”• Version-control tool scenarios will be documented at beta

• Operating System Targeting• Windows 8, Windows 7, Windows Vista and Windows

Server 2008 (SP2 and R2) are supported

Page 14: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Summary

• Make developers more productive• Try it in Hands On Lab # 721, “Experiencing Windows

Driver Kit integration with Visual Studio”• Find defects early• Learn more at Session #239, “Moving driver quality

upstream with WDK Driver Verification and Test Tools”• Ease creation of more reliable, better performing

drivers• Ask the experts at Chalk Talk #907, “Inside the Windows

8 driver developer workflow”

Page 15: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Windows and Visual Studio are collaborating to create a world-class environment for driver development.

Page 16: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

Visual Studio licensing

• Visual Studio is licensed per-user, not per-installation

• MSDN licensees receive all versions of Visual Studio shipped while their subscription is active

• More information for Enterprises here• Start-ups and smaller businesses may be eligible

for BizSpark or the Microsoft Partner Network (MPN)

• Academic institutions (incl. students) can take advantage of DreamSpark

Page 17: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

For more information

• #HW-322T – Designing great devices and drivers

• #HW-328T – Using the Windows Driver Framework to build better drivers

• #HW-239T– Moving driver quality upstream with WDK driver and verification test tools

• #HW-98P – Windows 8 kernel debugging: New protocols and certification requirements

• #HW-907C - Inside the Windows 8 driver developer workflow

Related sessions Documentation & articles

[email protected]

• Developing, Testing, and Deploying Drivers

• Debugging Using Visual Studio • Windows Hardware Dev Center• Windows Dev Center

Page 18: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

www.buildwindows.com

• Feedback and questions http://forums.dev.windows.com

• Session feedbackhttp://bldw.in/SessionFeedback

thank you

Page 19: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.

© 2011 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.

Page 20: WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.