分配和准备 MIDI 数据块
midiOutLongMsg、midiInAddBuffer 和 midiStreamOut 函数要求应用程序分配数据块以传递给设备驱动程序以进行播放或录制。 其中每个函数都使用 MIDIHDR 结构来描述其数据块。
在使用其中一个函数将数据块传递给设备驱动程序之前,必须为缓冲区和描述数据块的标头结构分配内存。
Windows 提供以下用于准备和清理 MIDI 数据块的函数。
值 | 含义 |
---|---|
midiInPrepareHeader | 准备 MIDI 输入数据块。 |
midiInUnprepareHeader | 清理 MIDI 输入数据块的准备工作。 |
midiOutPrepareHeader | 准备 MIDI 输出数据块。 |
midiOutUnprepareHeader | 清理 MIDI 输出数据块的准备工作。 |
在将 MIDI 数据块传递到设备驱动程序之前,必须通过将缓冲区传递给 midiInPrepareHeader 或 midiOutPrepareHeader 函数来准备缓冲区。 当设备驱动程序使用完缓冲区并返回缓冲区时,你必须通过将缓冲区传递给 midiInUnprepareHeader 或 midiOutUnprepareHeader 函数来清理此准备,然后才能释放任何已分配的内存。
相关主题