<Return[MN]><Top>

midiOutShortMsg

Declare Function Api_midiOutShortMsg& Lib "winmm" Alias "midiOutShortMsg" (ByVal hmo&, ByVal dwMsg&)

Declare Function midiOutShortMsg Lib "winmm" (ByVal hmo As Long, ByVal dwMsg As Long) As Long

指定された MIDI 出力デバイスに短い MIDI メッセージを送信する。

パラメータ
hmo
    MIDI 出力デバイスのハンドルを指定する。このパラメータには、HMIDIOUT にキャストされた MIDI ストリームのハンドルも指定できる。
dwMsg
    MIDI メッセージを指定する。メッセージは、ダブルワード値にパックされ、メッセージの最初のバイトが下位バイトに入る。メッセージは次のよ

    うにこのパラメータにパックされる。

    上位ワード

上位バイト

使わない。

   

下位バイト

MIDI データの 2 番目のバイトが入る(必要な場合)。

    下位ワード

上位バイト

MIDI データの最初のバイトが入る(必要な場合)。

   

下位バイト

MIDI 状態が入る。

    2 つの MIDI データバイトはオプションで、MIDI 状態バイトに依存する。一連のメッセージが同じ状態バイトを保持する場合は、最初のメッ

    セージ以降のメッセージでは、進行ステータスを作成して、状態バイトを省くことができる。進行ステータスのメッセージは次のようにパックす

    る。

    上位ワード

上位バイト

使わない。

   

下位バイト

使わない。

    下位ワード

上位バイト

MIDI データの 2 番目のバイトが入る(必要な場合)。

   

下位バイト

MIDI データの最初のバイトが入る。

 

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

    値                                               

説明                                                                                    

    MIDIERR_BADOPENMODE

アプリケーションは、状態バイトのないメッセージをストリームハンドルに送信した。 

    MIDIERR_NOTREADY

ハードウェアは、ほかのデータの処理中である。

    MMSYSERR_INVALHANDLE

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

 

解説
    この関数は、システム排他メッセージまたはストリームメッセージ以外のすべての MIDI メッセージを送信するために使う。
    この関数は、出力デバイスにメッセージが送信されるまでは返らない。ストリームが同じデバイス上で再生されている間に、短いメッセージを

    送信することができる。この場合、進行ステータスは使えない。