midiInPrepareHeader 関数 (mmeapi.h)

midiInPrepareHeader 関数は、MIDI 入力用のバッファーを準備します。

構文

MMRESULT midiInPrepareHeader(
  HMIDIIN   hmi,
  LPMIDIHDR pmh,
  UINT      cbmh
);

パラメーター

hmi

MIDI 入力デバイスへのハンドル。 デバイス ハンドルを取得するには、 midiInOpen を呼び出します。

pmh

準備するバッファーを識別する MIDIHDR 構造体へのポインター。

関数を呼び出す前に、MIDIHDR 構造体の lpDatadwBufferLengthdwFlags メンバーを設定します。 dwFlags メンバーは 0 に設定する必要があります。

cbmh

MIDIHDR 構造体のサイズ (バイト単位)。

戻り値

成功した場合はMMSYSERR_NOERRORを返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。

リターン コード 説明
MMSYSERR_INVALHANDLE
指定されたデバイス ハンドルが無効です。
MMSYSERR_INVALPARAM
指定されたアドレスが無効です。
MMSYSERR_NOMEM
システムはメモリを割り当てまたはロックできません。

解説

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

関連項目

MIDI データ ブロックの割り当てと準備

MIDI 関数

midiInUnprepareHeader