Драйверы функций
Драйвер функции — это драйвер main для устройства (см. рисунок Возможные уровни драйверов). Драйвер функции обычно записывается поставщиком устройства и является обязательным (если устройство не используется в необработанном режиме). Диспетчер PnP загружает не более одного драйвера функции для устройства. Драйвер функции может обслуживать одно или несколько устройств.
Драйвер функции предоставляет рабочий интерфейс для своего устройства. Как правило, драйвер функции обрабатывает операции чтения и записи на устройстве, а также управляет политикой управления питанием устройства.
Драйвер-функция для устройства может быть реализован в виде пары "драйвер/мини-драйвер", например пары "порт-порт" или "класс/мини-класс". В таких парах драйверов мини-диск связан со вторым драйвером, который является библиотекой DLL.
Если устройство управляется в необработанном режиме, оно не имеет драйвера функций и драйверов фильтров верхнего или нижнего уровня. Все операции ввода-вывода в необработанном режиме выполняются водителем шины и дополнительными драйверами фильтров шины.