Windows Driver Foundation

Windows Driver Foundation

Infobox Software
name = Windows Driver Foundation



caption =
author =
developer = Microsoft
released =
latest release version = 1.7
latest release date =
latest preview version =
latest preview date =
operating system = Windows
platform =
language = English
status = Active
genre =
license =
website =

Windows Driver Foundation (WDF) is a set of Microsoft tools that aid in the creation of device drivers for Windows 2000 and later versions of Windows.

The primary tools that comprise WDF are the Kernel Mode Driver Framework (KMDF) and User Mode Driver Framework (UMDF). These tool kits provide a new, object-oriented, programming model for Windows driver development. The primary goal of the Frameworks is "Conceptual Scalability", that is the characteristics of only requiring a driver developer to learn a few simple concepts to be able to write a simple driver, and to be able to incrementally learn more as more complex driver features are required. This differs markedly from the Windows Driver Model (WDM) that requires driver developers to be fully familiar with many complex technical details before writing even a simple driver.

Part of the key to achieving Conceptual Scalability is that KMDF and UMDF use an "opt-in" model. This model allows the developer to extend and override the default behavior of a canonical "good driver". This is in contrast to the older Windows Driver Model that depends on the driver writer to implement all aspects of the driver's behavior.

Varieties

The Framework comes in two varieties:
* The Kernel-Mode Driver Framework, for writing standard kernel-mode device drivers.
* The User-Mode Driver Framework, for writing certain classes of driver that can run in user-mode.

These share the underlying programming model. However, the kernel-mode framework uses a flat C API while the user-mode framework is based on C++ and a light version of the COM.

WDF also includes a set of static verification tools for use by driver writers. These tools examine driver code for common errors and/or simulate the code of a driver in order to identify problems that are both difficult to detect and difficult to test for.

Tools

The Static Driver Verifier (SDV) is capable of performing very deep validation of code paths across functions and even through calls into WDM. SDV can find driver problems that span multiple function calls and even multiple operations. SDV is designed to be run when the driver is nearing completion.

PREFast for Drivers (PFD) performs more shallow analysis of driver operations. PFD can check for buffer overruns and other common programming errors as well as a number of driver specific problems. Because its scope of operation is within a single function, PFD's run time is much shorter than SDV. Therefore, PFD can be used throughout the driver development process.

External links

* [http://www.microsoft.com/whdc/driver/wdf/default.mspx Windows Driver Foundation Homepage]
* [http://www.microsoft.com/whdc/devtools/WDK/default.mspx Windows Driver Kit]
* [http://www.osronline.com] OSR Online, including many articles about WDF, KMDF, and Windows driver development.
* [http://www.wd-3.com/archive/FrameworkIntro.htm Introducing Windows Driver Framework] , written by well-known Windows driver developer, Walter Oney.
* [http://www.codeproject.com/system/wdf_kmdf_basic.asp Building and deploying a basic WDF Kernel Mode Driver] , CodeProject
* [http://www.codeproject.com/system/kmdf_osr_usb_fx2.asp Developing a WDF USB Kernel Mode Driver for the OSR USB FX2] , CodeProject


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Windows Driver Foundation — Разработчик Microsoft Операционная система Windows Языки интерфейса Английский Последняя версия 1.9 Состояние Active Windows Driver Foundation (WDF)  набор программных инструментов от корп …   Википедия

  • Windows Presentation Foundation — WPF в составе .NET Framework Windows Presentation Foundation (WPF[1])  система для построения клиентских приложений Windows с визуально привлекательными возможностя …   Википедия

  • Windows Communication Foundation — Проверить нейтральность. На странице обсуждения должны быть подробности …   Википедия

  • Windows Workflow Foundation — WF в составе .NET Framework Windows Workflow Foundation (WF) представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. work …   Википедия

  • Windows Presentation Foundation — This subsystem is a part of .NET Framework 3.0 Developed by Microsoft, the Windows Presentation Foundation (or WPF) is a computer software graphical subsystem for rendering user interfaces in Windows based applications. WPF, previously known as… …   Wikipedia

  • Windows Communication Foundation — The Windows Communication Foundation (or WCF) is an application programming interface (API) in the .NET Framework for building connected, service oriented applications.[1][2] Contents 1 The architectures 1.1 Endpoints …   Wikipedia

  • Windows Driver Model — ou WDM est le nom général des pilotes pour les systèmes d’exploitation Windows 98 et Windows 2000 de Microsoft[1]. WDM a remplacée VxD introduit sous Windows 3.x[2] …   Wikipédia en Français

  • Windows Driver Model — (WDM) – фреймворк для драйверов устройств (также известен как Win32 Driver Model и Windows NT Driver Model), был введен в Windows 98 и Windows 2000 для замены устаревшего VxD, кото …   Википедия

  • Windows Driver Model — In computing, the Windows Driver Model (WDM) mdash; also known at one point as the Win32 Driver Model mdash; is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions… …   Wikipedia

  • Windows Driver Kit — Infobox Software name = Windows Driver Kit caption = author = developer = Microsoft released = latest release version = 6001.18001 latest release date = latest preview version = latest preview date = operating system = Windows platform = language …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”