<Return[MN]><Top>

midiInStart

Declare Function Api_midiInStart& Lib "winmm" Alias "midiInStart" (ByVal hMidiIn&)

Declare Function midiInStart Lib "winmm" (ByVal hMidiIn As Long) As Long

指定された MIDI 入力デバイスで入力を開始する。

パラメータ
hMidiIn
    MIDI 入力デバイスのハンドルを指定する。

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

    値                                             

説明                                                                                                 

    MMSYSERR_INVALHANDLE

hmi パラメータで指定されたハンドルは無効である。

 

解説
    この関数はタイムスタンプを 0 にリセットする。リセット後に受信されるメッセージのタイムスタンプの値は、この関数が呼び出された時間に対

    して相対的な値である。
    システム排他メッセージ以外のすべてのメッセージは、受信されるとクライアントに直接送信される。システム排他メッセージは、

    midiInAddBuffer 関数で提供されたバッファに置かれる。キューにバッファがない場合、システム排他データはクライアントに通知されずに破

    棄され、入力が継続される。バッファがいっぱいになった場合、システム排他メッセージが完全に受信された場合、または midiInReset 関

    数が使われた場合に、バッファはクライアントに返される。MIDIHDR 構造体の dwBytesRecorded メンバには、受信されたデータの実際の

    長さが入る。
    入力がすでに開始されている場合はこの関数を呼び出しても何も起こらず、関数は 0 を返す。