midiOutGetVolume 関数 (mmeapi.h)

midiOutGetVolume 関数は、MIDI 出力デバイスの現在のボリューム設定を取得します。

構文

MMRESULT midiOutGetVolume(
  HMIDIOUT hmo,
  LPDWORD  pdwVolume
);

パラメーター

hmo

開いている MIDI 出力デバイスにハンドルします。 このパラメーターには、 HMIDIOUT にキャストされている限り、MIDI ストリームのハンドルを含めることもできます。 このパラメーターには、デバイス識別子を指定することもできます。

pdwVolume

現在のボリューム設定を格納する場所へのポインター。 この場所の下位ワードには左チャネルのボリューム設定が含まれており、上位ワードには右チャネル設定が含まれています。 0xFFFFの値はボリューム全体を表し、0x0000の値は無音です。

デバイスが左右のボリューム制御の両方をサポートしていない場合、指定した場所の下位ワードには mono ボリューム レベルが含まれます。

デバイスがその値をサポートしているかどうかに関係なく、 midiOutSetVolume 関数を使用して設定された値が返されます。

戻り値

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

リターン コード 説明
MMSYSERR_INVALHANDLE
指定されたデバイス ハンドルが無効です。
MMSYSERR_INVALPARAM
指定されたポインターまたは構造体が無効です。
MMSYSERR_NOMEM
システムはメモリを割り当てまたはロックできません。
MMSYSERR_NOTSUPPORTED
関数はサポートされていません。

注釈

デバイス識別子を使用する場合、 midiOutGetVolume 呼び出しの結果と lpdwVolume で返される情報は、デバイスのすべてのインスタンスに適用されます。 デバイス ハンドルが使用されている場合、返される結果と情報は、デバイス ハンドルによって参照されるデバイスのインスタンスにのみ適用されます。

すべてのデバイスがボリューム制御をサポートしているわけではありません。 midiOutGetDevCaps 関数を使用してデバイスに対してクエリを実行し、MIDICAPS_VOLUME フラグを指定することで、デバイスがボリューム制御をサポートしているかどうかを判断できます。

また、 midiOutGetDevCaps 関数を使用してデバイスに対してクエリを実行し、MIDICAPS_LRVOLUME フラグを指定することで、デバイスが左右のチャネルの両方でボリューム制御をサポートしているかどうかを判断することもできます。

要件

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

こちらもご覧ください

MIDI 関数