Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Мультифункционное устройство — это одна карточка адаптера, которая включает две или более отдельных функций (или вложенные функции). Мультифункциональное устройство может содержать два или более звуковых подустройств. Он также может охватывать классы устройств. Например, устройство, содержащее аудио и модем, относится как к классу мультимедиа, так и к классу модема. Дополнительные сведения см. в разделе "Поддержка многофункционных устройств".
Драйвер порта WavePci в PortCls устанавливает особые требования к мультифункциональным устройствам. В частности, драйвер адаптера должен предоставить способ настройки каждого дочернего элемента, чтобы он можно было управлять независимо от других вложенных объектов на многофункциональных устройствах. Это можно сделать, настроив пространство конфигурации PCI для мультифункционного устройства одним из двух способов:
Предпочтительный метод — назначить отдельный идентификатор устройству каждому логически отдельному подустройству на вашем многофункциональном устройстве. Если многофункциональное устройство содержит такие подустройства, как модем, аудио и джойстик, например, система должна представлять каждое подустройство как независимый devnode в дереве устройств. Подустройство, представленное каждым идентификатором устройства, имеет собственный набор регистров конфигурации PCI и является ортогональным и независимым от других подустройств. Например, включение или отключение одного подустройства (например, аудио подустройства) не должно влиять на другое подустройство (например, модем). Для этого типа многофункционального устройства не требуется специальная поддержка драйверов, связанных с оборудованием, кроме собственных драйверов для самих подустройств.
Второй способ проектирования многофункционального устройства — назначить единый идентификатор устройству в целом и предоставить отдельные регистры базовых адресов PCI (BAR) для отдельных подустройств. В этой схеме подустройства совместно используют общий набор регистров конфигурации, но у каждого подустройства есть собственный BAR или несколько BAR. Системный мультифункционный драйвер (например, Mf.sys в Microsoft Windows 2000 и более поздних версиях; см. раздел System-Supplied "Использование драйвера многофункциональной шины") может настроить базовый адрес для состояния, команды и данных каждого дочернего элемента независимо от регистров других функций. Если BARы вашего устройства не могут быть логически разделены по подустройствам, вы не можете использовать PortCls для управления вашим устройством.
Остальная часть этого раздела описывает шаги, необходимые для реализации подхода (2) в предыдущем списке. Рассматриваются следующие темы: