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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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