midiStreamOpen

MIDI ストリームを出力用にオープンします。デフォルトでは一時停止モードでオープンされます。

MMRESULT midiStreamOpen(
    LPHMIDISTRM phStream,   // ハンドルを格納する変数
    PUINT       puDeviceID, // デバイスIDを格納した変数
    DWORD       cMidi,      // 予約(1を指定)
    DWORD_PTR   dwCallback, // コールバックパラメータ
    DWORD_PTR   dwInstance, // コールバックに渡されるデータ
    DWORD       fdwOpen     // コールバックフラグ
);

WINMM.DLL

引数

lphStream

MIDI ストリームのハンドルを格納するための変数のアドレスを指定します。

puDeviceID

デバイス ID を格納した変数のアドレスを指定します。

cMidi

予約されています。 1 を指定しなければなりません。

dwCallback

コールバック関数のアドレス、イベントハンドル、スレッド ID 、ウィンドウハンドル、または、スレッドハンドルのいずれかを指定します。 MIDI 再生の間、再生経過に関わるメッセージを処理するために、これらのいずれかでコールバック処理を行ないます。コールバックを使用しない場合は 0 (NULL) を指定します。

dwInstance

それぞれのコールバック処理に渡されるアプリケーション固有のインスタンスデータを指定します。このパラメータは、ウィンドウコールバックまたはスレッドでは使用されません。

fdwOpen

デバイスをオープンする際のコールバックフラグを指定します。以下の値のいずれかを指定します。

意味
0x00000000 (CALLBACK_NULL)

コールバックを使用しません。

0x00010000 (CALLBACK_WINDOW)

dwCallback パラメータがウィンドウハンドルであることを指定します。

0x00020000 (CALLBACK_THREAD)

dwCallback パラメータがスレッド ID であることを指定します。

0x00030000 (CALLBACK_FUNCTION)

dwCallback パラメータがコールバック関数のアドレスであることを指定します。

0x00050000 (CALLBACK_EVENT)

dwCallback パラメータがイベントハンドルであることを指定します。

戻り値

関数が成功すると 0 (MMSYSERR_NOERROR) が返ります。

関数が失敗すると、以下のエラーが返ります。

意味
2 (MMSYSERR_BADDEVICEID)

指定されたデバイス ID は範囲外です。

7 (MMSYSERR_NOMEM)

メモリの確保またはロックに失敗しました。

11 (MMSYSERR_INVALPARAM)

指定されたハンドルまたはフラグのパラメータは無効です。

対応情報

Windows 95 以降 / Windows NT 3.1 以降