分配和准备 MIDI 数据块

midiOutLongMsgmidiInAddBuffermidiStreamOut 函数要求应用程序分配数据块以传递给设备驱动程序以进行播放或录制。 其中每个函数都使用 MIDIHDR 结构来描述其数据块。

在使用其中一个函数将数据块传递给设备驱动程序之前,必须为缓冲区和描述数据块的标头结构分配内存。

Windows 提供以下用于准备和清理 MIDI 数据块的函数。

含义
midiInPrepareHeader 准备 MIDI 输入数据块。
midiInUnprepareHeader 清理 MIDI 输入数据块的准备工作。
midiOutPrepareHeader 准备 MIDI 输出数据块。
midiOutUnprepareHeader 清理 MIDI 输出数据块的准备工作。

 

在将 MIDI 数据块传递到设备驱动程序之前,必须通过将缓冲区传递给 midiInPrepareHeadermidiOutPrepareHeader 函数来准备缓冲区。 当设备驱动程序使用完缓冲区并返回缓冲区时,你必须通过将缓冲区传递给 midiInUnprepareHeadermidiOutUnprepareHeader 函数来清理此准备,然后才能释放任何已分配的内存。

MIDI 服务