<Return[MN]><Top>

midiInGetDevCaps

Declare Function Api_midiInGetDevCaps& Lib "winmm" Alias "midiInGetDevCapsA" (ByVal uDeviceID&, lpCaps As MIDIINCAPS, ByVal uSize&)

Declare Function midiInGetDevCaps Lib "winmm" Alias "midiInGetDevCapsA" (ByVal uDeviceID As Long, lpCaps As MIDIINCAPS, ByVal uSize As Long) As Long

指定された MIDI 入力デバイスの性能を調べる。

パラメータ
uDeviceID
    MIDI 入力デバイスの識別子を指定する。デバイス識別子の値は 0 から存在するデバイス数未満(存在するデバイス数から 1 を引いた数)ま

    での範囲である。また、このパラメータには、適切にキャストされたデバイスハンドルを指定してもかまわない。
lpMidiInCaps
    デバイスの性能に関する情報が入る MIDIINCAPS 構造体のアドレスを指定する。
cbMidiInCaps
    MIDIINCAPS 構造体のサイズをバイト単位で指定する。cbMidiInCaps バイト以下の情報だけが、lpMidiInCaps パラメータで指定した場

    所にコピーされる。cbMidiInCaps パラメータが 0 の場合は何もコピーされず、関数は MMSYSERR_NOERROR を返す。

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

    値                                             

説明                                                                                                 

    MMSYSERR_BADDEVICEID

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

    MMSYSERR_INVALPARAM

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

    MMSYSERR_NODRIVER

ドライバがインストールされていない。

    MMSYSERR_NOMEM

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


解説
    midiInAddBuffer 関数を使って送信された入力バッファがあり、それがアプリケーションに返されていない場合、クローズ処理は失敗する。

    コールバック関数を介して未処理のすべてのバッファを返すには、midiInReset 関数を使う。