midiOutGetVolume

midiOutGetVolume 関数は MIDI 出力デバイスの現在の音量設定を取得する。

midiOutGetVolume hmo, pdwVolume

hmo : [intptr] オープン済み MIDI 出力デバイスへのハンドル。このパラメータには HMIDIOUT にキャストされていれば MIDI ストリームのハンドルを含めることもできる。デバイス識別子も指定できる。
pdwVolume : [var] 現在の音量設定が格納される場所へのポインタ。下位ワードに左チャネルの音量設定が、上位ワードに右チャネルの設定が格納される。0xFFFF が最大音量、0x0000 が無音を表す。デバイスが左右両チャネルの音量制御をサポートしていない場合、指定された場所の下位ワードにモノラル音量レベルが格納される。midiOutSetVolume 関数で設定された値は、デバイスがその値をサポートしているかどうかにかかわらず返される。

(プラグイン / モジュール : winmm.dll)

解説

midiOutGetVolume 関数は MIDI 出力デバイスの現在の音量設定を取得する。

[戻り値]
成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。
(以下省略)

[備考]
デバイス識別子を使用した場合、midiOutGetVolume 呼び出しの結果と lpdwVolume
で返される情報はそのデバイスの全インスタンスに適用される。デバイスハンドルを使用した場合、結果と返される情報はそのデバイスハンドルが参照するインスタンスにのみ適用される。全てのデバイスが音量制御をサポートしているわけではない。デバイスが音量制御をサポートしているかは
midiOutGetDevCaps 関数で MIDICAPS_VOLUME フラグを指定して問い合わせることで判定できる。同じく
MIDICAPS_LRVOLUME
フラグを指定して問い合わせることで、デバイスが左右両チャネルの音量制御をサポートしているかも判定できる。

情報

プラグイン / モジュールwinmm.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の winmm.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_winmm_gen2.hs