<Return[MN]><Top>

midiOutPrepareHeader

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

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

出力のために、MIDI システム排他バッファまたはストリームバッファを準備する。

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

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

    値                                            

説明                                                                                                                                    

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

指定されたアドレスが無効か、または提供されたストリームバッファのサイズが 64KB を超えている。

    MMSYSERR_NOMEM

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

 

解説
    ストリームバッファのサイズは 64KB を超えてはならない。
    すでに準備してあるヘッダーを準備した場合は何も起こらず、関数は MMSYSERR_NOERROR を返す。
    この関数を使う前に、MIDIHDR 構造体のメンバ lpData、dwBufferLength および dwFlags を設定する必要がある。dwFlags メンバは
    必ず 0 に設定する。