A filter driver is a
Microsoft Windows driver that extends or modifies the function of
peripheral device
A peripheral or peripheral device is an auxiliary device used to put information into and get information out of a computer. The term ''peripheral device'' refers to all hardware components that are attached to a computer and are controlled by th ...
s or supports a specialized device in the
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tech ...
. It is a driver or program or module that is inserted into the existing
Driver Stack to perform some specific function. A filter driver should not affect the normal working of the existing driver stack in any major way. Written either by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
or the vendor of the
hardware
Hardware may refer to:
Technology Computing and electronics
* Electronic hardware, interconnected electronic components which perform analog or logic operations
** Digital electronics, electronics that operate on digital signals
*** Computer hard ...
, any number of filter drivers can be added to Windows. Upper level filter drivers sit above the primary driver for the device (the
function driver), while lower level filter drivers sit below the function driver and above the
bus
A bus (contracted from omnibus, with variants multibus, motorbus, autobus, etc.) is a road vehicle that carries significantly more passengers than an average car or van. It is most commonly used in public transport, but is also in use for cha ...
driver.
Filters may work on a certain brand of device such as a
mouse
A mouse ( : mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
or
keyboard, or they may perform some operation on a class of devices, such as any mouse or any keyboard.
The Windows Dev Center - Hardware pages explain upper and lower filter drivers in detail.
For example, the generic USB camera (UVC) driver ''usbvideo.sys'' is a function driver, while the bus driver handles USB data from the host controller devices. A lower level filter modifies the behavior of the camera hardware (e.g. watching for interrupt packets from a camera switch) and fits between the function and bus drivers. An upper level filter typically provide added-value features for a camera, such as additional processing of the video stream (e.g. colour changes, identification of objects, applying overlays), and fit between the function driver and the user application that has connected to the camera.
Another type of filter driver is the bus (e.g. USB, PCI, PCIe) filter driver, which may be added on top of the bus driver. For example, an
ACPI
Advanced Configuration and Power Interface (ACPI) is an open standard that operating systems can use to discover and configure computer hardware components, to perform power management (e.g. putting unused hardware components to sleep), auto co ...
bus filter is added to support
power management
Power management is a feature of some electrical appliances, especially copiers, computers, computer CPUs, computer GPUs and computer peripherals such as monitors and printers, that turns off the power or switches the system to a low-power ...
for each device.
See also
*
Windows Driver Model In computing, the Windows Driver Model (WDM) also known at one point as the Win32 Driver Model is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions of Windows such ...
*
Device driver
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
*
Advanced Configuration and Power Interface
Advanced Configuration and Power Interface (ACPI) is an open standard that operating systems can use to discover and configure computer hardware components, to perform power management (e.g. putting unused hardware components to sleep), auto c ...
References
{{DEFAULTSORT:Filter Driver
Device drivers
Microsoft application programming interfaces