<Return[MN]><Top>

midiInUnprepareHeader

Declare Function Api_midiInUnprepareHeader& Lib "winmm" Alias "midiInUnprepareHeader" (ByVal hMidiIn&, lpMidiInHdr As MIDIHDR, ByVal cbMidiInHdr&)

Declare Function midiInUnprepareHeader Lib "winmm" (ByVal hMidiIn As Long, lpMidiInHdr As MIDIHDR, ByVal cbMidiInHdr As Long) As Long

midiInPrepareHeader 関数を使って行った準備をクリーンアップする。

パラメータ
hMidiIn
    MIDI 入力デバイスのハンドルを指定する。
lpMidiInHdr
    クリーンアップされるバッファを識別する MIDIHDR 構造体のアドレスを指定する。
cbMidiInHdr

    MIDIHDR 構造体のサイズを指定する。

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

    値                                             

説明                                                                                         

    MIDIERR_STILLPLAYING

lpMidiInHdr パラメータで指定されたバッファは、まだキューにある。 

    MMSYSERR_INVALPARAM

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

    MMSYSERR_INVALHANDLE

指定されたデバイスハンドルは無効である。


解説
    この関数は midiInPrepareHeader 関数を補足するもので、バッファを解放する前に使う。midiInAddBuffer 関数を使ってデバイスドライバ

    にバッファを渡した後、デバイスドライバがバッファでの作業を完了するまで待ってから midiInUnprepareHeader 関数を呼び出さなければな

    らない。
    準備されていないバッファをクリーンアップした場合は何も起こらず、関数は MMSYSERR_NOERROR を返す。