Driver Developer Conference 2008

Conference Sessions

DDC will focus on key operating system concepts and internals, device driver development, and technology-specific implementation and will include a preview of a limited set of Windows 7 advances that are relevant to driver developers.

For a closer look at the DDC schedule, download the detailed agenda.



Development and Debugging

Devices

Networking

Printing and Imaging

Storage

System Fundamentals

Development and Debugging

About this track:

Learn about the latest advancements being released with Windows 7 for developing and debugging device drivers. Get a deeper understanding of the Windows Driver Foundation, new tools in the Windows Driver Kit and Device Simulation Framework. Sharpen your skills though a more thorough understanding of some of the "tricks" in debugging drivers in order to more effectively troubleshoot your driver. Become an expert in utilization of the vastly improved static analysis tool SDV and PREfast through labs and deep dive sessions.


TECHNICAL SESSIONS:

Developing Debugger Extensions - DDE-T768
Presenter(s): Prasad Kakulamarri

You can automate or simplify debugging domain-specific tasks by writing your own custom debugger extension. This session introduces the Debugger SDK and the Debugging Tools for Windows architecture and provides details that demonstrate the simplicity, flexibility, and power of custom extensions. Attendees should be familiar with debugging tools for Windows distribution and Windows development in C or C++.

Level:  300
Session Time:
Wednesday, October 01, 2008 11:00 AM Add to Calendar

Distributing Drivers on Windows Update - DDE-T675
Presenter(s): Tim Davis

This session discusses how to use the Driver Distribution Center in Winqual to distribute drivers on Windows Update and the new targeting features available. We will also cover how to package your driver for distribution on Windows Update and the Windows Logo Program policy for driver content on Windows Update.

Level:  200
Session Time:
Wednesday, October 01, 2008 1:30 PM Add to Calendar

Driver Annotations in Depth: Part 1 - DDE-T763
Presenter(s): Donn Terry

This session discusses applying annotations to your headers and driver code to improve quality when you are running PREfast for Drivers. You'll learn how to add annotations for buffer management and how to minimize noise in driver analysis.

Level:  300
Session Time:
Monday, September 29, 2008 1:30 PM Add to Calendar

Driver Annotations in Depth: Part 2 - DDE-T676
Presenter(s): Donn Terry

This session is a continuation of the “Driver Annotations in Depth: Part 1” session. After learning about core PREfast for Drivers (PFD) annotations, you will learn how and when to apply the driver-specific annotations that are necessary to take best advantage of PFD. This session will discuss issues such as locking, IRQL behavior, resource faults, constant errors, floating point errors, type mismatch errors, aliased memory, and illegal value errors.

Level:  300
Session Time:
Monday, September 29, 2008 2:45 PM Add to Calendar

Driver Verifier Advancements in Windows 7 - DDE-T677
Presenter(s): Daniel Mihai

In this session, members of the Driver Verifier development team discuss the latest improvements and describe the additional classes of Windows Driver Model (WDM) driver bugs that can be exposed by Driver Verifier in Windows 7. During this session, you’ll learn about additional data and debugger extensions that Driver Verifier provides to help you debug your driver problems.

Level:  300
Session Times:
Monday, September 29, 2008 5:15 PM Add to Calendar
Wednesday, October 01, 2008 1:30 PM Add to Calendar

Exploring a KMDF Storage Driver Parts 1 and 2 - DDE-T681
Presenter(s): David Burg, Grigory Lyakhovitskiy, Praveen Rao

This session describes how Microsoft rewrote a storage driver using the kernel-mode driver framework (KMDF). We’ll compare the difference between KMDF and Windows Driver Model (WDM) for storage. The session provides a case study and very technical advice for developers who want to move to KMDF and write high-performance drivers. We’ll perform hands-on debugging to the delight of the crowd.

Level:  400
Session Times:
Tuesday, September 30, 2008 9:45 AM Add to Calendar
Tuesday, September 30, 2008 11:00 AM Add to Calendar

Getting a Logo for your Windows Driver Foundation Driver - DDE-T683
Presenter(s): Neslihan Bulut

This session describes how your User-Mode Driver Framework (UMDF) or Kernel-Mode Driver Framework (KMDF) driver is tested when you submit it to the Windows Logo Program. The session also discusses verifier tools and how to use them to find problems with drivers that you are submitting for a logo.

