IAudioEndpointVolume::SetMasterVolumeLevel メソッド (endpointvolume.h)
SetMasterVolumeLevel メソッドは、オーディオ エンドポイント デバイスに出入りするオーディオ ストリームのマスター ボリューム レベルをデシベル単位で設定します。
構文
HRESULT SetMasterVolumeLevel(
[in] float fLevelDB,
[in] LPCGUID pguidEventContext
);
パラメーター
[in] fLevelDB
新しいマスター ボリューム レベル (デシベル)。 このメソッドで設定できるボリューム レベルの範囲と粒度を取得するには、 IAudioEndpointVolume::GetVolumeRange メソッドを呼び出します。
[in] pguidEventContext
IAudioEndpointVolumeCallback::OnNotify メソッドのコンテキスト値。 このパラメーターは、イベント コンテキスト GUID を指します。 SetMasterVolumeLevel 呼び出しによってエンドポイントのボリューム レベルが変更された場合、そのエンドポイントに IAudioEndpointVolumeCallback インターフェイスを登録しているすべてのクライアントが通知を受け取ります。 OnNotify メソッドの実装では、クライアントはイベント コンテキスト GUID を調べて、それがボリューム変更イベントのソースであるかどうかを検出できます。 呼び出し元がこのパラメーターの NULL ポインターを提供する場合、通知ルーチンはコンテキスト GUID 値GUID_NULLを受け取ります。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。
リターン コード | 説明 |
---|---|
|
パラメーター fLevelDB は、デバイスでサポートされているボリューム範囲の外にあります。 |
|
メモリが不足しています。 |
解説
ボリューム レベル fLevelDB が IAudioEndpointVolume::GetVolumeRange メソッドによって報告されたボリューム範囲を超えた場合、 SetMasterVolumeLevel 呼び出しは失敗し、エラー コード E_INVALIDARGを返します。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | endpointvolume.h |
関連項目
IAudioEndpointVolume::GetVolumeRange