Выделение и подготовка блоков данных MIDI
Функции midiOutLongMsg, midiInAddBuffer и midiStreamOut требуют, чтобы приложения выделили блоки данных для передачи драйверам устройств для воспроизведения или записи. Каждая из этих функций использует структуру MIDIHDR для описания своего блока данных.
Прежде чем использовать одну из этих функций для передачи блока данных драйверу устройства, необходимо выделить память для буфера и структуры заголовков, описывающей блок данных.
Windows предоставляет следующие функции для подготовки и очистки блоков данных MIDI.
Значение | Значение |
---|---|
midiInPrepareHeader | Подготавливает блок входных данных MIDI. |
midiInUnprepareHeader | Очищает подготовку блока входных данных MIDI. |
midiOutPrepareHeader | Подготавливает блок выходных данных MIDI. |
midiOutUnprepareHeader | Очищает подготовку блока выходных данных MIDI. |
Перед передачей блока данных MIDI в драйвер устройства необходимо подготовить буфер, передав его функции midiInPrepareHeader или midiOutPrepareHeader . Когда драйвер устройства завершит работу с буфером и возвратит его, необходимо очистить эту подготовку, передав буфер в функцию midiInUnprepareHeader или midiOutUnprepareHeader , прежде чем можно будет освободить выделенную память.
Связанные темы