Types of Drivers
A map of driver categories organized by execution context, device role, bus, and interface.
Type names describe a dimension
Kernel-mode and user-mode describe execution context, while class, bus, function, filter, and virtual describe a component’s role in a stack. Display, audio, network, and storage describe device or subsystem families.
One component can have several labels
A component can be a kernel-mode function driver for a display device, or a user-mode component associated with an audio stack. The labels answer different questions and should not be treated as competing classifications.
Families share patterns
Most families expose identity, capabilities, requests, resource ownership, and lifecycle state. Their details diverge in timing, transport, buffers, queues, and hardware contracts.
Use the narrowest useful label
When reading a package or diagram, first identify the layer and role, then add the device family and execution context. This produces a more informative description than the generic word “driver.”
Reference facts
- Context labels
- Kernel mode and user mode describe authority and isolation.
- Stack labels
- Bus, class, function, filter, and virtual describe responsibilities.
Questions and answers
Are audio and kernel-mode the same kind of type?
No. Audio identifies a subsystem family; kernel mode identifies an execution context. A driver may be described by both.
Why keep virtual drivers in the map?
Virtual devices expose software-defined interfaces and still have identity, resources, requests, and lifecycle even without a direct physical counterpart.
Further reading
- Microsoft Learn: driver architecture — external official source
- Microsoft Learn: user mode and kernel mode — external official source
- Kernel-Mode Drivers — Privileged components that coordinate hardware and shared resources within a kernel context.
- User-Mode Drivers — Device-facing components that operate in a more isolated process context.
- Device Drivers — The broad category of software that represents a physical or virtual device to host software.
- Peripheral Port Drivers — Drivers that represent ports, buses, and transport relationships for connected peripherals.
- Storage and Disk Drivers — The layered software that represents storage media, controllers, volumes, and block transfers.
- Input Device Drivers — The report, usage, and event layers that carry keyboard, pointer, touch, and other human input.
- Chipset Drivers — Platform-level components that describe motherboard controllers, buses, and system devices.
- Short-Range Wireless Drivers — The host, radio, profile, and endpoint layers behind nearby wireless connections.
- Virtual Drivers — Software-defined device interfaces that model hardware-like resources without a direct physical device.
- Display and graphics drivers — A hardware-focused overview of rendering, graphics memory, display timing, monitor connections, and the separate records that describe a visual output path.
- Audio Drivers — A layered reference to audio drivers, playback and capture endpoints, device topology, and the package boundaries behind computer sound.
- Network Drivers — The adapter and link layer that connects host networking to a physical or virtual network device.
- Computer Drivers — A reference overview of the separate platform, storage, graphics, audio, networking, input, and peripheral driver relationships that make up a computer.
- Printer drivers: hierarchy and reference map — A reference map of printer-driver layers, vendor families, queues, transports, and the separate components found around multifunction printers.
- Laptop driver reference — A map of laptop driver families, platform components, package records, and state vocabulary for a portable computer.