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 DebuggingAbout 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
|
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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
|
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:
| 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:
|
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:
| 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:
|
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:
| 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:
|
DevicesAbout this track: Explore the class drivers and appropriate driver implementation for simpler connected devices like portable media players and digital still cameras, portable device busses like USB, Bluetooth, Wireless USB, IEEE 1394, web services based printers and scanners. Learn about the new sensor location platform and explore possibilities for building low-cost devices using Windows Sideshow. TECHNICAL SESSIONS:USB in Windows 7 and Beyond - DVC-T703 Presenter(s): Randy Aull In this session, the USB team will discuss the enhancements in Windows 7 to the USB stack (especially around power management and stability), the Microsoft OS Descriptor, and expansions around the Windows Logo Program. In response to feedback on USB 3.0 from our community engagements, we will discuss some of the early thinking and specifics on the new host controller design with special attention to its impact for future USB products. Level:
300 Session Time:
| Using WinUSB For Your USB Devices - DVC-T705 Presenter(s): Randy Aull This session discusses WinUSB architecture and development in Windows and how to leverage this for a lower-cost user-mode driver for your device. We will also analyze WinUSB as an API. You’ll receive a background into the USB driver stack, examples of WinUSB implementation, and a walkthrough of WinUSB internal operations. In addition, we’ll also outline some of the power management aspects of WinUSB. Level:
300 Session Times:
| Windows SideShow: Building Low-Cost Devices - DVC-T706 Presenter(s): Teague Mapes In this session, you’ll learn how to make a low-cost device that is compatible with Windows SideShow by using a bitmap-rendering driver solution. The session provides an overview of the Windows SideShow driver architecture, a Windows SideShow bitmap driver sample, and how to customize and brand the sample for your products. Level:
300 Session Times:
| Windows SideShow: Using Universal Driver to Implement Devices - DVC-T759 Presenter(s): Rick Swaney This session provides an overview of how to build devices that are compatible with Windows SideShow and that connect with the new Universal Driver for Windows SideShow 1.5. It will cover the wire protocol packet format, the packet exchange protocol, and the specific command and response packet types. Level:
300 Session Time:
|
CHALK TALKS:Bluetooth and Wireless USB in Windows 7 - DVC-C702 Presenter(s): Fred Bhesania, Kristina Hotz, Zach Little, Randy Aull In this chalk-talk, you'll hear about new Windows 7 enhancements for Bluetooth wireless technology and Wireless USB. The talk will have ample opportunity for you to ask any questions about these technologies. Level:
300 Session Time:
| IEEE 1394 Enhancements in Windows 7 - DVC-C700 Presenter(s): Peter Binder, Fred Bhesania, Zach Little, Vivek Kulkarni In this session, the development team discusses the enhancements in the 1394 protocol stack and answers questions from the audience. Attendees are invited to bring questions about implementations of 1394 device drivers. You'll learn to spot any potential issues with existing drivers and help ensure a smooth transition to Windows 7. Level:
300 Session Time:
| Windows SideShow: Tips and Tricks for Building Great Devices - DVC-C778 Presenter(s): Teague Mapes, Rick Swaney, Dan Polivy This chalk talk will provide an opportunity to discuss Windows SideShow with members of the product team. We'll discuss some of the detailed aspects of implementing Window SideShow-compatible devices that help provide great user experiences. Hands-on demos of the latest technology will be available for viewing. Level:
300 Session Time:
|
PANEL DISCUSSIONS:Community Issues: Wired USB - DVC-P707 Presenter(s): FredBhesania, Lars Giusti, Randy Aull, Robbie Harris, Mukund Sankaranarayan In this session, the Windows USB core team will discuss the Windows Logo Program for wired USB, including requirements, technology implementation, and planning. In this town hall discussion format, the team will answer a list of frequently asked questions that have been gathered before the talk and then answer direct questions from the audience if time remains. Level:
200 Session Times:
|
NetworkingAbout this track: For network driver developers we examine our new framework for network driver development including advancements in hardware offloading, virtualization technologies, and power management. Both wired and wireless network solutions are discussed, including 3G mobile broadband. TECHNICAL SESSIONS:Advanced Network Virtualization Architecture Review - NET-T719 Presenter(s): Ali Dabagh, Don Stanwyck This session presents an overview of the new advanced network virtualization support and architecture in Windows 7 including a review of the technical design goals and tradeoffs and the benefits of the new networking virtualization architecture. Level:
300 Session Time:
| Advanced Network Virtualization Driver Development - NET-T720 Presenter(s): Sambhrama Mundkur This session presents a detailed walkthrough of driver development for network interface cards (NICS) that support the new network virtualization extensions. This talk provides guidelines on the best way to design the miniport driver to support these new network virtualization extensions. In addition, the details of specific object identifiers (OIDs), initialization process, and data handling will be covered. Level:
300 Session Time:
| Developing TCP Chimney Drivers for Windows 7 - NET-T715 Presenter(s): Vivek Bhanu, Joe Nievelt This session covers the specifics of a TCP Chimney driver and firmware and hardware development for Windows Server 2008 and Windows 7. We will discuss TCP/IP Requests for Comments (RFCs) that should be implemented by the TCP Chimney NICs. In addition the coexistence of receive-side scaling (RSS) and TCP Chimney will be discussed from a software perspective. Level:
300 Session Time:
| Implementing Efficient RSS-Capable Hardware and Drivers for Windows 7 - NET-T717 Presenter(s): Rade Trimceski This session covers the changes that will be made to the receive-side scaling (RSS) implementation in Windows 7 and how those changes will affect driver development. The coexistence of RSS and message signaled interrupt (MSI-X) will be discussed as well as handling indirection table updates on multiport NICs. Level:
300 Session Time:
| NDIS 6.20 Overview - NET-T711 Presenter(s): Bob Combs, Narsi Nagampalli This session discusses the updates in NDIS 6.1 and 6.20, including new or changed features and how they are implemented. Virtualization, power management, and support for more than 64 processors are just some of the many exciting enhancements and capabilities. Level:
300 Session Times:
| Network Power Management in Windows 7 - NET-T714 Presenter(s): Bob Combs This session describes the new power management support in NDIS 6.20. The support includes new hardware and software interfaces for Wake on LAN support, Wake on Wireless LAN, low power address resolution protocol offload, and Wake on Media Connect. Level:
300 Session Time:
| Unified Tracing and Network Diagnostics Framework - NET-T718 Presenter(s): Mike Bishop In this session, you’ll learn how to use the Network Diagnostics Framework (NDF) in Windows 7 to diagnose common networking problems and to perform tracing and packet capture without needing to install additional tools on the client PC. Knowledge of networking protocols and components is required to interpret the trace files that Unified Tracing (UT) produces. Level:
300 Session Time:
| Windows Filtering Platform Enhancements in Windows 7 - NET-T722 Presenter(s): Jorge Coronel Mendoza, Mohan Prabhala This session covers how Windows 7 enhancements to the existing Windows Filtering Platform (WFP) API enable filtering components to redirect IP packets and filters at MAC layers among other features. These enhancements will help you to understand how to develop comprehensive filtering software for firewalls and virtual private network (VPN) clients on Windows 7, with lower total cost of ownership (TCO) and faster time to market. Level:
300 Session Time:
| Windows Logo Program Tests for NDIS - NET-T713 Presenter(s): Eric Li (NETWORKING), Mike Nanakul This session discusses the Windows Logo Program Ethernet tests for Windows 7. It will review updates to previous tests as well as new tests being introduced. You will also learn more about NDISTest, the primary network test tool used in the Windows Logo Kit (WLK), and how to leverage it to debug driver issues. Level:
300 Session Times:
|
CHALK TALKS:Discussion: Porting Drivers to NDIS 6.20 - NET-C772 Presenter(s): Mike Nanakul, Narsi Nagampalli In this session, we'll cover the basics of debugging a network driver and things to look for to ease the debugging task. Whether you are a beginning or experienced developer, this session will make your job easier. Level:
300 Session Time:
| Wireless LAN Enhancements in Windows 7 - NET-C723 Presenter(s): Neil Dave; Mitesh Desai; Anirban Banerjee This session describes enhancements in Windows 7 regarding Soft AP and virtual Wi-Fi. We will discuss how to enable devices to connect to the PC whenever they are together to exchange files and obtain infrastructure access. Level:
300 Session Time:
|
Hands-on Labs:Lab: How to Debug an NDIS 6.20 Driver - NET-L712 Presenter(s): Michael Nanakul. Narsi Nagampalli This lab is an opportunity for attendees to work on their network driver code individually and discuss issues directly with NDIS engineers. You are invited to bring your development laptop, driver code, and NIC card. Test computers with the latest Windows build, the Windows Driver Kit (WDK), and NDISTest will be provided. This is an opportunity for driver writers to gain an understanding of how to use NDIS to their advantage and improve the quality of their drivers. Level:
400 Session Times:
|
Printing and ImagingAbout this track: In this track we discuss developer best practices and testing tools for printers and scanner drivers. This includes information about updated XPS support as well as print driver installation updates for Windows 7. TECHNICAL SESSIONS:Best Practices for Developing Printer Drivers - PRI-T724 Presenter(s): Shawn Maloney, Justin Hutchings This session focuses on the Print Driver Best Practices Guide that is being developed for Windows 7. We will cover topics across the entire suite of driver technologies, from the benefits of writing a single binary print processor to the proper way to service core drivers. Level:
200 Session Time:
| Print Verifier - PRI-T725 Presenter(s): Ashwin Needamangala This session describes how to use Print Verifier as a runtime analysis and verification engine and how to examine the usage of the print subsystem in Windows 7. We will discuss the use of Print Verifier in the Windows Driver Kit (WDK) and as a tool to enable successful Windows Logo Program submissions. Level:
300 Session Time:
| Printer Driver Development in Windows 7 - PRI-T729 Presenter(s): Felix Maxa This session provides detailed information about new XPS driver capabilities in Windows 7. In addition, it describes how to write printer drivers to take advantage of new spooler reliability improvements in Windows 7. Finally, it details how XPS and non-XPS drivers behave in a variety of client-side and server-side rendering scenarios. Level:
300 Session Times:
| Printer Driver Testing Tools - PRI-T727 Presenter(s): Ashwin Needamangala This session provides detailed information on the use of several printer driver test tools. Topics include how to run the tools manually outside the Driver Test Manager (DTM) environment, how to troubleshoot failures, and how to use complimentary tools such as AppVerifier. The session also discusses how to integrate them into your development and test processes. Level:
300 Session Times:
| Printer Installation and Driver Management - PRI-T728 Presenter(s): Shawn Maloney This session details changes to printer installation in Windows 7. It discusses how to use the Compatible ID for better support of device family drivers, how to integrate driver sandboxing setup changes, and how to best use core driver packages. Level:
200 Session Times:
| XPS Rasterization Service in Windows 7 - PRI-T731 Presenter(s): Georgi Chalakov, Mark Lawrence (WEX) This technical session details the XPS Rasterization Service in Windows 7, including information on the XPS rasterization architecture and dataflow, and the use of the XPS Rasterization Service. Attendees should have some knowledge of XPS driver development. Level:
400 Session Time:
|
CHALK TALKS:Discussion: XPS Driver Development in Windows 7 - PRI-C730 Presenter(s): Felix Maxa In this chalk-talk, we'll answer questions about XPS driver development in Windows 7. Knowledge of the subject is helpful but not required. The goal of this talk is to provide attendees with an opportunity to meet the Microsoft experts in this area. You can ask questions and discuss topics that may be more specific than those that are presented in a technical session. Level:
300 Session Times:
| Printer Driver Testing and the Windows Logo Kit - PRI-C726 Presenter(s): Ashwin Needamangala, Justin Hutchings In this chalk-talk, we’ll discuss tools and methodologies for testing printer drivers and answer your questions about the Windows Logo Kit (WLK) as it pertains to print devices. You’ll gain new insight on developing better printer drivers and tips for troubleshooting WLK issues about print devices. Attendees should be familiar with printer driver development and testing. Level:
300 Session Time:
|
StorageAbout this track: This track focuses on understanding the leading-edge storage system stack architectures and development tools that Microsoft provides. This includes an in-depth exploration of Enhanced Storage, iSCSI, Microsoft MPIO, ATA, Storport, and SDIO. TECHNICAL SESSIONS:ATA Miniport Nuts and Bolts - STO-T732 Presenter(s): Michael Xing, Nathan Obr, Bob Griswold This session describes the ATA port/miniport driver model and interfaces that miniport drivers need to implement, as well as the best practices in ATA miniport driver development. Attendees will learn whether they need to develop their own ATA miniport driver, understand the basic framework for how to develop it, and where they can get help. Level:
400 Session Times:
| Developing High-Availability Multipath Solutions and Device-Specific Modules - STO-T733 Presenter(s): Jaivir Aithal, Suzanne Morgan, Bruce Langworthy This session presents enhancements to Multipath I/O (MPIO) in Windows 7 that support optimized MPIO deployment and performance, and new interfaces for path health monitoring. It will also include some tips and tricks for device-specific module (DSM) writers. The session requires an in-depth understanding of Microsoft MPIO architecture and DSM interfaces. Prior experience writing a DSM driver is recommended Level:
300 Session Time:
| Enhanced Storage Architecture - STO-T734 Presenter(s): Jim Bovee, Lakshmi Ramasubramanian, Scott Lee This session introduces the Enhanced Storage feature of Windows 7. We will describe its architecture and how IHVs can leverage this architecture to create compelling new storage devices and user experiences in Windows. Level:
300 Session Times:
| iSCSI Management and Tuning - STO-T738 Presenter(s): Shiv Rajpal, Suzanne Morgan, Bruce Langworthy This session provides an introduction to different options that are available to manage the Microsoft iSCSI initiator. It will describe the changes to the iSCSI user interface in Windows 7. It will also detail error recovery in the Microsoft iSCSI initiator and describe the different settings that are available to the user to control recovery timing and behavior. This information will interest multipath I/O (MPIO) device-specific module (DSM) developers, testers, and storage array manufacturers. Level:
300 Session Time:
| Storport Drivers from the Ground Up - STO-T740 Presenter(s): Stephen Hagan, Jerry Bass, Keith Frechette This session presents an overview of the specific nuances between the older SCSIPort and Storport models. It will investigate the work of LSI to create a functioning Storport driver, both by using an existing SCSIPort driver and by creating new Storport methods. Specific topics to be covered include how to create a bidirectional storage driver, how to allocate and manage multiple memory areas during heavy I/O load, and how Storport handles items such as enumeration, I/O timeouts, and I/O failures. Listings of commands, methods, references, and specific solutions to hard-to-find information will be provided. Level:
300 Session Times:
| Storport Smorgasbord: A Selection of Today's Hottest Storport Topics - STO-T741 Presenter(s): Keith Frechette This session covers various topics that relate to Storport technology. Experienced Storport miniport developers should attend this session to learn what's new, improved, or just plain exciting about Storport interfaces, best practices, and nonuniform memory access (NUMA)/multiprocessor support. Level:
400 Session Times:
|
CHALK TALKS:Enhanced Storage Device and Application Development - STO-C735 Presenter(s): Scott Lee, Kiran Bangalore This chalk-talk provides an overview of Enhanced Storage APIs. We’ll provide walkthrough examples of how to use Enhanced Storage APIs to discover and communicate with Enhanced Storage devices. We’ll answer questions about Enhanced Storage APIs and ask for your input on additional APIs that might be useful to support. Level:
400 Session Times:
| IEEE 1667 Certificate Silo - STO-C736 Presenter(s): Scott Lee, Kiran Bangalore This chalk-talk provides a forum for discussing support of the IEEE 1667 standard and specifically focuses on the certificate silo feature. You’ll have the opportunity to ask questions about the Windows implementation and support of these devices and about how to build an IEEE 1667 certificate silo device. Level:
400 Session Time:
| IEEE 1667 Password Silo - STO-C737 Presenter(s): Lakshmi Ramasubramanian, Kiran Bangalore This chalk-talk provides a forum for discussing the Windows 7 support of the IEEE 1667 standard and specifically focuses on the password silo feature. You’ll have the opportunity to ask questions about the Windows implementation and support of these devices and how to build an IEEE 1667 password silo device. Level:
400 Session Times:
| SD/SDIO Drivers and Applications - STO-C739 Presenter(s): Yue Zuo, Hao Cheng This chalk-talk focuses on assisting developers to create and test SD/SDIO drivers and applications, focusing on development best-practices, debugging, and proper application development techniques. We will also discuss improvements in the Windows 7 SD/SDIO drivers. This talk offers you the ability to provide feedback to the development team on improvements that you’d like to see in the SD/SDIO driver architecture. Level:
400 Session Times:
|
System FundamentalsAbout this track: This track covers many of the topics that are core to all drivers; power management, installation, deployment, plug and play, etc. Topics covered also include driver scaling, device services and using Microsoft tools to improve your driver quality. It will also introduce the new Biometric Driver Framework. TECHNICAL SESSIONS:Avoiding Driver Security Pitfalls - SYS-T774 Presenter(s): Matt Miller (SWI) An understanding of driver security issues is a critical part of device driver development. This session discusses the importance of driver security by describing common security pitfalls and what steps developers can take to avoid them. Level:
300 Session Time:
| Building Efficient Device Services - SYS-T742 Presenter(s): Chittur Subbaraman This session details how to design energy- and resource-efficient services for devices. A common design pattern is to develop a kernel-mode driver to interface with the device and a user-mode service to provide an API surface. However, creating a service consumes system resources, reduces boot and shutdown performance, and can increase security attack surface. This session details best practices for creating device services and how to leverage new Windows 7 functionality. Level:
300 Session Times:
| Creating Deployable Driver Packages - SYS-T757 Presenter(s): Eugene Lin This session provides driver developers with the information they need to build correct, error-free device driver packages that are compatible with the myriad deployment mechanisms supported in Windows. We'll present recommendations for creating distributable, deployable, and well-formed driver packages. We'll also examine some more complex distribution scenarios including devices with multiple drivers and device-related applications. Level:
200 Session Time:
| Debugging Device Installation - SYS-T746 Presenter(s): Neil Sandlin This session walks through several examples of different device driver installation errors and explains how to get more information about the error by analyzing setupapi.log. Attendees will gain a better understanding of how to diagnose and debug device driver installation. Familiarity with the contents of INF files will help attendees understand the information in this session. Level:
300 Session Times:
| Diagnosing Common Driver Installation Errors - SYS-T743 Presenter(s): Mitsuru Saito In Windows Vista and Windows Server 2008 testing, the Windows team analyzed driver installation failures as reported to Microsoft through Windows Error Reporting (WER). In this session, members of the Device Management and Installation team discuss the most common driver installation and importation failures. Attendees will learn what the common driver package errors are, what each error means, and how to address them in order to improve driver quality in Windows 7. Attendees should be familiar with driver packages including INF, co-installer and class-installer. Level:
200 Session Time:
| Driver Scalability - SYS-T747 Presenter(s): Davis Walker In this session, you’ll learn best practices for maximizing workload scalability and power efficiency for a driver in highly multiple-processor (MP) and nonuniform memory access (NUMA) environments. How to use new system software affinity APIs to aid driver scalability past 64 logical processor will be discussed, and we’ll look at network and storage case studies. Level:
400 Session Time:
| Extending Device Installation by Using Co-installers - SYS-T749 Presenter(s): Jim Cavalaris Co-installers are a powerful extension mechanism for device driver packages. This session discusses some of the common tasks that co-installers can perform and how to implement them correctly or avoid them altogether. Attendees will gain a better understanding of the role of co-installers in device driver installation. You should be familiar with device driver package INF files and the device installation process. Level:
300 Session Times:
| PCs and Devices in Windows 7: What You Need To Know - SYS-T752 Presenter(s): Adam Lenart, Ben McGregor, Cameron Brodeur This technical session covers two important additions to the device platform in Windows 7 for Plug and Play (PnP) properties. You'll learn how to ensure that your devices receive an accurate ContainerID value and how to use the ModelID property to match a PC to a metadata package. Attendees should be familiar with basic Windows Plug and Play and driver I/O concepts. Level:
300 Session Time:
| Plug and Play Key Concepts - SYS-T753 Presenter(s): George Roussos, Jim Cavalaris In this session, we'll discuss key concepts of how Plug and Play works in Windows in common device installation scenarios. To illustrate a typical example, we'll examine the precise sequence of events that Plug and Play performs when a user attaches a USB mouse to an open USB port on a system, from the moment the device is attached to the moment the device is installed and usable on the system. The presenters will discuss common device installation scenarios and answer questions. Level:
200 Session Time:
| Power Management Fundamentals - SYS-T754 Presenter(s): Nick Judge This session details device driver fundamentals for power management, including Windows power management architecture, sleep and resume transitions, resume performance, runtime idle power management, and device performance states. It will cover the appropriate techniques for both Windows Driver Model (WDM) and Windows Driver Foundation (WDF) driver models. Level:
300 Session Times:
| Using the Windows Feedback Loop to Deliver High-Quality Drivers - SYS-T755 Presenter(s): Kevin Hill, Gretchen Loihle This session focuses on how to leverage the Windows feedback loop to deliver high-quality drivers for Windows 7. We will describe the operation of the feedback process and supporting programs and how they help device driver developers monitor their crashes and produce high-quality drivers. Level:
300 Session Times:
|
CHALK TALKS:Discussion: Plug and Play Key Concepts - SYS-C776 Presenter(s): George Roussos, Jim Cavalaris This is a follow-up discussion to the Plug and Play Key Concepts technical session. The team will answer questions and discuss how some of the key PnP concepts are planned to behave in Windows 7. Level:
200 Session Time:
|
Hands-on Labs:Energy Efficiency Diagnostics - SYS-L748 Presenter(s): Pat Stemen, Sharif Farag This lab details the various Microsoft tools and utilities that can be used to diagnose energy efficiency problems. It covers using XPerf, Xbootmgr and PowerCfg to find the root cause of common power management problems including CPU usage, USB device selective suspend, resume performance degradation, and timer resolution issues. The session is primarily a lab, with more than half of the time spent in demonstrations. Level:
300 Session Times:
|
|
|