Шинные драйверы WDm

Управление электропитанием и Plug and Play осуществляется при помощи шинных драйверов WDm, которые представляют собой стандартные драйверы WDm. Обратите внимание, что в этом контексте любое устройство, начиная с которого происходит перечисление других устройств, будет называться шиной. Шинный драйвер отвечает на пакеты запроса ввода/вывода (iRP) и может быть расширен за счет использования драйверов фильтров. Шинный драйвер выполняет следующие задачи: П Перечисление (enumeration) устройств на шине

Динамическое извещение операционной системы о событиях на шине

Ответы на iRP от систем Plug and Play и управления электропитанием

Мультиплексирование доступа к шине (для некоторых шин)

Общее администрирование устройств на шине

В процессе перечисления драйвер шины идентифицирует устройства на своей шине и создает для них объекты устройств. Метод, с помощью которого драйвер идентифицирует устройства на шине, зависит от конкретной шины. Шинный драйвер выполняет некоторые операции от имени устройств, находящихся на его шине, но обычно не обрабатывает операции чтения и записи на устройства, находящиеся на шине. (Эти операции обрабатываются функциональным драйвером.) Драйвер шины выступает в роли функционального драйвера для своего контроллера, адаптера, моста или другого устройства.

microsoft поставляет шинные драйверы для большинства распространенных шин, в том числе: PCi, Plug and Play iSA, SCSi, и USb. Прочие шинные драйверы могут поставляться независимыми поставщиками — iHV или OEm. Шинный драйвер может быть реализован как пара драйвер/мини-драйвер. В таких парах драйверов один из драйверов связан со вторым, а второй представляет собой DLL.

Драйвер ACPi выполняет роль как шинного драйвера, так и функционального драйвера. ACPi позволяет системе узнавать об устройствах, которые не имеют стандартного метода перечисления (т. е. о наследуемых устройствах) или о вновь определенных устройствах ACPi, перечисление которых должно производиться ACPi (например, о встроенных контроллерах). ACPi устанавливает драйверы фильтра верхнего уровня для устройств, функциональные возможности которых выходят за пределы стандарта для их шины. Например, если шинный драйвер PCi устанавливает графический контроллер с элементами управления электропитанием, которые не поддерживаются шиной PCi, то устройство может поддерживать дополнительные функциональные возможности, если драйвер ACPi загрузит для него высокоуровневый драйвер фильтра.