Previous Next

Device Drivers and File System Drivers Defined

A Windows® driver can support a device or a file system:

Device driver
A device driver provides I/O services for an underlying device. For example, all of the following are considered device drivers: the IEEE 1394 bus driver, a video class driver that manages streaming input data for a variety of video devices, a video miniclass driver that communicates with the class driver to support a specific video device, and a filter driver that filters the streaming data. Some device drivers — particularly those for audio, video, and print devices — run in user mode, but most run in kernel mode.
File system driver
A file system driver handles I/O independent of any underlying physical device. File system drivers include drivers for the system-supplied NTFS and file allocation table (FAT) file systems. On the NT-based operating system, file system drivers are kernel-mode drivers. File system filter drivers provide additional capabilities above a standard file system driver, typically by implementing such value-added services as virus screening.

Although the support is not visible to the writer of a file system driver, every file system driver ultimately depends on support from one or more underlying peripheral devices. File system drivers might also rely on support from one or more Plug and Play (PnP) hardware bus drivers.

This guide, as well as the bulk of the Windows DDK, applies to device drivers. If you are writing a file system driver or filter, see the Installable File Systems Kit (IFS Kit). You can order the IFS Kit through the Windows IFS Kit Web site.