Поделиться через


MIDI Miniport Driver

Драйвер мини-порта MIDI управляет аппаратными функциями простых MIDI-устройств, которые не имеют расширенных возможностей, таких как аппаратное виртуализация и скачиваемые звуки (DLS). Драйвер MIDI-порта обрабатывает время доставки MIDI-сообщений синтезаторам. Драйвер мини-порта MIDI отвечает только за передачу midi-сообщений синтезатору в ответ на запросы от драйвера порта. Устройства с расширенными возможностями MIDI должны использовать драйвер мини-порта DMus .

Драйвер мини-порта MIDI должен реализовывать два интерфейса:

  • Интерфейс мини-порта инициализирует объект miniport и создает потоки MIDI.

  • Интерфейс потока управляет потоком MIDI и предоставляет большую часть функциональных возможностей драйвера мини-порта.

Интерфейс мини-порта IMiniportMidi наследует методы в интерфейсе IMiniport . IMiniportMidi предоставляет следующие дополнительные методы:

IMiniportMidi::Init

Инициализирует объект miniport.

IMiniportMidi::NewStream

Создает новый объект потока.

IMiniportMidi::Service

Уведомляет драйвер мини-порта о запросе на обслуживание.

Интерфейс потока IMiniportMidiStream наследует методы в интерфейсе IUnknown . IMiniportMidiStream предоставляет следующие дополнительные методы:

IMiniportMidiStream::Read

Считывает входные данные с устройства записи MIDI.

IMiniportMidiStream::SetFormat

Задает формат данных для потока MIDI.

IMiniportMidiStream::SetState

Задает состояние потока MIDI.

IMiniportMidiStream::Write

Записывает выходные данные в синтезатор MIDI.

Драйвер MIDI-порта обрабатывает все временные проблемы в обоих направлениях и полагается на драйвер мини-порта для оперативного перемещения данных в адаптер и от его выключения в ответ на вызовы драйвера порта к методам чтения и записи IMiniportMidiStream .

PortCls содержит встроенные драйверы мини-портов MIDI для MIDI-устройств с функциями FM-синтезатора и UART. Дополнительные сведения см. в разделе PcNewMiniport.