Home > Articles > Operating Systems, Server > Microsoft Windows Desktop

  • Print
  • + Share This
Like this article? We recommend

Like this article? We recommend

Sample Drivers by Model

If none of the sample drivers supports your specific device type, you might be able to find a sample that supports a device that has similar characteristics or is used in a similar way. Table 2 lists the device characteristics and usage models that the KMDF samples support.

Table 2 KMDF Samples by Device Usage Model

Device Usage Model

Device or Driver Type

KMDF Sample

Hardware that supports only port-mapped I/O

Parallel port, legacy joystick port, and ISA devices

AMCC5933 ISA sample (S5933DK1)

Driver that handles I/O operations serially and reads or writes one port at a time

Driver that polls read operation at regular intervals from either a deferred procedure call (DPC) or a dedicated kernel thread

Hardware that supports port-mapped I/O and interrupts to notify the driver about input data and other asynchronous events

Serial port, parallel port, IDE controller, and PS/2 controller


Same as previous, but also supports memory-mapped I/O

Typical PCI and EISA devices for data acquisition that use direct memory access (DMA)


Same as previous, but also support bus master DMA channels to read and write

Network adapters and similar PCI drivers


Hardware that has more than one function or emulates more than one device

Multifunction PCI devices that do not conform to the PCI specification, multiport serial cards, and multiport network cards

Toaster bus driver

Driver that supports a virtual bus

Serial cards, and multiport network cards

Filter driver that modifies I/O requests and provides an interface for applications to directly control the filter

Keyboard and mouse filters, storage class filter drivers and serial devices

Toaster filter driver

Filter driver that modifies the hardware resources

Driver that interacts with an unrelated device stack to perform I/O

NDIS protocol drivers, Asyncmac, transport driver interface (TDI) client drivers, and Ftdisk or volsnap

NdisEdge and NdisProt

Driver that supports a USB client

Any USB device


Software-only drivers or drivers that are not part of any Plug and Play stack

No device or legacy devices


Legacy NT 4.0-style drivers that do not support Plug and Play

No device or legacy devices

Driver that must run in the context of the user application so that it can handle METHOD_IOCTs or map memory into user address space

Video capture devices, audio cards, and high-speed data acquisition devices


Drivers that registers in-process context callback to handle METHOD_NEITHER I/O requests

  • + Share This
  • 🔖 Save To Your Account