#ifndef __IAudioMeterInformation_FWD_DEFINED__ #define __IAudioMeterInformation_FWD_DEFINED__ typedef interface IAudioMeterInformation IAudioMeterInformation; #endif /* __IAudioMeterInformation_FWD_DEFINED__ */ #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_endpointvolume_0000_0003 */ /* [local] */ #ifndef __IAudioMeterInformation_INTERFACE_DEFINED__ #define __IAudioMeterInformation_INTERFACE_DEFINED__ /* interface IAudioMeterInformation */ /* [unique][helpstring][nonextensible][uuid][local][object] */ DEFINE_GUID(IID_IAudioMeterInformation, 0xc02216f6, 0x8c67, 0x4b5b, 0x9d,0x00, 0xd0,0x08,0xe7,0x3e,0x00,0x64); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c02216f6-8c67-4b5b-9d00-d008e73e0064") IAudioMeterInformation : public IUnknown { public: virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPeakValue( /* [out] */ float *pfPeak) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMeteringChannelCount( /* [annotation][out] */ _Out_ UINT *pnChannelCount) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelsPeakValues( /* [in] */ UINT32 u32ChannelCount, /* [size_is][out] */ float *afPeakValues) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport( /* [annotation][out] */ _Out_ DWORD *pdwHardwareSupportMask) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAudioMeterInformation, 0xc02216f6, 0x8c67, 0x4b5b, 0x9d,0x00, 0xd0,0x08,0xe7,0x3e,0x00,0x64) #endif #else /* C style interface */ typedef struct IAudioMeterInformationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioMeterInformation * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioMeterInformation * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioMeterInformation * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPeakValue )( IAudioMeterInformation * This, /* [out] */ float *pfPeak); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMeteringChannelCount )( IAudioMeterInformation * This, /* [annotation][out] */ _Out_ UINT *pnChannelCount); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelsPeakValues )( IAudioMeterInformation * This, /* [in] */ UINT32 u32ChannelCount, /* [size_is][out] */ float *afPeakValues); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )( IAudioMeterInformation * This, /* [annotation][out] */ _Out_ DWORD *pdwHardwareSupportMask); END_INTERFACE } IAudioMeterInformationVtbl; interface IAudioMeterInformation { CONST_VTBL struct IAudioMeterInformationVtbl *lpVtbl; }; #ifdef COBJMACROS #define IAudioMeterInformation_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IAudioMeterInformation_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IAudioMeterInformation_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IAudioMeterInformation_GetPeakValue(This,pfPeak) \ ( (This)->lpVtbl -> GetPeakValue(This,pfPeak) ) #define IAudioMeterInformation_GetMeteringChannelCount(This,pnChannelCount) \ ( (This)->lpVtbl -> GetMeteringChannelCount(This,pnChannelCount) ) #define IAudioMeterInformation_GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) \ ( (This)->lpVtbl -> GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) ) #define IAudioMeterInformation_QueryHardwareSupport(This,pdwHardwareSupportMask) \ ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioMeterInformation_INTERFACE_DEFINED__ */ #ifdef __cplusplus } #endif