midiOutCachePatches 関数は内部 MIDI シンセサイザデバイスに対して、指定された一連のパッチをプリロードしてキャッシュするよう要求する。
midiOutCachePatches hmo, uBank, pwpa, fuCache
hmo : [intptr] オープン済み MIDI 出力デバイスへのハンドル。このデバイスは内部 MIDI シンセサイザでなければならない。このパラメータには HMIDIOUT にキャストされた MIDI ストリームのハンドルも指定できる。 uBank : [int] 使用するパッチのバンク。既定のパッチバンクをキャッシュするには 0 を指定する。 pwpa : [var] キャッシュまたはアンキャッシュするパッチを示す PATCHARRAY 配列へのポインタ。 fuCache : [int] キャッシュ操作のオプション。次のフラグのいずれかを指定できる。
(プラグイン / モジュール : winmm.dll)
midiOutCachePatches 関数は内部 MIDI シンセサイザデバイスに対して、指定された一連のパッチをプリロードしてキャッシュするよう要求する。 [戻り値] 成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。 (以下省略) [備考] シンセサイザの中には全てのパッチを同時にロードしておけず、MIDI プログラムチェンジメッセージを受信したときにディスクからデータをロードする必要があるものがある。パッチをキャッシュすることで指定されたパッチが直ちに利用可能であることを保証する。PATCHARRAY 配列の各要素は 128 のパッチのいずれかを表し、その特定のパッチを使用する 16 の MIDI チャネルそれぞれに対しビットがセットされる。最下位ビットは物理チャネル 0 を、最上位ビットは物理チャネル 15 (0x0F) を表す。例えばパッチ 0 が物理チャネル 0 と 8 で使用される場合、要素 0 は 0x0101 にセットされる。本関数は内部 MIDI シンセサイザデバイスにのみ適用される。全ての内部シンセサイザがパッチキャッシュをサポートしているわけではない。デバイスがパッチキャッシュをサポートしているかを判定するには、MIDICAPS_CACHE フラグを用いて midiOutGetDevCaps 関数で取得した MIDIOUTCAPS 構造体の dwSupport メンバをテストする。
| プラグイン / モジュール | 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 |