mixer/src/back/reimpl/audiometerinfo.h
2024-05-06 19:32:22 +02:00

130 lines
4.2 KiB
C++

#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