Интерфейсы минипорта
Как описано в разделе Поддержка устройства, системный драйвер PortCls предоставляет набор встроенных драйверов портов для управления устройствами волны и MIDI. Чтобы использовать один из этих драйверов портов для управления определенным типом звукового устройства, драйвер адаптера должен предоставить соответствующий драйвер miniport, который дополняет драйвер порта, управляя всеми аппаратными функциями устройства.
В этом разделе рассматриваются следующие типы драйверов для мини-портов:
Дополняет драйвер порта WaveRT, управляя аппаратными функциями устройства отрисовки или захвата волн, которое использует циклический буфер для звуковых данных.
Дополняет драйвер порта топологии, управляя различными элементами управления оборудованием (например, уровнем громкости) в цепи микшера звукового адаптера.
Дополняет драйвер порта MIDI, управляя аппаратными функциями простого устройства MIDI.
Дополняет драйвер порта DMus, управляя аппаратными функциями расширенного устройства MIDI.
Каждый драйвер порта реализует интерфейс IPortXxx, который он представляет драйверу мини-порта. В свою очередь, драйвер мини-порта должен реализовать интерфейс IMiniportXxx, который драйвер порта использует для взаимодействия с драйвером минипорта. В следующей таблице показан интерфейс IPortXxx и соответствующий интерфейс IMiniportXxx для каждого типа устройства.
Тип устройства | Интерфейс драйвера порта | Интерфейс драйвера miniport |
---|---|---|
Волновая циклическая |
||
WavePci |
||
WaveRT |
||
Топология |
||
MIDI |
||
DirectMusic |
В предыдущей таблице все интерфейсы IPortXxx являются производными от базового интерфейса IPort, а все интерфейсы IMiniportXxx — от IMiniport.