MIDI ストリームを出力用にオープンします。デフォルトでは一時停止モードでオープンされます。
MMRESULT midiStreamOpen(
LPHMIDISTRM phStream, // ハンドルを格納する変数
PUINT puDeviceID, // デバイスIDを格納した変数
DWORD cMidi, // 予約(1を指定)
DWORD_PTR dwCallback, // コールバックパラメータ
DWORD_PTR dwInstance, // コールバックに渡されるデータ
DWORD fdwOpen // コールバックフラグ
);
WINMM.DLL
MIDI ストリームのハンドルを格納するための変数のアドレスを指定します。
デバイス ID を格納した変数のアドレスを指定します。
予約されています。 1 を指定しなければなりません。
コールバック関数のアドレス、イベントハンドル、スレッド ID 、ウィンドウハンドル、または、スレッドハンドルのいずれかを指定します。 MIDI 再生の間、再生経過に関わるメッセージを処理するために、これらのいずれかでコールバック処理を行ないます。コールバックを使用しない場合は 0 (NULL) を指定します。
それぞれのコールバック処理に渡されるアプリケーション固有のインスタンスデータを指定します。このパラメータは、ウィンドウコールバックまたはスレッドでは使用されません。
デバイスをオープンする際のコールバックフラグを指定します。以下の値のいずれかを指定します。
| 値 | 意味 |
|---|---|
| 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 以降