midiOutPrepareHeader 関数 (mmeapi.h)
midiOutPrepareHeader 関数は、出力用に MIDI システム排他バッファーまたはストリーム バッファーを準備します。
構文
MMRESULT midiOutPrepareHeader(
HMIDIOUT hmo,
LPMIDIHDR pmh,
UINT cbmh
);
パラメーター
hmo
MIDI 出力デバイスにハンドルします。 デバイス ハンドルを取得するには、 midiOutOpen を呼び出します。 このパラメーターは、 HMIDIOUT タイプにキャストされた MIDI ストリームのハンドルにすることもできます。
pmh
準備するバッファーを識別する MIDIHDR 構造体へのポインター。
関数を呼び出す前に、MIDIHDR 構造体の lpData、dwBufferLength、dwFlags メンバーを設定します。 dwFlags メンバーは 0 に設定する必要があります。
cbmh
MIDIHDR 構造体のサイズ (バイト単位)。
戻り値
成功した場合はMMSYSERR_NOERRORを返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定されたデバイス ハンドルが無効です。 |
|
指定されたアドレスが無効であるか、指定されたストリーム バッファーが 64,000 を超えています。 |
|
システムがメモリを割り当てまたはロックできません。 |
注釈
MIDI データ ブロックをデバイス ドライバーに渡す前に、 midiOutPrepareHeader 関数に渡してバッファーを準備する必要があります。 ヘッダーの準備が完了したら、バッファーを変更しないでください。 バッファーを使用してドライバーが完了したら、 midiOutUnprepareHeader 関数を呼び出します。
アプリケーションでは、同じバッファーを再利用するか、複数のバッファーを割り当てて、各バッファーに 対して midiOutPrepareHeader を呼び出すことができます。 同じバッファーを再利用する場合、毎回バッファーを準備する必要はありません。 最初に 1 回 midiOutPrepareHeader を呼び出し、最後に 1 回 midiOutUnprepareHeader を呼び出すことができます。
ストリーム バッファーは 64K を超えることはできません。
既に準備されているヘッダーを準備しても効果はなく、関数はMMSYSERR_NOERRORを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mmeapi.h (Windows.h を含む) |
Library | Winmm.lib |
[DLL] | Winmm.dll |