17 #pragma warning( disable: 4049 )
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
37 #ifndef COM_NO_WINDOWS_H
42 #ifndef __endpointvolume_h__
43 #define __endpointvolume_h__
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
51 #ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__
52 #define __IAudioEndpointVolumeCallback_FWD_DEFINED__
57 #ifndef __IAudioEndpointVolume_FWD_DEFINED__
58 #define __IAudioEndpointVolume_FWD_DEFINED__
63 #ifndef __IAudioMeterInformation_FWD_DEFINED__
64 #define __IAudioMeterInformation_FWD_DEFINED__
92 #define ENDPOINT_HARDWARE_SUPPORT_VOLUME 0x00000001
93 #define ENDPOINT_HARDWARE_SUPPORT_MUTE 0x00000002
94 #define ENDPOINT_HARDWARE_SUPPORT_METER 0x00000004
100 #ifndef __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
101 #define __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
109 #if defined(__cplusplus) && !defined(CINTERFACE)
111 MIDL_INTERFACE(
"657804FA-D6AD-4496-8A60-352752AF4F89")
115 virtual HRESULT STDMETHODCALLTYPE OnNotify(
116 PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) = 0;
126 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
132 ULONG ( STDMETHODCALLTYPE *AddRef )(
135 ULONG ( STDMETHODCALLTYPE *Release )(
138 HRESULT ( STDMETHODCALLTYPE *OnNotify )(
155 #define IAudioEndpointVolumeCallback_QueryInterface(This,riid,ppvObject) \
156 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
158 #define IAudioEndpointVolumeCallback_AddRef(This) \
159 ( (This)->lpVtbl -> AddRef(This) )
161 #define IAudioEndpointVolumeCallback_Release(This) \
162 ( (This)->lpVtbl -> Release(This) )
165 #define IAudioEndpointVolumeCallback_OnNotify(This,pNotify) \
166 ( (This)->lpVtbl -> OnNotify(This,pNotify) )
179 #ifndef __IAudioEndpointVolume_INTERFACE_DEFINED__
180 #define __IAudioEndpointVolume_INTERFACE_DEFINED__
188 #if defined(__cplusplus) && !defined(CINTERFACE)
190 MIDL_INTERFACE(
"5CDF2C82-841E-4546-9722-0CF74078229A")
194 virtual HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify(
198 virtual HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify(
202 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
204 __out UINT *pnChannelCount) = 0;
206 virtual HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel(
209 LPCGUID pguidEventContext) = 0;
211 virtual HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar(
214 LPCGUID pguidEventContext) = 0;
216 virtual HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel(
218 __out float *pfLevelDB) = 0;
220 virtual HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar(
222 __out float *pfLevel) = 0;
224 virtual HRESULT STDMETHODCALLTYPE SetChannelVolumeLevel(
228 LPCGUID pguidEventContext) = 0;
230 virtual HRESULT STDMETHODCALLTYPE SetChannelVolumeLevelScalar(
234 LPCGUID pguidEventContext) = 0;
236 virtual HRESULT STDMETHODCALLTYPE GetChannelVolumeLevel(
240 __out float *pfLevelDB) = 0;
242 virtual HRESULT STDMETHODCALLTYPE GetChannelVolumeLevelScalar(
246 __out float *pfLevel) = 0;
248 virtual HRESULT STDMETHODCALLTYPE SetMute(
251 LPCGUID pguidEventContext) = 0;
253 virtual HRESULT STDMETHODCALLTYPE GetMute(
257 virtual HRESULT STDMETHODCALLTYPE GetVolumeStepInfo(
261 __out UINT *pnStepCount) = 0;
263 virtual HRESULT STDMETHODCALLTYPE VolumeStepUp(
264 LPCGUID pguidEventContext) = 0;
266 virtual HRESULT STDMETHODCALLTYPE VolumeStepDown(
267 LPCGUID pguidEventContext) = 0;
269 virtual HRESULT STDMETHODCALLTYPE QueryHardwareSupport(
271 __out DWORD *pdwHardwareSupportMask) = 0;
273 virtual HRESULT STDMETHODCALLTYPE GetVolumeRange(
275 __out float *pflVolumeMindB,
277 __out float *pflVolumeMaxdB,
279 __out float *pflVolumeIncrementdB) = 0;
289 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
295 ULONG ( STDMETHODCALLTYPE *AddRef )(
298 ULONG ( STDMETHODCALLTYPE *Release )(
301 HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeNotify )(
306 HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeNotify )(
311 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
316 HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevel )(
322 HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevelScalar )(
328 HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevel )(
333 HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevelScalar )(
338 HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevel )(
345 HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevelScalar )(
352 HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevel )(
359 HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevelScalar )(
366 HRESULT ( STDMETHODCALLTYPE *SetMute )(
372 HRESULT ( STDMETHODCALLTYPE *GetMute )(
377 HRESULT ( STDMETHODCALLTYPE *GetVolumeStepInfo )(
384 HRESULT ( STDMETHODCALLTYPE *VolumeStepUp )(
388 HRESULT ( STDMETHODCALLTYPE *VolumeStepDown )(
392 HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )(
397 HRESULT ( STDMETHODCALLTYPE *GetVolumeRange )(
419 #define IAudioEndpointVolume_QueryInterface(This,riid,ppvObject) \
420 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
422 #define IAudioEndpointVolume_AddRef(This) \
423 ( (This)->lpVtbl -> AddRef(This) )
425 #define IAudioEndpointVolume_Release(This) \
426 ( (This)->lpVtbl -> Release(This) )
429 #define IAudioEndpointVolume_RegisterControlChangeNotify(This,pNotify) \
430 ( (This)->lpVtbl -> RegisterControlChangeNotify(This,pNotify) )
432 #define IAudioEndpointVolume_UnregisterControlChangeNotify(This,pNotify) \
433 ( (This)->lpVtbl -> UnregisterControlChangeNotify(This,pNotify) )
435 #define IAudioEndpointVolume_GetChannelCount(This,pnChannelCount) \
436 ( (This)->lpVtbl -> GetChannelCount(This,pnChannelCount) )
438 #define IAudioEndpointVolume_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) \
439 ( (This)->lpVtbl -> SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) )
441 #define IAudioEndpointVolume_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) \
442 ( (This)->lpVtbl -> SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) )
444 #define IAudioEndpointVolume_GetMasterVolumeLevel(This,pfLevelDB) \
445 ( (This)->lpVtbl -> GetMasterVolumeLevel(This,pfLevelDB) )
447 #define IAudioEndpointVolume_GetMasterVolumeLevelScalar(This,pfLevel) \
448 ( (This)->lpVtbl -> GetMasterVolumeLevelScalar(This,pfLevel) )
450 #define IAudioEndpointVolume_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) \
451 ( (This)->lpVtbl -> SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) )
453 #define IAudioEndpointVolume_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) \
454 ( (This)->lpVtbl -> SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) )
456 #define IAudioEndpointVolume_GetChannelVolumeLevel(This,nChannel,pfLevelDB) \
457 ( (This)->lpVtbl -> GetChannelVolumeLevel(This,nChannel,pfLevelDB) )
459 #define IAudioEndpointVolume_GetChannelVolumeLevelScalar(This,nChannel,pfLevel) \
460 ( (This)->lpVtbl -> GetChannelVolumeLevelScalar(This,nChannel,pfLevel) )
462 #define IAudioEndpointVolume_SetMute(This,bMute,pguidEventContext) \
463 ( (This)->lpVtbl -> SetMute(This,bMute,pguidEventContext) )
465 #define IAudioEndpointVolume_GetMute(This,pbMute) \
466 ( (This)->lpVtbl -> GetMute(This,pbMute) )
468 #define IAudioEndpointVolume_GetVolumeStepInfo(This,pnStep,pnStepCount) \
469 ( (This)->lpVtbl -> GetVolumeStepInfo(This,pnStep,pnStepCount) )
471 #define IAudioEndpointVolume_VolumeStepUp(This,pguidEventContext) \
472 ( (This)->lpVtbl -> VolumeStepUp(This,pguidEventContext) )
474 #define IAudioEndpointVolume_VolumeStepDown(This,pguidEventContext) \
475 ( (This)->lpVtbl -> VolumeStepDown(This,pguidEventContext) )
477 #define IAudioEndpointVolume_QueryHardwareSupport(This,pdwHardwareSupportMask) \
478 ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) )
480 #define IAudioEndpointVolume_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) \
481 ( (This)->lpVtbl -> GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) )
494 #ifndef __IAudioMeterInformation_INTERFACE_DEFINED__
495 #define __IAudioMeterInformation_INTERFACE_DEFINED__
503 #if defined(__cplusplus) && !defined(CINTERFACE)
505 MIDL_INTERFACE(
"C02216F6-8C67-4B5B-9D00-D008E73E0064")
509 virtual HRESULT STDMETHODCALLTYPE GetPeakValue(
512 virtual HRESULT STDMETHODCALLTYPE GetMeteringChannelCount(
516 virtual HRESULT STDMETHODCALLTYPE GetChannelsPeakValues(
517 UINT32 u32ChannelCount,
518 float *afPeakValues) = 0;
520 virtual HRESULT STDMETHODCALLTYPE QueryHardwareSupport(
532 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
538 ULONG ( STDMETHODCALLTYPE *AddRef )(
541 ULONG ( STDMETHODCALLTYPE *Release )(
544 HRESULT ( STDMETHODCALLTYPE *GetPeakValue )(
548 HRESULT ( STDMETHODCALLTYPE *GetMeteringChannelCount )(
553 HRESULT ( STDMETHODCALLTYPE *GetChannelsPeakValues )(
558 HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )(
576 #define IAudioMeterInformation_QueryInterface(This,riid,ppvObject) \
577 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
579 #define IAudioMeterInformation_AddRef(This) \
580 ( (This)->lpVtbl -> AddRef(This) )
582 #define IAudioMeterInformation_Release(This) \
583 ( (This)->lpVtbl -> Release(This) )
586 #define IAudioMeterInformation_GetPeakValue(This,pfPeak) \
587 ( (This)->lpVtbl -> GetPeakValue(This,pfPeak) )
589 #define IAudioMeterInformation_GetMeteringChannelCount(This,pnChannelCount) \
590 ( (This)->lpVtbl -> GetMeteringChannelCount(This,pnChannelCount) )
592 #define IAudioMeterInformation_GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) \
593 ( (This)->lpVtbl -> GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) )
595 #define IAudioMeterInformation_QueryHardwareSupport(This,pdwHardwareSupportMask) \
596 ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) )