次の方法で共有


midiInOpen 関数 (mmeapi.h)

midiInOpen 関数は、指定された MIDI 入力デバイスを開きます。

構文

MMRESULT midiInOpen(
  LPHMIDIIN phmi,
  UINT      uDeviceID,
  DWORD_PTR dwCallback,
  DWORD_PTR dwInstance,
  DWORD     fdwOpen
);

パラメーター

phmi

HMIDIIN ハンドルへのポインター。 この場所には、開いている MIDI 入力デバイスを識別するハンドルが入力されます。 ハンドルは、他のMIDI入力機能への呼び出しでデバイスを識別するために使用されます。

uDeviceID

開く MIDI 入力デバイスの識別子。

dwCallback

コールバック関数、スレッド識別子、または着信 MIDI メッセージに関する情報と呼ばれるウィンドウのハンドルへのポインター。 コールバック関数の詳細については、「 MidiInProc」を参照してください。

dwInstance

コールバック関数に渡されるユーザー インスタンス データ。 このパラメーターは、ウィンドウ コールバック関数またはスレッドでは使用されません。

fdwOpen

デバイスを開くコールバック フラグ、および必要に応じて、迅速なデータ転送を調整するのに役立つ状態フラグ。 次の値を指定できます。

意味
CALLBACK_FUNCTION dwCallback パラメーターはコールバック プロシージャ アドレスです。
CALLBACK_NULL コールバック メカニズムはありません。 この値は既定の設定です。
CALLBACK_THREAD dwCallback パラメーターはスレッド識別子です。
CALLBACK_WINDOW dwCallback パラメーターはウィンドウ ハンドルです。
MIDI_IO_STATUS このパラメーターでCALLBACK_FUNCTIONも指定すると、 MIM_MOREDATA メッセージはコールバック関数と MIM_DATA メッセージに送信されます。 または、このパラメーターでCALLBACK_WINDOWも指定されている場合は、 MM_MIM_MOREDATA メッセージがウィンドウに送信され、 メッセージもMM_MIM_DATA されます。 このフラグは、イベントコールバックやスレッドコールバックには影響しません。
 

コールバック メカニズムを使用するほとんどのアプリケーションでは、このパラメーターのCALLBACK_FUNCTIONが指定されます。

戻り値

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

リターン コード 説明
MMSYSERR_ALLOCATED
指定されたリソースは既に割り当てられています。
MMSYSERR_BADDEVICEID
指定されたデバイス識別子が範囲外です。
MMSYSERR_INVALFLAG
dwFlags で指定されたフラグが無効です。
MMSYSERR_INVALPARAM
指定されたポインターまたは構造体が無効です。
MMSYSERR_NOMEM
システムがメモリを割り当てまたはロックできません。

注釈

システムに存在する MIDI 入力デバイスの数を確認するには、 midiInGetNumDevs 関数を 使用します。 wDeviceID で指定されたデバイス識別子は、存在するデバイスの数よりも 0 から 1 未満に変化します。

コールバック情報を受け取るためにウィンドウまたはスレッドを選択した場合、MIDI 入力の進行状況を示すメッセージがウィンドウ プロシージャまたはスレッドに送信されます。MM_MIM_OPENMM_MIM_CLOSEMM_MIM_DATAMM_MIM_LONGDATAMM_MIM_ERROR、MM_MIM_LONGERRORMM_MIM_MOREDATA

コールバック情報を受け取るために関数を選択すると、MIDI 入力の進行状況を示すメッセージが関数に送信されます: MIM_OPENMIM_CLOSEMIM_DATAMIM_LONGDATAMIM_ERRORMIM_LONGERRORMIM_MOREDATA

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mmeapi.h (Windows.h を含む)
Library Winmm.lib
[DLL] Winmm.dll

こちらもご覧ください

MIDI 関数