Управление электропитанием и Plug
and Play осуществляется при помощи шинных драйверов WDM, которые представляют
собой стандартные драйверы WDM. Обратите внимание, что в этом контексте любое
устройство, начиная с которого происходит перечисление других устройств, будет
называться
шиной.
|
Динамическое извещение операционной
системы о событиях на шине
|
|
Ответы на IRP от систем Plug
and Play и управления электропитанием
|
|
Мультиплексирование доступа
к шине (для некоторых шин)
|
|
Общее администрирование устройств на шине |
В процессе перечисления драйвер шины идентифицирует устройства на своей шине и создает для них объекты устройств. Метод, с помощью которого драйвер идентифицирует устройства на шине, зависит от конкретной шины. Шинный драйвер выполняет некоторые операции от имени устройств, находящихся на его шине, но обычно не обрабатывает операции чтения и записи на устройства, находящиеся на шине. (Эти операции обрабатываются функциональным драйвером.) Драйвер шины выступает в роли функционального драйвера для своего контроллера, адаптера, моста или другого устройства.
Microsoft поставляет шинные драйверы для большинства распространенных шин, в том числе: PCI, Plug and Play ISA, SCSI, и USB. Прочие шинные драйверы могут поставляться независимыми поставщиками — IHV или OEM. Шинный драйвер может быть реализован как пара драйвер/мини-драйвер. В таких парах драйверов один из драйверов связан со вторым, а второй представляет собой DLL.
Драйвер ACPI выполняет роль как шинного драйвера, так и функционального драйвера. ACPI позволяет системе узнавать об устройствах, которые не имеют стандартного метода перечисления (т. е. о наследуемых устройствах) или о вновь определенных устройствах ACPI, перечисление которых должно производиться ACPI (например, о встроенных контроллерах). ACPI устанавливает драйверы фильтра верхнего уровня для устройств, функциональные возможности которых выходят за пределы стандарта для их шины. Например, если шинный драйвер PCI устанавливает графический контроллер с элементами управления электропитанием, которые не поддерживаются шиной PCI, то устройство может поддерживать дополнительные функциональные возможности, если драйвер ACPI загрузит для него высокоуровневый драйвер фильтра.