Пользовательские звуковые драйверы

Звуковые устройства, не совместимые с 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".