Sample KMDF Drivers
This topic lists the Kernel-Mode Driver Framework (KMDF) sample drivers that you can browse and download on the Microsoft Samples portal. You can also clone, fork, or download the Windows-driver-samples repo on GitHub.
For information on building the samples, see Building a Driver.
ECHO Demonstrates how to use the framework's queue and request objects and automatic synchronization.
For more information about this sample, see the KMDF Echo Sample.
FakeModem Demonstrates a simple controllerless modem driver that sends and receives AT commands.
For more information about this sample, see the Fakemodem Driver.
FIREFLY Demonstrates programming a human input device (HID) device by using I/O control codes (IOCTLs), and provides a Windows Management Instrumentation (WMI) interface.
For more information about this sample, see the FIREFLY - WDF filter driver for HID device.
HIDUSBFX2 Demonstrates how to write a minidriver for a HID device and how to map a non-HID USB device to a HID device. The device is contained in the OSR USB-FX2 Learning Kit.
For more information about this sample, see HIDUSBFX2.
KbFiltr Demonstrates an upper device filter driver for a PS/2 keyboard.
For more information about this sample, see the Keyboard Input WDF Filter Driver (Kbfiltr).
NDISProt Demonstrates a connection-less NDIS 5.0/5.1 and NDIS 6.0 protocol driver.
For more information about this sample, see NDISProt Connection-less WDF Protocol.
NONPNP Demonstrates a non-Plug and Play (PnP) driver that uses the framework.
For more information about this sample, see NONPNP.
KMDF_FX2 Demonstrates how to perform bulk and interrupt data transfers to the USB device that is contained in the OSR USB-FX2 Learning Kit.
For more information about this sample, see kmdf_fx2.
PCIDRV A fully functional framework-based driver for Intel 82557/82558-based PCI Ethernet adapters (10/100) and Intel compatibles.
For more information about this sample, see the PCIDRV - WDF Driver for PCI Device.
PLX9x5x Demonstrates how to write a driver for a generic PCI device that supports DMA and uses the PLX9656/9653RDK-LITE board.
For more information about this sample, see the PLX9x5x PCI Driver.
Serial A framework-based serial driver that is based on the WDM serial sample driver.
For more information about this sample, see the Serial sample.
Toaster Framework-based versions of the WDM toaster sample drivers. The toaster sample includes a filter driver, a function driver, and a bus driver that create a single driver stack. The sample also includes an additional kernel-mode driver that uses a remote I/O target to communicate with the driver stack.
For more information about this sample, see Toaster.
UsbSamp Demonstrates how to use the framework to perform bulk and isochronous data transfers to a USB device.
For more information about this sample, see the Usbsamp Sample.
WmiSamp Demonstrates how to register WMI providers and create provider instances for framework device objects and how to handle WMI queries that applications send to the device.
For more information about this sample, see the WmiSamp WMI Provider.