MIDI Miniport Driver
Драйвер мини-порта MIDI управляет аппаратными функциями простых MIDI-устройств, которые не имеют расширенных возможностей, таких как аппаратное виртуализация и скачиваемые звуки (DLS). Драйвер MIDI-порта обрабатывает время доставки MIDI-сообщений синтезаторам. Драйвер мини-порта MIDI отвечает только за передачу midi-сообщений синтезатору в ответ на запросы от драйвера порта. Устройства с расширенными возможностями MIDI должны использовать драйвер мини-порта DMus .
Драйвер мини-порта MIDI должен реализовывать два интерфейса:
Интерфейс мини-порта инициализирует объект miniport и создает потоки MIDI.
Интерфейс потока управляет потоком MIDI и предоставляет большую часть функциональных возможностей драйвера мини-порта.
Интерфейс мини-порта IMiniportMidi наследует методы в интерфейсе IMiniport . IMiniportMidi предоставляет следующие дополнительные методы:
Инициализирует объект miniport.
Создает новый объект потока.
Уведомляет драйвер мини-порта о запросе на обслуживание.
Интерфейс потока IMiniportMidiStream наследует методы в интерфейсе IUnknown . IMiniportMidiStream предоставляет следующие дополнительные методы:
Считывает входные данные с устройства записи MIDI.
IMiniportMidiStream::SetFormat
Задает формат данных для потока MIDI.
Задает состояние потока MIDI.
Записывает выходные данные в синтезатор MIDI.
Драйвер MIDI-порта обрабатывает все временные проблемы в обоих направлениях и полагается на драйвер мини-порта для оперативного перемещения данных в адаптер и от его выключения в ответ на вызовы драйвера порта к методам чтения и записи IMiniportMidiStream .
PortCls содержит встроенные драйверы мини-портов MIDI для MIDI-устройств с функциями FM-синтезатора и UART. Дополнительные сведения см. в разделе PcNewMiniport.