midiStreamOpen 関数 (mmeapi.h)

midiStreamOpen 関数は、出力用の MIDI ストリームを開きます。 既定では、デバイスは一時停止モードで開かれます。 この関数によって取得されるストリーム ハンドルは、ストリームへの後続のすべての参照で使用する必要があります。

構文

MMRESULT midiStreamOpen(
  LPHMIDISTRM phms,
  LPUINT      puDeviceID,
  DWORD       cMidi,
  DWORD_PTR   dwCallback,
  DWORD_PTR   dwInstance,
  DWORD       fdwOpen
);

パラメーター

phms

関数が戻るときにストリーム ハンドルを格納する変数へのポインター。

puDeviceID

デバイス識別子へのポインター。 デバイスはストリームの代わりに開き、ストリームが閉じられると再び閉じられます。

cMidi

予約;は 1 である必要があります。

dwCallback

再生の進行状況に関連するメッセージを処理するために MIDI 再生中に呼び出される、コールバック関数、イベント ハンドル、スレッド識別子、またはウィンドウまたはスレッドのハンドルへのポインター。 コールバック メカニズムが必要ない場合は、このパラメーターに NULL を 指定します。

dwInstance

すべてのコールバック関数を使用してアプリケーションに返されるアプリケーション固有のインスタンス データ。

fdwOpen

デバイスを開くコールバック フラグ。 次のいずれかのコールバック フラグを指定する必要があります。

説明
CALLBACK_EVENT dwCallback パラメーターはイベント ハンドルです。 このコールバック メカニズムは出力専用です。
CALLBACK_FUNCTION dwCallback パラメーターはコールバック プロシージャ アドレスです。 コールバック署名については、「 MidiOutProc」を参照してください。
CALLBACK_NULL コールバック メカニズムはありません。 これが既定の設定です。
CALLBACK_THREAD dwCallback パラメーターはスレッド識別子です。
CALLBACK_WINDOW dwCallback パラメーターはウィンドウ ハンドルです。

戻り値

成功した場合はMMSYSERR_NOERRORを返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。

リターン コード 説明
MMSYSERR_BADDEVICEID
指定されたデバイス識別子が範囲外です。
MMSYSERR_INVALPARAM
指定されたハンドルまたは flags パラメーターが無効です。
MMSYSERR_NOMEM
システムはメモリを割り当てまたはロックできません。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mmeapi.h (Windows.h を含む)
Library Winmm.lib
[DLL] Winmm.dll

関連項目

MIDI 関数