Поделиться через


Руководство по проектированию драйверов многофункциональных устройств

Многофункциональное устройство занимает одно место в родительской шине, но содержит несколько функций. Сочетание принтеров, сканеров и факсов, модемов и сетевых карт — это распространенные многофункциональные устройства.

На многофункциональном устройстве отдельные функции независимы. Это означает, что функции должны иметь следующие характеристики:

  • Функции не могут иметь зависимости от порядка запуска.

  • Требования к ресурсам для одной функции не могут быть выражены с точки зрения ресурсов другой функции (например, функция 1 использует порт ввода-вывода x , а функция 2 использует порт x + 200).

  • Каждая функция должна работать как отдельное устройство, даже если оно обслуживается теми же драйверами, что и другая функция.

  • Каждая функция на устройстве должна быть перечислена.

  • Требования к ресурсам для каждой функции должны быть переданы диспетчеру PnP.

  • Для каждой функции должны быть INF-файлы и драйверы.

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

Если устройство соответствует стандартам многофункциональной шины, требования к водителю значительно снижаются. Для шины PC Card и PCI определены отраслевые многофункциональные стандарты.

Если вы работаете с многофункциональным устройством DVD/CD-ROM, используемым для хранения данных (а не для воспроизведения звука и видео), следует использовать системный драйвер класса DVD WDM, который обрабатывает устройство как единую логическую единицу.

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

Если устройство не соответствует стандарту для своей шины, может потребоваться предоставить драйвер, эквивалентный mf.sys в функциональности, в дополнение к драйверам функций и INF-файлам для функций устройства.

Чтобы установить многофункциональное устройство, обычно предоставляется базовый INF-файл для устройства и дополнительный INF-файл для каждой функции устройства. Базовый INF-файл обычно копирует INF-файлы для отдельных функций устройства. Сведения о том, как это сделать, см. в разделе Копирование INFs.

В следующих разделах описаны требования к драйверу и установке для различных типов многофункциональных устройств.

Поддержка устройств с многофункциональной картой ПК

Поддержка многофункциональных устройств PCI

Поддержка многофункциональных устройств на других шинах

Использование драйвера многофункциональной шины System-Supplied

Создание карт ресурсов для многофункционального устройства

Сведения о синтаксисе INF-файла см. в разделах INF File Sections и INF File Directives .

Комплект драйверов Windows (WDK) включает отдельный раздел, в котором описывается поддержка многофункциональных звуковых устройств.