ストリームバッファーを使用した MIDI メッセージの送信
アプリケーションがストリーム バッファーで動作する場合は、 midiStreamOut 関数を使用して、すべての (短いおよび長い) MIDI メッセージをデバイスに送信します。 ストリーム データ ブロックを指定するには、 MIDIHDR および MIDIEVENT 構造体を使用します。 MIDIHDR 構造体には、ロックされたデータ ブロックのアドレス、データ ブロックの長さ、およびいくつかのアソートされたフラグが含まれています。 データは MIDIEVENT 構造体の形式で格納されます。 システムでは、ストリーム バッファーに 64K のサイズ制限が適用されます。
midiStreamOut を使用してデータのストリーム バッファーを送信した後、デバイス ドライバーがデータ ブロックで終了するまで待ってから解放する必要があります。 複数のデータ ブロックを送信する場合は、追加のブロックを送信するタイミングを把握できるように、各データ ブロックの完了を監視する必要があります。 データ ブロックの完了を監視するためのさまざまな手法については、「 MIDI データ ブロックの管理」を参照してください。