<Return[MN]><Top>

midiOutOpen

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 出力デバイスをオープンする。

パラメータ
lphmo
    HMIDIOUT ハンドルのアドレスを指定する。この場所には、オープンされた MIDI 出力デバイスを識別するハンドルが入る。ハンドルは、

    ほかの MIDI 出力関数の呼び出しでこのデバイスを識別するために使われる。
uDeviceID
    オープンする MIDI 出力デバイスの識別子を指定する。
dwCallback
    再生の進捗状況に関するメッセージを処理するために MIDI 再生中に呼び出されるコールバック関数、イベントハンドル、スレッド識別子、

    またはウィンドウかスレッドのハンドルのアドレスを指定する。コールバック機構が必要でない場合は、このパラメータに NULL を指定する。
dwCallbackInstance
    コールバック関数に渡されるユーザーインスタンスデータを指定する。このパラメータは、ウィンドウコールバックまたはスレッドとともには使わな

    い。
dwFlags
    デバイスをオープンするためのコールバックフラグを指定する。次の値を指定することができる。
    CALLBACK_EVENT
        dwCallback パラメータはイベントハンドルである。このコールバック機構は出力にだけ使います。
    CALLBACK_FUNCTION
        dwCallback パラメータはコールバック関数のアドレスである。
    CALLBACK_NULL
        コールバック機構はありません。この値が既定の設定である。
    CALLBACK_THREAD
        dwCallback パラメータはスレッド識別子である。
    CALLBACK_WINDOW
        dwCallback パラメータはウィンドウハンドルである。

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

    値                                           

説明                                                                                                                                    

    MIDIERR_NODEVICE

MIDI ポートが見つからなかった。このエラーは、マッパーがオープンされているときにだけ発生する。

    MMSYSERR_ALLOCATED

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

    MMSYSERR_BADDEVICEID

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

    MMSYSERR_INVALPARAM

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

    MMSYSERR_NOMEM

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

 

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

    別子の値は、0 から存在するデバイス数未満(存在するデバイス数から 1 を引いた数)までの範囲である。MIDI_MAPPER はデバイス識別

    子としても使える。
    コールバック情報を受け取るウィンドウまたはスレッドを指定すると、MM_MOM_OPEN、MM_MOM_CLOSE および MM_MOM_DONE

    メッセージがウィンドプロシージャまたはスレッドに送信され、MIDI 出力の進捗状況が示される。
    コールバック情報を受け取る関数を指定すると、MOM_OPEN、MOM_CLOSE および MOM_DONE メッセージがその関数に送信され、

    MIDI 出力の進捗状況が示される。