<Return[MN]><Top>

midiInOpen

Declare Function Api_midiInOpen& Lib "winmm" Alias "midiInOpen" (lphMidiIn&, ByVal uDeviceID&, ByVal dwCallback&, ByVal dwInstance&, ByVal dwFlags&)

Declare Function midiInOpen Lib "winmm" (lphMidiIn As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long

指定された MIDI 入力デバイスのデバイス識別子を取得する。
この関数は後方互換性のためにサポートされている。新しいアプリケーションでは、デバイス識別子を取得せずに、デバイスのハンドルをキャストすることができる。

パラメータ
lphMidiIn
    HMIDIIN ハンドルのアドレスを指定する。この場所には、オープンした MIDI 入力デバイスを識別するハンドルが入る。ハンドルは、ほか

    の MIDI 入力関数の呼び出しでこのデバイスを識別するために使われる。
uDeviceID
    オープンする MIDI 入力デバイスの識別子を指定する。
dwCallback
    着信 MIDI メッセージに関する情報によって呼び出されるコールバック関数、スレッド識別子、またはウィンドウのハンドルのアドレスを指定

    する。
dwCallbackInstance
    コールバック関数に渡されるユーザーインスタンスデータを指定する。このパラメータは、ウィンドウコールバック関数またはスレッドとともには使

    われない。
dwFlags
    デバイスをオープンするためのコールバックフラグと、高速データ転送を調節するステータスフラグ(任意)を指定する。次の値のいずれかにな

    る。
    CALLBACK_FUNCTION
        dwCallback パラメータはコールバックプロシージャアドレスである。
    CALLBACK_NULL
        コールバック機構はありません。この値が既定の設定である。
    CALLBACK_THREAD
        dwCallback パラメータはスレッド識別子である。
    CALLBACK_WINDOW
        dwCallback パラメータはウィンドウハンドルである。
    MIDI_IO_STATUS
        このパラメータに CALLBACK_FUNCTION も指定する場合は、MIM_DATA メッセージとともに MIM_MOREDATA メッセージがコール

        バック関数に送信される。このパラメータに CALLBACK_WINDOW も指定する場合は、MM_MIM_DATA メッセージとともに

        MM_MIM_MOREDATA メッセージがウィンドウに送信される。このフラグはイベントコールバックまたはスレッドコールバックには影響しな

        い。
        コールバック機構を使うほとんどのアプリケーションでは、このパラメータに CALLBACK_FUNCTION を指定する。

戻り値
    関数が成功すると、MMSYSERR_NOERROR が返る。関数が失敗すると、エラーが返る。返されるエラー値は次のとおりである。

    値                                             

説明                                                                                                 

    MMSYSERR_ALLOCATED

指定されたリソースは既に割り当てられている。

    MMSYSERR_BADDEVICEID

指定されたデバイス識別子は範囲外である。

    MMSYSERR_INVALFLAG

dwFlags パラメータで指定されたフラグは無効である。

    MMSYSERR_INVALPARAM

指定されたポインタまたは構造体は無効である。

    MMSYSERR_NOMEM

システムはメモリを割り当てられないか、またはロックできない。

 

解説
    システムに存在する MIDI 入力デバイスの数を調べるには、midiInGetNumDevs 関数を使う。wDeviceID パラメータで指定するデバイス

    識別子の値は、0 から存在するデバイス数未満(存在するデバイス数から 1 を引いた数)までの範囲である。
    コールバック情報を受け取るウィンドウまたはスレッドが指定されると、MM_MIM_OPEN、MM_MIM_CLOSE、MM_MIM_DATA、

    MM_MIM_LONGDATA、MM_MIM_ERROR、MM_MIM_LONGERROR および MM_MIM_MOREDATA メッセージがウィンドウプロ

    シージャまたはスレッドに送信され、MIDI 入力の進捗状況が示される。
    コールバック情報を受け取る関数が指定されると、MIM_OPEN、MIM_CLOSE、MIM_DATA、MIM_LONGDATA、MIM_ERROR、

    MIM_LONGERROR および MIM_MOREDATA メッセージがその関数に送信され、MIDI 入力の進捗状況が示される。