Level:  200
Session Times:
Monday, September 29, 2008 4:00 PM Add to Calendar
Tuesday, September 30, 2008 2:45 PM Add to Calendar

Improving Driver Concurrency Testing - DDE-T673
Presenter(s): James Moe, Dieter Achtelstetter

Many bugs are obscured when various parts of a driver's code are executed concurrently. For example, targeting specific Plug and Play scenarios while the driver is also processing an I/O IRP can fail to expose a bug in that concurrent code. In this talk we will explain a method of analyzing data that resulted from one such test and how Microsoft used this data to improve the tests in the Windows 7 WDK.

Level:  300
Session Times:
Tuesday, September 30, 2008 11:00 AM Add to Calendar
Wednesday, October 01, 2008 8:30 AM Add to Calendar

Packaging and Deploying KMDF and UMDF Drivers - DDE-T687
Presenter(s): Bob Kjelgaard, Ilias Tsigkogiannis

In this session, you'll learn how to install Windows Driver Foundation (WDF) drivers by using the WDF co-installers and how to debug installation failures. We will also drill down into how the WDF co-installers work and what improvements have been made to them for Windows 7.

Level:  300
Session Time:
Tuesday, September 30, 2008 4:00 PM Add to Calendar

Shared Secrets about Windows Driver Foundation: Part 1 - DDE-T688
Presenter(s): Doron Holan, Kumar Rajeev

In this session, we will discuss the design philosophy that went into building the Windows Driver Foundation (WDF): the Plug and Play power management state machine, the naming patterns for the device driver interfaces (DDI)s, and our best development practices in building the frameworks. With this information you'll gain a good start to using and applying these patterns to your own drivers.

Level:  300
Session Times:
Monday, September 29, 2008 11:00 AM Add to Calendar
Wednesday, October 01, 2008 8:30 AM Add to Calendar

Shared Secrets about Windows Driver Foundation: Part 2 - DDE-T689
Presenter(s): Shyamal Varma, Bob Kjelgaard, Wei Mao

This second session on the shared secrets about WDF covers how we use the WDF design philosophy to build our tests for the frameworks. You'll leave with an understanding of how to develop your own complete test strategy based on our WDF philosophy,

Level:  400
Session Times:
Monday, September 29, 2008 4:00 PM Add to Calendar
Wednesday, October 01, 2008 9:45 AM Add to Calendar

Upcoming Changes in the Windows Driver Kit - DDE-T692
Presenter(s): Ted Hudek, Griffin Cole, Craig Ziegler

This session reviews the changes in the Windows Driver Kit (WDK) for Windows 7. These changes include new samples and tools, improved existing samples, improved documentation, and modification to the kit setup and build environment.

Level:  200
Session Times:
Monday, September 29, 2008 11:00 AM Add to Calendar
Wednesday, October 01, 2008 2:45 PM Add to Calendar

Updates to the Windows Logo Program Tools for Windows 7 - DDE-T699
Presenter(s): Craig Rowland, Karl Froelich, Don Thornton

This session will discuss using Logopoint, the Windows Logo Kit, and Winqual to certify device drivers for Windows 7. We also discuss the use of other Winqual tools, such as Windows Error Reporting and Driver Quality Rating, and we will show an example of how to retrieve your driver's crash data.

Level:  200
Session Time:
Tuesday, September 30, 2008 1:30 PM Add to Calendar

Using KMDF in Miniport Drivers - DDE-T685
Presenter(s): Vishal Manan, Eliyas Yakub

This session explains how to use the Kernel Mode Driver Framework (KMDF) to build miniport drivers such as NDIS. We will demonstrate that KMDF is a strong solution for building miniport drivers and why Microsoft recommends it as the preferred method for this type of driver.

Level:  300
Session Time:
Monday, September 29, 2008 4:00 PM Add to Calendar

Using Static Analysis Tools When Developing Drivers - DDE-T690
Presenter(s): Adam Shapiro

This session focuses on getting started using PREfast for Drivers (PFD), Static Driver Verifier (SDV), and Office Auto Code Review (OACR). These tools detect many simple bugs and complex corner cases that would be labor intensive to isolate with conventional testing methods.

