The following tables supply basic information about the samples that are included in the Windows Driver Kit (WDK). For more information about each tool, read the documentation that describes the tool. The tables are organized according to the type of drivers to which the samples apply.
In conformance with Microsoft support policy, Microsoft is removing Microsoft Windows 2000 from its list of supported installation platforms for the Windows Driver Kit (WDK). The WDK continues to provide a Windows 2000 build environment for the development of drivers targeting Windows 2000.
Windows 2000 moved from Mainstream to Extended Support in June 2005 (as defined in the Microsoft Support Lifecycle policy available at
). The Extended Support phase includes security updates and paid support only; it does not provide support for design changes or new product features. As a result, build tools and platform or library support is limited to Windows XP SP2 and later versions of Windows.
The complete list of install-on platforms for the WDK consists of: Windows XP SP2, Windows Server 2003 SP1, and Windows Vista. The complete list of build-for platforms consists of: Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1, and Windows Vista.
Customers that require Windows 2000 as an installation platform can download the Windows Server 2003 SP1 Driver Development Kit (DDK) at no cost from the Windows Hardware Developer Central Web site at
.
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| AC'97 Sample Driver and Related Code Samples | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The AC97 directory contains a sample AC'97 audio adapter driver and several related code samples. |
| Audio Property Page | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The Audio Property Page sample demonstrates the basics of writing an audio property page and can be used as a basis for your own property page. |
| DMusUART Sample Driver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The DMusUART sample driver is a DMus miniport driver that enables applications that use Microsoft DirectMusic or the Microsoft Windows multimedia midiInXxx and midiOutXxx functions to access an MPU-401 device. |
| FMSynth Sample Driver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The FMSynth sample driver is a MIDI miniport driver that allows applications that use the Microsoft Windows multimedia midiOutXxx functions to access a device that implements OPL3-style FM synthesis. |
| HTML INF Viewer | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The INFViewer directory contains an interactive viewer to examine the INF file for the AC'97 sample audio driver. |
| Imaadpcm Sample Codec | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Imaadpcm sample codec contains encoding and decoding routines for the Interactive Multimedia Association (IMA) ADPCM format. |
| Microsoft Virtual Audio Device (MSVAD) Sample Drivers | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The MSVAD collection of similar sample drivers demonstrates the basics of writing a Microsoft Windows Driver Model (WDM) audio driver. |
| MPU-401 Sample Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The MPU-402 sample is a Microsoft Windows Driver Model (WDM) driver that supports the standard functions in an MPU-401 device. |
| Msfilter Sample Codec | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Msfilter codec sample provides routines for volume and echo effects that you can apply to any audio content. |
| Msgsm610 Sample Codec | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Msgsm610 sample implements a software codec that performs speech compression on a digital audio stream that contains voice content. |
| MSVAD Sample Driver with AC-3 Support (VADAC3) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver demonstrates how to support non-PCM audio stream formats. |
| MSVAD Sample Driver with DRM Support (VADDRMS) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver implements digital rights management (DRM) for a simple audio rendering device. |
| MSVAD Sample Driver with Multi-Stream DRM Support (VADDRMM) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver implements digital rights management (DRM) for an audio rendering device that can handle more than one audio stream. |
| MSVAD Sample Driver with Multi-Stream Support (VADMULTI) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver demonstrates how to support an audio rendering device that can play multiple audio streams. |
| MSVAD Sample Driver with Support for DirectSound 2-D Hardware Acceleration (VAD2DHW) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver supports Microsoft DirectSound 2-D hardware acceleration. |
| MSVAD Sample Driver with WAVEFORMATEXTENSIBLE Support (VADPCMEX) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver supports audio stream formats that the WAVEFORMATEXTENSIBLE structure specifies. |
| Sample AC'97 WDM Audio Driver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This sample driver demonstrates the basics of writing a Microsoft Windows Driver Model (WDM) audio driver. |
| Sample Audio Control Panel Application | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The Audio Control Panel Application sample illustrates the basics of writing a Control Panel application. |
| Simple MSVAD Sample Driver (VADSIMP) | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This version of the MSVAD sample driver demonstrates how to provide basic driver support for a simple audio device. |
| Sound Blaster 16 (SB16) Sample Driver | Windows Server 2003 Windows XP Windows 2000
| Windows Server 2003 Windows XP Windows 2000
| No | No | The SB16 sample driver demonstrates the basics of writing a Microsoft Windows Driver Model (WDM) audio driver. |
| Standard IUnknown Implementation (Stdunk) | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Stdunk sample is the standard implementation of the CUnknown class and the IUnknown interface. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| 1394VDEV and 1394DIAG - WDF Version | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The 1394VDEV 1394DIAG sample drivers are Microsoft Windows Driver Foundation (WDF) versions of Windows Driver Model (WDM) samples that are present in the src\1394\ directory. The non-driver pieces of the sample that are described in this document can be obtained from src\1394 directory. |
| AGP440 | Windows Vista
| Windows Server 2008 Windows Vista
| No | Yes | AGP440 is a sample AGP chipset driver. You can use it to learn how to write an AGP driver. |
| Agplib | Windows Vista
| Windows Server 2008 Windows Vista
| No | Yes | The Agplib sample is a library of common support routines that the AGP440, UAGP35, and GAGP30KX sample drivers use. |
| GAGP30KX | Windows Vista
| Windows Server 2008 Windows Vista
| No | Yes | GAGP30KX is an AGP chipset driver sample that demonstrates how to write an AGP driver. |
| i8042 Sample Port Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The i8042 (PS/2) sample device driver implements the Microsoft Windows 2000–style keyboard and mouse ports. This style differs from Microsoft Windows NT 4.0 because the device object is in the same driver stack as the class driver itself (either mouclass or kbdclass), instead of writing the device object's name to the registry and relying on the class driver to load after it and look at these names. Almost all of the other interactions with the class driver are the same. The code works on Windows 2000 or later platforms. This code will not work on previous versions of Windows NT because of support for Plug and Play (PnP), power, and the new class drivers. The i8042 driver supports PnP with respect to the PnP IRP, but the driver does not perform device detection or support hot plugging. As for power, this driver supports low power states by reinitializing the devices when normal power is resumed. |
| Installing or Updating the BulkUsb Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The BulkUsb sample demonstrates a USB device that transfers data in BULK mode. This sample allows a user-mode application to read and write raw data directly to the endpoint of the USB device. |
| MCA Management Application | Windows Vista
| Windows Vista Windows Server 2003
| No | No | The Machine Check Architecture (MCA) Management Application is a command-line application, which queries, retrieves, parses, and displays machine check error records on IA-64 class computer systems running a 64-bit (IA64) version of Windows XP or Windows Server 2003 family. The application provides the same support for machine check exception information on X86 and x64 platforms running 32-bit (X86) versions of Windows Server 2003 family and future releases of Windows correspondingly. The sample application demonstrates system developers how to make use of the MCA infrastructure on Windows Server 2003 and Windows XP platforms to identify hardware problems. More sophisticated system management applications might further enhance the basic functionality of this sample to also log, analyze, and report these hardware problems. |
| OSRUSBFX2 | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The OSRUSBFX2 sample demonstrates how to perform bulk and interrupt data transfers to an USB device using the Microsoft Windows Driver Foundation (WDF). This sample is written for the OSR USB-FX2 Learning Kit. The specification for the device is at http://go.microsoft.com/fwlink/?LinkId=64091. |
| PLX9x5x | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The PLX9x5x sample demonstrates how to write driver for a generic PCI device by using the Microsoft Windows Driver Foundation (WDF). The target hardware for this driver is PLX9656/9653RDK-LITE board. The product kit and the hardware specification are available at http://go.microsoft.com/fwlink/?LinkId=65448. |
| Ports Class Installer | Windows Vista Windows Server 2003 Windows XP
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | The Ports Class Installer sample demonstrates a class installer and property page provider for the ports class of devices. The ports class is divided into two types of devices: COM (serial) ports and LPT or ECP (printer) ports. |
| serial | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The sample serial (16550-based RS-232) Plug and Play (PnP)-compliant driver that supports dynamic device enumeration through serenum and removal through either hot plug or Device Manager. |
| Serial - WDF Version | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This Serial (16550-based RS-232) driver is a Microsoft Windows Driver Foundation (WDF) version of the in-box serial driver that is present under %WDKROOT%\src\kernel\serial directory of the Windows Driver Kit (WDK). |
| Storage SDIO Driver Sample | Windows Vista
| Windows Vista
| No | No | This is a sample for a functional Secure Digital (SD) IO driver. The driver is written using the Kernel Mode Driver Framework. It is a driver for a generic mars development board that implements the SDIO protocol without additional functionality. |
| Toaster - WDF Version | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Toaster samples in this directory are a rewrite of the Microsoft Windows Driver Model (WDM) toaster driver (residing under src\general\toaster) by using Windows Driver Foundation (WDF). These samples show how to use driver framework APIs to achieve the equivalent WDM functionality with much less code. Only the drivers (bus, function, filter, and toastmon) of the WDM toaster package have been ported to use driver framework APIs. The installation instructions and test applications are the same as for the WDM version of toaster. Read the instruction and test application files from WDM toaster directory. |
| UAGP35 | Windows Vista
| Windows Server 2008 Windows Vista
| No | Yes | The UAGP35 sample is the Universal AGP version 3.5 chipset driver. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| ClasFilt Sample INF File | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The ClasFilt.inf file is a sample INF file that demonstrates the installation of a class filter driver that will be applied as an upper or lower filter to all devices of a specific device setup class. |
| Copy INF Co-installer | Windows Vista
| Windows Server 2008 Windows Vista
| No | No | This sample is sample code for a co-installer that can be used with an INF file to install additional device INF files on the target system during a device installation. |
| Device Console (devcon) | Windows Vista Windows Server 2003 Windows XP
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | DevCon is a command-line tool that displays detailed information about devices and lets you search for and manipulate devices from the command line. DevCon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers. DevCon is included in the Microsoft Windows Driver Kit (WDK). |
| Ports Class Installer | Windows Vista Windows Server 2003 Windows XP
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | The Ports Class Installer sample demonstrates a class installer and property page provider for the ports class of devices. The ports class is divided into two types of devices: COM (serial) ports and LPT or ECP (printer) ports. |
| Toaster Installation Package | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Toaster Installation Package sample describes different approaches that end users take when adding new hardware to their computer and describes how to address these scenarios in a consistent, robust manner that works cooperatively with Plug and Play (PnP). This sample also outlines the mechanisms provided to facilitate additional vendor requirements such as the installation of value-added software. |
| Using DIFxAPI | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | This DIFxAPI sample demonstrates how to use the DIFx API. |
| Using DIFxAPI Application Driver Dependency | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | This DIFxAPI sample (AppDev.exe) demonstrates the usage of the application-to-driver dependency feature of DIFxAPI. |
| Using DIFxApp Merge Module | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | This DIFxApp sample demonstrates how to use the DIFxApp merge module (DIFxApp.msm) to install a driver package that is included in a Microsoft Windows Installer installation package for an application. |
| Using DIFxApp WiX Library | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | This DIFxApp sample describes how to use the Microsoft Windows Installer XML (WiX) tool set (version 2 or later) with DIFxApp to create a Windows Installer installation package. |
| Using DPInst | Windows Vista Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | The DPInst sample includes documentation and sample files to demonstrate how DPInst.exe is used to install a driver package. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| HClient | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The HClient sample code describe how to write a user-mode client application to communicate with devices that conform to the HID device class specification. This topic is useful to application writers who need to develop a user-mode application that communicates with and extracts information from an HID-compatible device. This sample illustrates the method for detecting HID devices, opening those HID devices for communication, and extracting and formatting the data into or from device reports. |
| i8042 Sample Port Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The i8042 (PS/2) sample device driver implements the Microsoft Windows 2000–style keyboard and mouse ports. This style differs from Microsoft Windows NT 4.0 because the device object is in the same driver stack as the class driver itself (either mouclass or kbdclass), instead of writing the device object's name to the registry and relying on the class driver to load after it and look at these names. Almost all of the other interactions with the class driver are the same. The code works on Windows 2000 or later platforms. This code will not work on previous versions of Windows NT because of support for Plug and Play (PnP), power, and the new class drivers. The i8042 driver supports PnP with respect to the PnP IRP, but the driver does not perform device detection or support hot plugging. As for power, this driver supports low power states by reinitializing the devices when normal power is resumed. |
| kbdclass | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The kbdclass sample driver is a keyboard class driver that is compliant with Plug and Play (PnP) on Microsoft Windows 2000 and later operating systems. |
| Kbfiltr - WDM | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The Kbfiltr sample driver filters input for a particular keyboard on the system. |
| Mouclass | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Mouclass sample is a mouse-class driver that is compliant with Microsoft Windows 2000 Plug and Play (PnP). The behavior of the various routines is documented in the source code files. |
| Moufiltr | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The Moufiltr sample driver filters input for a particular mouse on the system. |
| Tablet PC Button Sample | Windows Vista
| Windows Vista
| No | No | The Tablet PC button sample driver demonstrates how to support i8042 port-compatible button devices that are installed in a Tablet PC. |
| VHIDMINI - Sample for Virtual HID device | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Vhidmini.sys driver is a sample HID minidriver that demonstrates: - How to communicate with a HID minidriver from an HID client by using a custom-feature item in order to control certain features of the HID minidriver. This control is needed because other conventional modes for communicating with a driver, like custom IOCTL or WMI, do not work with the HID minidriver.
- How to test a HID report descriptor without using a physical device.
- The structure of a HID minidriver and handling of internal IOCTLs that the HIDclass driver sends.
|
| Wacom Digitizer Driver Sample | Windows Vista Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | Yes | The Wacom Digitizer Driver Sample is a sample digitizer driver that is based on the in-box Wacompen.sys driver for Wacom pen digitizers. This sample is contained in the \src\input\hiddigi directory. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| cancelSafe Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | cancelSafe is a sample minifilter that you use if you want to use cancel-safe queues. |
| CDO Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The CDO minifilter sample is an example if you intend to use a control device object (CDO) with your minifilters. Although the filter manager infrastructure provides a message interface for communication between applications and minifilters, you might need explicit CDOs while the minifilters interface with legacy software. This sample shows how to create and use a CDO with minifilters. |
| CD-ROM File System Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The Cdfs sample is a sample file-system driver that you can use to write new file-systems. |
| Ctx Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Ctx minifilter is an example that demonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter. |
| fastfat File System Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | Yes | The fastfat sample is file-system driver that you can use if you want to write new file systems. |
| Metadata Manager Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The metadata minifilter sample serves as an example if you want to use files for storing metadata that corresponds to your minifilters. The implementation of this sample depicts scenarios in which modifications to the file might have to be blocked or the minifilter might be required to close the file temporarily. |
| minispy Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The minispy sample is a tool to monitor and log any I/O and transaction activity that occurs in the system. This sample is similar to the FileSpy legacy filter; however, unlike FileSpy, minispy has been implemented as a minifilter. |
| nullFilter Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The nullFilter minifilter is a sample minifilter that shows how to register a minifilter with the filter manager. |
| NullMRx | | | No | No | The NullMRx sample is a simple network provider and driver that illustrate how network providers bind to the Multi-Protocol Router and redirectors to the Multiple UNC Provider. |
| passThrough Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The passThrough minifilter demonstrates how to specify callback functions for different types of I/O requests. |
| scanner Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The scanner minifilter is an example for developers who intend to write filters that examine data in files. Typically, anti-virus products fall into this category. |
| SmbMRx | | | No | No | The SmbMRx sample is an example of a fully functional network provider. |
| swapBuffers Minifilter Sample | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The swapBuffers minifilter demonstrates how to switch buffers between reads and writes of data. This technique is particularly useful for encryption filters because they have to encrypt data before writing it to disk and decrypt it after reading it from disk. Because encryption/decryption has to be done transparently, you cannot use system-supplied buffers directly, so intermediate buffers have to be introduced. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| Error Handler Sample | Windows Vista
| Windows Vista
| No | No | The error handler sample implements the error handler for the "Extended Monster Driver". You can use this sample with the Extended Monster Driver sample. |
| Extended Monster Device | Windows Vista
| Windows Vista
| No | No | The Extended Monster Device sample implements the WIA minidriver by using the WIA 2.0 interfaces. |
| Sample User Interface Extension | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The Sample User Interface Extension sample shows how to write Microsoft Windows Image Acquisition (WIA) user interface (UI) extensions. This sample adds tabs to the device properties dialog box (which is accessible from Windows Explorer) and adds commands to the context menu for the sample camera device’s icon. |
| WIA Camera Driver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This sample shows how to write a Windows Image Acquisition (WIA) user-mode minidriver for a camera. It simulates a camera by reading images from a directory on the hard disk. |
| WIA Camera Microdriver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This sample shows how to write a Windows Image Acquisition (WIA) user-mode microdriver for a camera. It simulates a camera by reading images from a directory on the hard disk. You can use this sample driver as a starting point for your development, but your driver should access the camera hardware through one of the kernel drivers provided with Windows. |
| WIA Microdriver | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | This sample shows how to write a Windows Image Acquisition (WIA) microdriver for a flatbed scanner. The microdriver architecture is functionally reduced from the WIA minidriver architecture but supports the primary scanning functions. |
| Sample name | Build environment | Target operating system | PnP driver | In-box driver | Sample description |
| 1394VDEV and 1394DIAG - WDF Version | Windows Vista Windows Server 2003 Windows XP
| Windows Vista Windows Server 2003 Windows XP
| No | No | The 1394VDEV 1394DIAG sample drivers are Microsoft Windows Driver Foundation (WDF) versions of Windows Driver Model (WDM) samples that are present in the src\1394\ directory. The non-driver pieces of the sample that are described in this document can be obtained from src\1394 directory. |
| AMCC5953 - PCI Device Driver Using WDF | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The AMCC5953 sample demonstrates how to write driver for a generic PCI device by using the Microsoft Windows Driver Foundation (WDF). The target hardware for this driver is AMCC PCI Matchmaker Developer’s kit (S5935DK1) board. The product kit and the hardware specification are available at http://go.microsoft.com/fwlink/?LinkId=65450. |
| ECHO | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The ECHO sample demonstrates how to use sequential queue to serialize read and write requests that are presented to the driver, and how to use framework-provided locking scheme to synchronize execution of these events with other asynchronous events, such as request cancellation and DPC. |
| FakeModem - Unimodem controller-less modem sample driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample demonstrates a simple controllerless modem driver. This driver supports sending and receiving AT commands using the ReadFile/WriteFile calls or by using a TAPI interface with an application such as HyperTerminal. |
| FIREFLY - WDF filter driver for HID device | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | Firefly is a sample filter driver written with a purpose to demonstrate the following: - Usage of driver framework APIs. Note that a non driver framework version is available as well.
- Programming an HID device using kernel-mode IOCTLs
- Opening a HID collection of the target device in kernel mode by using ZwCreateFile to get a handle to the device.
- Using IOCTL_HID_xxx requests to obtain the HID collection's previously parsed data and information.
- Calling HidP_Xxx HID support routines to interpret HID reports.
- Using IOCTL_HID_SET_xxx or IOCTL_HID_GET_xxx to set or get feature reports.
- Providing a WMI interface to have a sideband communication with the user-mode application.
- Writing an INF file to install a device filter driver on an existing HID device.
- Showing how to open a WMI class in user mode and get or set data items using COM interfaces.
|
| HIDUSBFX2 | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The HIDUSBFX2 sample demonstrates how to write a HID minidriver by using the Microsoft Windows Driver Foundation (WDF). The sample also demonstrates how to map a non-HID USB device to a HID device. The minidriver is written for the OSR USB-FX2 Learning Kit. This device is not HID-compliant and the sample exposes the device as a HID device. |
| KbFiltr | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample is a WDF version of a WDM filter driver sample that is located in the src\input\kbfiltr directory of the Windows Driver Kit (WDK). This sample is an upper device filter driver sample for a PS/2 keyboard. |
| NDISEDGE - NDIS-WDF Miniport Driver | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The purpose of this sample is to illustrate functionality of an NDIS-WDF miniport driver. An NDIS-WDF miniport driver exposes NDIS miniport interface at its upper edge and uses Windows Driver Framework interfaces to interact with other WDM drivers such as USB, IEEE 1394, and serial at its lower edge. |
| NDISProt | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample demonstrates a connectionless NDIS 5.0, 5.1, or 6.0 protocol driver that uses the Windows Driver Foundation (WDF). |
| NONPNP | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample is primarily meant to demonstrate how to write a driver that is not Plug and Play (NON-PNP) using the Windows Driver Framework. It also illustrates several other important framework interfaces. The sample is accompanied by a simple multithreaded Win32 console application to test the driver. This sample is adapted from the original IOCTL sample present in the WDK (src\general\ioctl). |
| OSRUSBFX2 | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The OSRUSBFX2 sample demonstrates how to perform bulk and interrupt data transfers to an USB device using the Microsoft Windows Driver Foundation (WDF). This sample is written for the OSR USB-FX2 Learning Kit. The specification for the device is at http://go.microsoft.com/fwlink/?LinkId=64091. |
| PCIDRV - WDF Driver for PCI Device | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample is a fully functional Windows Framework driver for Intel 82557/82558-based PCI Ethernet Adapter (10/100) and Intel compatibles. The purpose of this sample is to teach how to write a driver for a PCI device using Windows Driver Framework (WDF). |
| PLX9x5x | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The PLX9x5x sample demonstrates how to write driver for a generic PCI device by using the Microsoft Windows Driver Foundation (WDF). The target hardware for this driver is PLX9656/9653RDK-LITE board. The product kit and the hardware specification are available at http://go.microsoft.com/fwlink/?LinkId=65448. |
| RAMDISK | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This sample demonstrates a software only Windows 2000 Device Driver that uses the Driver Framework model. This driver creates a RAM disk drive of the specified size. |
| Serial - WDF Version | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | This Serial (16550-based RS-232) driver is a Microsoft Windows Driver Foundation (WDF) version of the in-box serial driver that is present under %WDKROOT%\src\kernel\serial directory of the Windows Driver Kit (WDK). |
| Storage SDIO Driver Sample | Windows Vista
| Windows Vista
| No | No | This is a sample for a functional Secure Digital (SD) IO driver. The driver is written using the Kernel Mode Driver Framework. It is a driver for a generic mars development board that implements the SDIO protocol without additional functionality. |
| Toaster - WDF Version | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The Toaster samples in this directory are a rewrite of the Microsoft Windows Driver Model (WDM) toaster driver (residing under src\general\toaster) by using Windows Driver Foundation (WDF). These samples show how to use driver framework APIs to achieve the equivalent WDM functionality with much less code. Only the drivers (bus, function, filter, and toastmon) of the WDM toaster package have been ported to use driver framework APIs. The installation instructions and test applications are the same as for the WDM version of toaster. Read the instruction and test application files from WDM toaster directory. |
| UsbSamp | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The USBSAMP sample demonstrates how to perform bulk and isochronous data transfers to a generic USB device by using the Microsoft Windows Driver Foundation (WDF). |
| WDF Hybrid 1394 Virtual Device Sample Driver | Windows Vista Windows Server 2003 Windows XP
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP
| No | No | The driver present in this directory is a Windows Driver Foundation port of the 1394 Virtual Device sample driver and supporting dynamic link library present under src\1394 directory. This document and the associated source code describe how to interact with the 1394 driver stack. The WDF 1394 Hybrid Sample consist of two sample WDF Drivers, a UMDF component (umdf1394vdev.dll) and a KMDF component (kmdf1394vdev.sys). The sample also includes a user mode application that instantiates the loading the WDF Hybrid Driver stack and allows interaction with the 1394 bus driver through the installed WDF Hybrid Driver stack. |
| WmiSamp | Windows Vista Windows Server 2003 Windows XP Windows 2000
| Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
| No | No | The WmiSamp sample is a sample WDF driver that is based on the src\wdm\wmi\WMIFILT WDM sample driver from the Microsoft Windows Server 2003 SP1 Driver Development Kit (DDK) that provides WMI data blocks. This sample demonstrates how to register the WMI providers and create provider instances for the framework device object. It also illustrates how to handle the WMI queries sent to the device. |