MIDI データ ブロックの割り当てと準備
midiOutLongMsg、midiInAddBuffer、および midiStreamOut 関数では、再生または記録の目的でデバイス ドライバーに渡すデータ ブロックをアプリケーションが割り当てる必要があります。 これらの各関数は、 MIDIHDR 構造体を使用してデータ ブロックを記述します。
これらの関数のいずれかを使用してデータ ブロックをデバイス ドライバーに渡す前に、バッファーのメモリと、データ ブロックを記述するヘッダー構造を割り当てる必要があります。
Windows には、MIDI データ ブロックを準備およびクリーンアップするための次の機能が用意されています。
値 | 説明 |
---|---|
midiInPrepareHeader | MIDI 入力データ ブロックを準備します。 |
midiInUnprepareHeader | MIDI 入力データ ブロックの準備をクリーンアップします。 |
midiOutPrepareHeader | MIDI 出力データ ブロックを準備します。 |
midiOutUnprepareHeader | MIDI 出力データ ブロックの準備をクリーンアップします。 |
MIDI データ ブロックをデバイス ドライバーに渡す前に、 midiInPrepareHeader または midiOutPrepareHeader 関数に渡してバッファーを準備する必要があります。 デバイス ドライバーがバッファーで終了して返されたら、割り当てられたメモリを解放する前に、バッファーを midiInUnprepareHeader 関数または midiOutUnprepareHeader 関数に渡して、この準備をクリーンする必要があります。
関連トピック