midiStreamOut 関数 (mmeapi.h)
midiStreamOut 関数は、MIDI データのストリーム (バッファー) を MIDI 出力デバイスに再生またはキューに入れます。
構文
MMRESULT midiStreamOut(
HMIDISTRM hms,
LPMIDIHDR pmh,
UINT cbmh
);
パラメーター
hms
MIDI ストリームへのハンドル。 このハンドルは、 midiStreamOpen 関数の呼び出しによって返されている必要があります。 このハンドルは、出力デバイスを識別します。
pmh
MIDI バッファーを識別する MIDIHDR 構造体へのポインター。
cbmh
MIDIHDR 構造体のサイズ (バイト単位)。
戻り値
成功した場合はMMSYSERR_NOERRORを返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
システムはメモリを割り当てまたはロックできません。 |
|
lpMidiHdr が指す出力バッファーは、引き続き再生中か、以前の midiStreamOut 呼び出しからキューに入れられます。 |
|
lpMidiHdr が指すヘッダーは準備されていません。 |
|
指定されたデバイス ハンドルが無効です。 |
|
lpMidiHdr で指定されたポインターが無効です。 |
解説
バッファーを midiStreamOpen に渡す前に、 midiOutPrepareHeader 関数を使用してバッファーを準備する必要があります。
midiStreamOpen 関数は一時停止モードで出力デバイスを開くので、midiStreamOut を使用して再生を開始する前に、midiStreamRestart 関数を呼び出す必要があります。
この関数の現在の実装では、バッファーは 64K より小さくする必要があります。
MIDIHDR 構造体によって指されるバッファーには、1 つ以上の MIDI イベントが含まれており、それぞれが MIDIEVENT 構造体によって定義されます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mmeapi.h (Windows.h を含む) |
Library | Winmm.lib |
[DLL] | Winmm.dll |