30#include "mmdeviceapi.h"
33#include "audioclient.h"
34#include "endpointvolume.h"
35#include "audiopolicy.h"
68 *
ppv = &
This->IAudioEndpointVolumeEx_iface;
127 if(leveldb < -100.f || leveldb > 0.f)
130 This->master_vol = leveldb;
146 TRACE(
"(%p)->(%p)\n", iface, leveldb);
151 *leveldb =
This->master_vol;
181 TRACE(
"(%p)->(%u,%p)\n", iface, chan, leveldb);
215 TRACE(
"(%p)->(%p)\n", iface, mute);
227 TRACE(
"(%p)->(%p,%p)\n", iface, stepsize, stepcount);
228 if (!stepsize && !stepcount)
259 TRACE(
"(%p)->(%p,%p,%p)\n", iface, mindb, maxdb, inc);
261 if (!mindb || !maxdb || !inc)
273 TRACE(
"(%p)->(%p,%p,%p)\n", iface, mindb, maxdb, inc);
274 if (!mindb || !maxdb || !inc)
316 *
ppv = &
This->IAudioEndpointVolumeEx_iface;
#define InterlockedIncrement
#define InterlockedDecrement
static HRESULT WINAPI AEV_SetMasterVolumeLevelScalar(IAudioEndpointVolumeEx *iface, float level, const GUID *ctx)
static void AudioEndpointVolume_Destroy(AEVImpl *This)
static HRESULT WINAPI AEV_RegisterControlChangeNotify(IAudioEndpointVolumeEx *iface, IAudioEndpointVolumeCallback *notify)
static AEVImpl * impl_from_IAudioEndpointVolumeEx(IAudioEndpointVolumeEx *iface)
static HRESULT WINAPI AEV_GetVolumeStepInfo(IAudioEndpointVolumeEx *iface, UINT *stepsize, UINT *stepcount)
static HRESULT WINAPI AEV_VolumeStepUp(IAudioEndpointVolumeEx *iface, const GUID *ctx)
HRESULT AudioEndpointVolume_Create(MMDevice *parent, IAudioEndpointVolumeEx **ppv)
static ULONG WINAPI AEV_AddRef(IAudioEndpointVolumeEx *iface)
static HRESULT WINAPI AEV_GetVolumeRangeChannel(IAudioEndpointVolumeEx *iface, UINT chan, float *mindb, float *maxdb, float *inc)
static HRESULT WINAPI AEV_VolumeStepDown(IAudioEndpointVolumeEx *iface, const GUID *ctx)
static const IAudioEndpointVolumeExVtbl AEVImpl_Vtbl
static HRESULT WINAPI AEV_GetChannelCount(IAudioEndpointVolumeEx *iface, UINT *count)
static HRESULT WINAPI AEV_GetMute(IAudioEndpointVolumeEx *iface, BOOL *mute)
static HRESULT WINAPI AEV_SetChannelVolumeLevel(IAudioEndpointVolumeEx *iface, UINT chan, float leveldb, const GUID *ctx)
static HRESULT WINAPI AEV_QueryInterface(IAudioEndpointVolumeEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI AEV_GetChannelVolumeLevel(IAudioEndpointVolumeEx *iface, UINT chan, float *leveldb)
static HRESULT WINAPI AEV_GetMasterVolumeLevelScalar(IAudioEndpointVolumeEx *iface, float *level)
static HRESULT WINAPI AEV_UnregisterControlChangeNotify(IAudioEndpointVolumeEx *iface, IAudioEndpointVolumeCallback *notify)
static ULONG WINAPI AEV_Release(IAudioEndpointVolumeEx *iface)
static HRESULT WINAPI AEV_SetMasterVolumeLevel(IAudioEndpointVolumeEx *iface, float leveldb, const GUID *ctx)
static HRESULT WINAPI AEV_GetVolumeRange(IAudioEndpointVolumeEx *iface, float *mindb, float *maxdb, float *inc)
static HRESULT WINAPI AEV_QueryHardwareSupport(IAudioEndpointVolumeEx *iface, DWORD *mask)
static HRESULT WINAPI AEV_GetChannelVolumeLevelScalar(IAudioEndpointVolumeEx *iface, UINT chan, float *level)
static HRESULT WINAPI AEV_SetMute(IAudioEndpointVolumeEx *iface, BOOL mute, const GUID *ctx)
static HRESULT WINAPI AEV_GetMasterVolumeLevel(IAudioEndpointVolumeEx *iface, float *leveldb)
static HRESULT WINAPI AEV_SetChannelVolumeLevelScalar(IAudioEndpointVolumeEx *iface, UINT chan, float level, const GUID *ctx)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define HeapFree(x, y, z)
GLuint GLuint GLsizei count
#define IsEqualIID(riid1, riid2)
IAudioEndpointVolumeEx IAudioEndpointVolumeEx_iface
#define CONTAINING_RECORD(address, type, field)