<Return[MN]><Top>

midiOutUnprepareHeader

Declare Function Api_midiOutUnprepareHeader& Lib "winmm" Alias "midiOutUnprepareHeader" (ByVal hmo&, lpMidiOutHdr As MIDIHDR, ByVal cbMidiOutHdr&)

Declare Function midiOutUnprepareHeader Lib "winmm" (ByVal hmo As Long, lpMidiOutHdr As MIDIHDR, ByVal cbMidiOutHdr As Long) As Long

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

パラメータ
hmo

    MIDI 出力デバイスのハンドルを指定する。このパラメータには、HMIDIOUT にキャストされた MIDI ストリームのハンドルも指定できる。
lpMidiOutHdr
    クリーンアップするバッファを識別する MIDIHDR 構造体のアドレスを指定する。
cbMidiOutHdr
    MIDIHDR 構造体のサイズをバイト単位で指定する。

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

    値                                               

説明                                                                                    

    MIDIERR_STILLPLAYING

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

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

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

 

解説
    この関数は midiOutPrepareHeader 関数を補足するものである。バッファを解放する前に、midiOutUnprepareHeader 関数を呼び出さな

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

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