Руководство по проектированию драйверов многофункциональных устройств
Многофункциональное устройство занимает одно место в родительской шине, но содержит несколько функций. Сочетание принтеров, сканеров и факсов, модемов и сетевых карт — это распространенные многофункциональные устройства.
На многофункциональном устройстве отдельные функции независимы. Это означает, что функции должны иметь следующие характеристики:
Функции не могут иметь зависимости от порядка запуска.
Требования к ресурсам для одной функции не могут быть выражены с точки зрения ресурсов другой функции (например, функция 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) включает отдельный раздел, в котором описывается поддержка многофункциональных звуковых устройств.