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