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


Выделение и подготовка блоков данных MIDI

Функции midiOutLongMsg, midiInAddBuffer и midiStreamOut требуют, чтобы приложения выделили блоки данных для передачи драйверам устройств для воспроизведения или записи. Каждая из этих функций использует структуру MIDIHDR для описания своего блока данных.

Прежде чем использовать одну из этих функций для передачи блока данных драйверу устройства, необходимо выделить память для буфера и структуры заголовков, описывающей блок данных.

Windows предоставляет следующие функции для подготовки и очистки блоков данных MIDI.

Значение Значение
midiInPrepareHeader Подготавливает блок входных данных MIDI.
midiInUnprepareHeader Очищает подготовку блока входных данных MIDI.
midiOutPrepareHeader Подготавливает блок выходных данных MIDI.
midiOutUnprepareHeader Очищает подготовку блока выходных данных MIDI.

 

Перед передачей блока данных MIDI в драйвер устройства необходимо подготовить буфер, передав его функции midiInPrepareHeader или midiOutPrepareHeader . Когда драйвер устройства завершит работу с буфером и возвратит его, необходимо очистить эту подготовку, передав буфер в функцию midiInUnprepareHeader или midiOutUnprepareHeader , прежде чем можно будет освободить выделенную память.

Службы MIDI