mixerOpen 関数は指定されたミキサーデバイスをオープンし、アプリケーションがハンドルを閉じるまでデバイスが取り外されないことを保証する。
mixerOpen phmx, uMxId, dwCallback, dwInstance, fdwOpen
phmx : [intptr] オープンされたミキサーデバイスを識別するハンドルを受け取る変数へのポインタ。このハンドルは他のオーディオミキサー関数を呼び出すときにデバイスを識別するために使用する。このパラメータは NULL であってはならない。 uMxId : [int] オープン対象のミキサーデバイスの識別子。有効なデバイス識別子または任意の HMIXEROBJ を使用する (ミキサーオブジェクトハンドルの説明は mixerGetID 関数を参照)。オーディオミキサーデバイスの「マッパー」は現在存在しないため、ミキサーデバイス識別子 -1 は無効である。 dwCallback : [int] オープン対象のデバイスに関連付けられたオーディオラインまたはコントロールの状態が変化したときに呼び出されるウィンドウへのハンドル。コールバック機構を使用しない場合は NULL を指定する。 dwInstance : [int] 予約。0 でなければならない。 fdwOpen : [int] デバイスを開くためのフラグ。次の値が定義されている。
(プラグイン / モジュール : winmm.dll)
mixerOpen 関数は指定されたミキサーデバイスをオープンし、アプリケーションがハンドルを閉じるまでデバイスが取り外されないことを保証する。 [戻り値] 成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。 (以下省略) [備考] システムに存在するオーディオミキサーデバイスの数を判定するには mixerGetNumDevs 関数を使用する。uMxId で指定されるデバイス識別子は 0 から存在するデバイスの数より 1 少ない値までの範囲となる。コールバック情報の受け取り先としてウィンドウが選択された場合、オーディオラインまたはコントロール状態の変化を示すために MM_MIXM_LINE_CHANGE および MM_MIXM_CONTROL_CHANGE メッセージがウィンドウプロシージャ関数へ送信される。両メッセージにおいて wParam パラメータはミキサーデバイスのハンドルである。lParam パラメータは MM_MIXM_LINE_CHANGE の場合は状態が変化したライン識別子、MM_MIXM_CONTROL_CHANGE の場合はコントロール識別子である。オーディオミキサーサポートまたはメディアデバイスを問い合わせるには mixerGetID 関数を使用する。64 ビットシステムでは、uMxId パラメータが 32 ビットに切り詰められるため、64 ビットの LPHWAVEOUT ポインタを uMxId パラメータに渡す状況では本関数は期待どおりに動作しないことがある。
| プラグイン / モジュール | winmm.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の winmm.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_winmm_gen2.hs |