Пользовательские аудиодрайверы
Для звуковых устройств, которые не совместимы с UAA, требуются пользовательские драйверы, предоставляемые поставщиком. Кроме того, аудиоадаптер, совместимый с UAA, может включать собственные функции, которые не поддерживаются драйверами класса UAA; Эти функции доступны для приложений только в том случае, если поставщик предоставляет пользовательский аудиодрайв. Через предоставляемые системой драйверы UAA доступны только стандартные функции UAA. Сведения о функциях, поддерживаемых UAA, см. в техническом документе универсальная архитектура звука .
Поставщикам оборудования доступны два варианта написания пользовательских звуковых драйверов: разработка драйвера пользовательского аудиоадаптера для использования с системным драйвером PortCls (Portcls.sys) или разработка пользовательского мини-драйвера для использования с системным драйвером класса AVStream (Ks.sys).
Большинство пользовательских драйверов для звуковых адаптеров используют PortCls, которые предоставляются как часть операционной системы. Системный драйвер PortCls (Portcls.sys) содержит встроенную инфраструктуру аудиодрайвера, которая упрощает создание пользовательского аудиодрайвера. PortCls реализует несколько драйверов портов, каждый из которых предназначен для управления универсальными функциями определенного типа волны, MIDI или микшерного устройства. После выбора соответствующего набора драйверов портов для управления звуковыми функциями на звуковом адаптере поставщик разрабатывает дополнительный набор драйверов для минипорта, которые работают в сочетании с выбранными драйверами портов и управляют зависимыми от оборудования функциями звуковых устройств.
Поставщик также может поддерживать звуковое устройство, разработав пользовательский мини-накопитель класса AVStream. Мини-диск работает в сочетании с системным драйвером класса AVStream, который поставляется в составе операционной системы. Реализовать драйвер AVStream сложнее, чем использовать PortCls, но это может быть по-прежнему подходит для устройств, которые интегрируют звук и видео. Драйвер AVStream также может потребоваться для существующего звукового устройства USB или IEEE 1394, которое не соответствует требованиям системного драйвера класса USBAudio или AVCAudio.
Почти для всех звуковых адаптеров PCI, которым требуются пользовательские драйверы, предоставляемые поставщиком, поставщики должны выбрать PortCls.
В системном драйвере класса AVStream (Ks.sys) отсутствует большинство функций поддержки звука, которые существуют в PortCls.
Дополнительные сведения о PortCls см. в статье Общие сведения о классе портов. Дополнительные сведения о AVStream см. в разделе Обзор AVStream.