Chapter 1: Introduction to WDF


Overview

For many years, software developers have found implementing drivers for Microsoft Windows operating systems to be a challenging task. Until recently, the steep learning curve of the Windows Driver Model (WDM) has limited driver development to a relatively small group of specialized developers.

Windows Driver Foundation (WDF) provides a driver model that makes it easier to learn and easier to implement robust Windows drivers. WDF largely supersedes WDM and is designed to enable developers to focus on the requirements of their hardware rather than the complexities of the operating system. WDF also enhances system stability by supporting the ability to create drivers that run in user mode for several important device categories that previously required kernel-mode drivers.

With the WDF programming model, a developer can quickly implement a basic but functional driver, with WDF handling most of the event processing. The developer can then incrementally expand the scope of handled events until the driver is fully functional.

This book is designed to introduce WDF to anyone who is interested in developing Windows drivers, including software programmers with no previous driver development experience. We wrote this book in partnership with the WDF development team at Microsoft, who designed the architecture, built the frameworks, and developed the sample drivers to guide programmers. This book starts with a high-level discussion of the WDF architecture and programming model, but most of it is designed to provide a practical, sample-oriented introduction to the WDF frameworks for developing Windows drivers.

image from book
What Criteria Did We Use for Creating WDF APIs?

When we were designing the WDF architecture, the first and ongoing criterion we used for adding an API was if it was a "thin book" or "thick book" API.

"Thin book" meant it was both a simple API that most driver developers would use and that its use would be easy to determine based on its signature alone (such as WdfDeviceInitSetExclusive) and the documentation for it could be included in a short document like a white paper (hence, "thin").

"Thick book" meant that the API was going to be difficult to understand or rarely used, requiring the developer to delve deep into the documentation to learn how to use it.

This criterion really drove our decisions in terms of what types of APIs we exposed ("thin book") and what the frameworks did "under the hood" on behalf of the driver. Hopefully, we made the right decisions and you'll enjoy this "thick book" on how to delve deep into the frameworks.
-Doron Holan, Windows Driver Foundation Team, Microsoft

image from book




Developing Drivers with the Microsoft Windows Driver Foundation
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224

Similar book on Amazon
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Advanced Windows Debugging
Advanced Windows Debugging
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net