Level:  200
Session Time:
Monday, September 29, 2008 8:30 AM Add to Calendar

What's New in Windows Driver Frameworks - DDE-T697
Presenter(s): Eliyas Yakub, Peter Wieland

This session explores the new features in Windows Driver Foundation (WDF) for Windows 7. New features and improvements in User-mode driver framework (UMDF), Kernel-mode driver framework (KMDF) and the WDF infrastructure will be discussed.

Level:  300
Session Times:
Monday, September 29, 2008 8:30 AM Add to Calendar
Wednesday, October 01, 2008 9:45 AM Add to Calendar

CHALK TALKS:

Device Simulation Framework Updates and Common Questions - DDE-C679
Presenter(s): Peter Shier

Device Simulation Framework (DSF) enables simulation of hardware in Windows without the hardware expense. This chalk-talk provides an update on DSF and discusses the interface association descriptor (IAD) implementation, testing selective suspend, using polled or event driven data transfers, endpoint diagnostics, event sinks for multiple endpoints, and using managed code with simulations.

Level:  300
Session Time:
Monday, September 29, 2008 2:45 PM Add to Calendar

Driver Verifier Internals - DDE-C678
Presenter(s): Daniel Mihai, David Willson, Marius Popa

This session is an opportunity to discuss with members of the Driver Verifier development team the verification improvements in Windows 7 and to ask questions about the internals of any of the Driver Verifier checks. During this session, you’ll learn how to get started on debugging the kernel driver defects that Driver Verifier exposes. This is also your opportunity to suggest improvements to this tool.

Level:  300
Session Time:
Tuesday, September 30, 2008 8:30 AM Add to Calendar

Events & Counters: Writing Instrumentation to Monitor, Diagnose, and Debug Your Driver - DDE-C758
Presenter(s): Kevin Woley, Wedson Almeida Filho, Jose Sua

Windows Event and Performance Counter instrumentation are powerful tools to diagnose problems and debug your drivers. However, adding valuable instrumentation to your code can be daunting without the proper guidance. Attend this talk to get advice directly from the instrumentation team about why you should be adding events and counters to your code and how advancements in Windows 7 enable you to do it quickly and effectively.

Level:  300
Session Time:
Tuesday, September 30, 2008 2:45 PM Add to Calendar

Integrating PREfast into Your Build by Using Office Auto Code Review - DDE-C686
Presenter(s): Craig Ziegler, Paul Wiens

Background driver verification with PREfast for Drivers will be implemented in the Windows 7 Windows Driver Kit (WDK) through a feature named Office Auto Code Review (OACR). This chalk-talk provides an overview of OACR, how it functions, and how to set it up to meet your needs for evaluating the quality of your driver.

Level:  200
Session Time:
Tuesday, September 30, 2008 4:00 PM Add to Calendar

The Windows Driver Kit Build Environment - DDE-C691
Presenter(s): Craig Ziegler, Tanya Radeva

The Windows Driver Kit (WDK) has a rich and complex build environment, and tools can be configured to create drivers under many use scenarios. This chalk-talk covers the setup and configuration options that are available in these build tools.

Level:  200
Session Times:
Tuesday, September 30, 2008 5:15 PM Add to Calendar
Wednesday, October 01, 2008 2:45 PM Add to Calendar

Using Static Driver Verifier to Analyze KMDF Drivers - DDE-C694
Presenter(s): Con McGarvey, Onur Ozyer

Static Driver Verifier (SDV) in Windows 7 provides support for the kernel-mode driver framework (KMDF) driver model. You'll see SDV for KMDF in action and understand the properties that SDV for KMDF can check. This chalk-talk is intended for any KMDF driver developer or tester to get started on using SDV. Members of the SDV and the KMDF teams will be available to answer questions, and you'll leave with a clear idea of how to run SDV on your own KMDF driver. This interactive session is a follow-up to the "Using Static Analysis Tools When Developing Drivers" session.

Level:  400
Session Time:
Monday, September 29, 2008 4:00 PM Add to Calendar

Using Static Driver Verifier to Analyze NDIS Drivers - DDE-C695
Presenter(s): Con McGarvey, Ben Severson

Static Driver Verifier (SDV) in the Windows 7 Windows Driver Kit (WDK) provides new support for the NDIS driver model. You'll see SDV for NDIS in action and understand the properties that SDV for NDIS can check. This chalk-talk is intended for any NDIS driver developer or tester to get started on using SDV. Members of the SDV and the NDIS teams will be available to answer questions, and you'll leave with a clear idea of how to run SDV on your own NDIS driver. This interactive session is a follow-up to the "Using Static Analysis Tools When Developing Drivers" session.

Level:  400
Session Time:
Tuesday, September 30, 2008 9:45 AM Add to Calendar

Using Static Driver Verifier to Analyze Windows Driver Model Drivers - DDE-C696
Presenter(s): Con McGarvey, Onur Ozyer

Static Driver Verifier (SDV) in Windows 7 provides great support for the Windows Driver Model (WDM). You'll see SDV for WDM in action and understand the properties that SDV for WDM can check. This chalk-talk is intended for any WDM driver developer or tester to get started on using SDV. Members of the SDV team will be available to answer questions, and you'll leave with a clear idea of how to run SDV on your own WDM driver. This interactive session is a follow-up to the "Using Static Analysis Tools When Developing Drivers" session.

Level:  400
Session Time:
Wednesday, October 01, 2008 9:45 AM Add to Calendar

PANEL DISCUSSIONS:

Community Issues: Driver Development - DDE-P672
Presenter(s): Rob Dreyfoos

This session allows you as a member of the driver developer community to discuss topics of interest with Microsoft experts in a panel discussion. Come and hear the voice of the community and Microsoft as we discuss current affairs in the driver ecosystem.

Level:  300
Session Times:
Monday, September 29, 2008 5:15 PM Add to Calendar
Wednesday, October 01, 2008 11:00 AM Add to Calendar

Discussion: Windows Driver Foundation - DDE-P698
Presenter(s): Peter Wieland

This is an open-ended panel discussion to cover issues of broad interest about Windows Driver Foundation (WDF). Bring topics about WDF that you want to discuss or suggestions that you want to share. However, note that this is not a session for debugging random driver issues.

Level:  200
Session Time:
Wednesday, October 01, 2008 1:30 PM Add to Calendar

Hands-on Labs:

PREFast for Drivers Lab - DDE-L770
Presenter(s): Donn Terry, Adam Shapiro, Michael Fourre

This self-paced lab allows you to experience using PREfast for Drivers (PFD) to improve the quality of your drivers. You can use this lab as an opportunity to Ask the Expert questions about using PFD, annotation issues, and Auto Code Review (OACR).

Level:  300
Session Times:
Monday, September 29, 2008 11:00 AM Add to Calendar
Wednesday, October 01, 2008 8:30 AM Add to Calendar

Static Driver Verifier for WDM, KMDF, and NDIS Lab - DDE-L769
Presenter(s): Con McGarvey, Onur Ozyer, Jon Hagen

This self-paced lab allows you to experience using Static Driver Verifier (SDV) for improving the quality of your Windows Driver Model (WDM), kernel-mode driver framework (KMDF), and Network Driver Interface Specification (NDIS) drivers. The team will be available to help you with issues that you are having with your drivers and with using SDV.

Level:  300
Session Times:
Monday, September 29, 2008 5:15 PM Add to Calendar
Wednesday, October 01, 2008 11:00 AM Add to Calendar

Instructor-led Labs:

Debugging Bugs Exposed by Driver Verifier - DDE-L674
Presenter(s): Daniel Mihai, Marius Popa, David Willson

In this lab, you'll review typical steps for debugging the driver bugs that Driver Verifier exposes. You'll follow along through these steps and learn how to connect various pieces of forensic evidence that is available in the debugger.

Level:  300
Session Time:
Wednesday, October 01, 2008 8:30 AM Add to Calendar

Using WinDBG to Debug KMDF Drivers - DDE-L684
Presenter(s): Eliyas Yakub, Abhishek Ram

In this lab, you'll learn how to use the Windows Driver Foundation (WDF) debugger extensions and what to look for when you encounter problems with your WDF driver. This lab focuses on Kernel Mode Driver Framework (KMDF) drivers, so a knowledge of KMDF and debuggers is assumed.

Level:  300
Session Times:
Monday, September 29, 2008 2:45 PM Add to Calendar
Wednesday, October 01, 2008 11:00 AM Add to Calendar