PortAudio 2.0
endpointvolume.h
Go to the documentation of this file.
00001 
00002 
00003 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
00004 
00005 
00006  /* File created by MIDL compiler version 7.00.0499 */
00007 /* Compiler settings for endpointvolume.idl:
00008     Oicf, W1, Zp8, env=Win32 (32b run)
00009     protocol : dce , ms_ext, c_ext, robust
00010     error checks: allocation ref bounds_check enum stub_data 
00011     VC __declspec() decoration level: 
00012          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
00013          DECLSPEC_UUID(), MIDL_INTERFACE()
00014 */
00015 //@@MIDL_FILE_HEADING(  )
00016 
00017 #pragma warning( disable: 4049 )  /* more than 64k source lines */
00018 
00019 
00020 /* verify that the <rpcndr.h> version is high enough to compile this file*/
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 500
00023 #endif
00024 
00025 /* verify that the <rpcsal.h> version is high enough to compile this file*/
00026 #ifndef __REQUIRED_RPCSAL_H_VERSION__
00027 #define __REQUIRED_RPCSAL_H_VERSION__ 100
00028 #endif
00029 
00030 #include "rpc.h"
00031 #include "rpcndr.h"
00032 
00033 #ifndef __RPCNDR_H_VERSION__
00034 #error this stub requires an updated version of <rpcndr.h>
00035 #endif // __RPCNDR_H_VERSION__
00036 
00037 #ifndef COM_NO_WINDOWS_H
00038 #include "windows.h"
00039 #include "ole2.h"
00040 #endif /*COM_NO_WINDOWS_H*/
00041 
00042 #ifndef __endpointvolume_h__
00043 #define __endpointvolume_h__
00044 
00045 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00046 #pragma once
00047 #endif
00048 
00049 /* Forward Declarations */ 
00050 
00051 #ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__
00052 #define __IAudioEndpointVolumeCallback_FWD_DEFINED__
00053 typedef interface IAudioEndpointVolumeCallback IAudioEndpointVolumeCallback;
00054 #endif  /* __IAudioEndpointVolumeCallback_FWD_DEFINED__ */
00055 
00056 
00057 #ifndef __IAudioEndpointVolume_FWD_DEFINED__
00058 #define __IAudioEndpointVolume_FWD_DEFINED__
00059 typedef interface IAudioEndpointVolume IAudioEndpointVolume;
00060 #endif  /* __IAudioEndpointVolume_FWD_DEFINED__ */
00061 
00062 
00063 #ifndef __IAudioMeterInformation_FWD_DEFINED__
00064 #define __IAudioMeterInformation_FWD_DEFINED__
00065 typedef interface IAudioMeterInformation IAudioMeterInformation;
00066 #endif  /* __IAudioMeterInformation_FWD_DEFINED__ */
00067 
00068 
00069 /* header files for imported files */
00070 #include "unknwn.h"
00071 #include "devicetopology.h"
00072 
00073 #ifdef __cplusplus
00074 extern "C"{
00075 #endif 
00076 
00077 
00078 /* interface __MIDL_itf_endpointvolume_0000_0000 */
00079 /* [local] */ 
00080 
00081 typedef struct AUDIO_VOLUME_NOTIFICATION_DATA
00082     {
00083     GUID guidEventContext;
00084     BOOL bMuted;
00085     float fMasterVolume;
00086     UINT nChannels;
00087     float afChannelVolumes[ 1 ];
00088     }   AUDIO_VOLUME_NOTIFICATION_DATA;
00089 
00090 typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA;
00091 
00092 #define   ENDPOINT_HARDWARE_SUPPORT_VOLUME    0x00000001
00093 #define   ENDPOINT_HARDWARE_SUPPORT_MUTE      0x00000002
00094 #define   ENDPOINT_HARDWARE_SUPPORT_METER     0x00000004
00095 
00096 
00097 extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_c_ifspec;
00098 extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_s_ifspec;
00099 
00100 #ifndef __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
00101 #define __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
00102 
00103 /* interface IAudioEndpointVolumeCallback */
00104 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
00105 
00106 
00107 EXTERN_C const IID IID_IAudioEndpointVolumeCallback;
00108 
00109 #if defined(__cplusplus) && !defined(CINTERFACE)
00110     
00111     MIDL_INTERFACE("657804FA-D6AD-4496-8A60-352752AF4F89")
00112     IAudioEndpointVolumeCallback : public IUnknown
00113     {
00114     public:
00115         virtual HRESULT STDMETHODCALLTYPE OnNotify( 
00116             PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) = 0;
00117         
00118     };
00119     
00120 #else   /* C style interface */
00121 
00122     typedef struct IAudioEndpointVolumeCallbackVtbl
00123     {
00124         BEGIN_INTERFACE
00125         
00126         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00127             IAudioEndpointVolumeCallback * This,
00128             /* [in] */ REFIID riid,
00129             /* [iid_is][out] */ 
00130             __RPC__deref_out  void **ppvObject);
00131         
00132         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00133             IAudioEndpointVolumeCallback * This);
00134         
00135         ULONG ( STDMETHODCALLTYPE *Release )( 
00136             IAudioEndpointVolumeCallback * This);
00137         
00138         HRESULT ( STDMETHODCALLTYPE *OnNotify )( 
00139             IAudioEndpointVolumeCallback * This,
00140             PAUDIO_VOLUME_NOTIFICATION_DATA pNotify);
00141         
00142         END_INTERFACE
00143     } IAudioEndpointVolumeCallbackVtbl;
00144 
00145     interface IAudioEndpointVolumeCallback
00146     {
00147         CONST_VTBL struct IAudioEndpointVolumeCallbackVtbl *lpVtbl;
00148     };
00149 
00150     
00151 
00152 #ifdef COBJMACROS
00153 
00154 
00155 #define IAudioEndpointVolumeCallback_QueryInterface(This,riid,ppvObject)        \
00156     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00157 
00158 #define IAudioEndpointVolumeCallback_AddRef(This)       \
00159     ( (This)->lpVtbl -> AddRef(This) ) 
00160 
00161 #define IAudioEndpointVolumeCallback_Release(This)      \
00162     ( (This)->lpVtbl -> Release(This) ) 
00163 
00164 
00165 #define IAudioEndpointVolumeCallback_OnNotify(This,pNotify)     \
00166     ( (This)->lpVtbl -> OnNotify(This,pNotify) ) 
00167 
00168 #endif /* COBJMACROS */
00169 
00170 
00171 #endif  /* C style interface */
00172 
00173 
00174 
00175 
00176 #endif  /* __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ */
00177 
00178 
00179 #ifndef __IAudioEndpointVolume_INTERFACE_DEFINED__
00180 #define __IAudioEndpointVolume_INTERFACE_DEFINED__
00181 
00182 /* interface IAudioEndpointVolume */
00183 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
00184 
00185 
00186 EXTERN_C const IID IID_IAudioEndpointVolume;
00187 
00188 #if defined(__cplusplus) && !defined(CINTERFACE)
00189     
00190     MIDL_INTERFACE("5CDF2C82-841E-4546-9722-0CF74078229A")
00191     IAudioEndpointVolume : public IUnknown
00192     {
00193     public:
00194         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify( 
00195             /* [in] */ 
00196             __in  IAudioEndpointVolumeCallback *pNotify) = 0;
00197         
00198         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify( 
00199             /* [in] */ 
00200             __in  IAudioEndpointVolumeCallback *pNotify) = 0;
00201         
00202         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
00203             /* [out] */ 
00204             __out  UINT *pnChannelCount) = 0;
00205         
00206         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel( 
00207             /* [in] */ 
00208             __in  float fLevelDB,
00209             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00210         
00211         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar( 
00212             /* [in] */ 
00213             __in  float fLevel,
00214             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00215         
00216         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel( 
00217             /* [out] */ 
00218             __out  float *pfLevelDB) = 0;
00219         
00220         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar( 
00221             /* [out] */ 
00222             __out  float *pfLevel) = 0;
00223         
00224         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevel( 
00225             /* [in] */ 
00226             __in  UINT nChannel,
00227             float fLevelDB,
00228             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00229         
00230         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevelScalar( 
00231             /* [in] */ 
00232             __in  UINT nChannel,
00233             float fLevel,
00234             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00235         
00236         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevel( 
00237             /* [in] */ 
00238             __in  UINT nChannel,
00239             /* [out] */ 
00240             __out  float *pfLevelDB) = 0;
00241         
00242         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevelScalar( 
00243             /* [in] */ 
00244             __in  UINT nChannel,
00245             /* [out] */ 
00246             __out  float *pfLevel) = 0;
00247         
00248         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMute( 
00249             /* [in] */ 
00250             __in  BOOL bMute,
00251             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00252         
00253         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMute( 
00254             /* [out] */ 
00255             __out  BOOL *pbMute) = 0;
00256         
00257         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeStepInfo( 
00258             /* [out] */ 
00259             __out  UINT *pnStep,
00260             /* [out] */ 
00261             __out  UINT *pnStepCount) = 0;
00262         
00263         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepUp( 
00264             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00265         
00266         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepDown( 
00267             /* [unique][in] */ LPCGUID pguidEventContext) = 0;
00268         
00269         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport( 
00270             /* [out] */ 
00271             __out  DWORD *pdwHardwareSupportMask) = 0;
00272         
00273         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeRange( 
00274             /* [out] */ 
00275             __out  float *pflVolumeMindB,
00276             /* [out] */ 
00277             __out  float *pflVolumeMaxdB,
00278             /* [out] */ 
00279             __out  float *pflVolumeIncrementdB) = 0;
00280         
00281     };
00282     
00283 #else   /* C style interface */
00284 
00285     typedef struct IAudioEndpointVolumeVtbl
00286     {
00287         BEGIN_INTERFACE
00288         
00289         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00290             IAudioEndpointVolume * This,
00291             /* [in] */ REFIID riid,
00292             /* [iid_is][out] */ 
00293             __RPC__deref_out  void **ppvObject);
00294         
00295         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00296             IAudioEndpointVolume * This);
00297         
00298         ULONG ( STDMETHODCALLTYPE *Release )( 
00299             IAudioEndpointVolume * This);
00300         
00301         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeNotify )( 
00302             IAudioEndpointVolume * This,
00303             /* [in] */ 
00304             __in  IAudioEndpointVolumeCallback *pNotify);
00305         
00306         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeNotify )( 
00307             IAudioEndpointVolume * This,
00308             /* [in] */ 
00309             __in  IAudioEndpointVolumeCallback *pNotify);
00310         
00311         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
00312             IAudioEndpointVolume * This,
00313             /* [out] */ 
00314             __out  UINT *pnChannelCount);
00315         
00316         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevel )( 
00317             IAudioEndpointVolume * This,
00318             /* [in] */ 
00319             __in  float fLevelDB,
00320             /* [unique][in] */ LPCGUID pguidEventContext);
00321         
00322         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevelScalar )( 
00323             IAudioEndpointVolume * This,
00324             /* [in] */ 
00325             __in  float fLevel,
00326             /* [unique][in] */ LPCGUID pguidEventContext);
00327         
00328         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevel )( 
00329             IAudioEndpointVolume * This,
00330             /* [out] */ 
00331             __out  float *pfLevelDB);
00332         
00333         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevelScalar )( 
00334             IAudioEndpointVolume * This,
00335             /* [out] */ 
00336             __out  float *pfLevel);
00337         
00338         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevel )( 
00339             IAudioEndpointVolume * This,
00340             /* [in] */ 
00341             __in  UINT nChannel,
00342             float fLevelDB,
00343             /* [unique][in] */ LPCGUID pguidEventContext);
00344         
00345         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevelScalar )( 
00346             IAudioEndpointVolume * This,
00347             /* [in] */ 
00348             __in  UINT nChannel,
00349             float fLevel,
00350             /* [unique][in] */ LPCGUID pguidEventContext);
00351         
00352         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevel )( 
00353             IAudioEndpointVolume * This,
00354             /* [in] */ 
00355             __in  UINT nChannel,
00356             /* [out] */ 
00357             __out  float *pfLevelDB);
00358         
00359         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevelScalar )( 
00360             IAudioEndpointVolume * This,
00361             /* [in] */ 
00362             __in  UINT nChannel,
00363             /* [out] */ 
00364             __out  float *pfLevel);
00365         
00366         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMute )( 
00367             IAudioEndpointVolume * This,
00368             /* [in] */ 
00369             __in  BOOL bMute,
00370             /* [unique][in] */ LPCGUID pguidEventContext);
00371         
00372         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMute )( 
00373             IAudioEndpointVolume * This,
00374             /* [out] */ 
00375             __out  BOOL *pbMute);
00376         
00377         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeStepInfo )( 
00378             IAudioEndpointVolume * This,
00379             /* [out] */ 
00380             __out  UINT *pnStep,
00381             /* [out] */ 
00382             __out  UINT *pnStepCount);
00383         
00384         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepUp )( 
00385             IAudioEndpointVolume * This,
00386             /* [unique][in] */ LPCGUID pguidEventContext);
00387         
00388         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepDown )( 
00389             IAudioEndpointVolume * This,
00390             /* [unique][in] */ LPCGUID pguidEventContext);
00391         
00392         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )( 
00393             IAudioEndpointVolume * This,
00394             /* [out] */ 
00395             __out  DWORD *pdwHardwareSupportMask);
00396         
00397         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeRange )( 
00398             IAudioEndpointVolume * This,
00399             /* [out] */ 
00400             __out  float *pflVolumeMindB,
00401             /* [out] */ 
00402             __out  float *pflVolumeMaxdB,
00403             /* [out] */ 
00404             __out  float *pflVolumeIncrementdB);
00405         
00406         END_INTERFACE
00407     } IAudioEndpointVolumeVtbl;
00408 
00409     interface IAudioEndpointVolume
00410     {
00411         CONST_VTBL struct IAudioEndpointVolumeVtbl *lpVtbl;
00412     };
00413 
00414     
00415 
00416 #ifdef COBJMACROS
00417 
00418 
00419 #define IAudioEndpointVolume_QueryInterface(This,riid,ppvObject)        \
00420     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00421 
00422 #define IAudioEndpointVolume_AddRef(This)       \
00423     ( (This)->lpVtbl -> AddRef(This) ) 
00424 
00425 #define IAudioEndpointVolume_Release(This)      \
00426     ( (This)->lpVtbl -> Release(This) ) 
00427 
00428 
00429 #define IAudioEndpointVolume_RegisterControlChangeNotify(This,pNotify)  \
00430     ( (This)->lpVtbl -> RegisterControlChangeNotify(This,pNotify) ) 
00431 
00432 #define IAudioEndpointVolume_UnregisterControlChangeNotify(This,pNotify)        \
00433     ( (This)->lpVtbl -> UnregisterControlChangeNotify(This,pNotify) ) 
00434 
00435 #define IAudioEndpointVolume_GetChannelCount(This,pnChannelCount)       \
00436     ( (This)->lpVtbl -> GetChannelCount(This,pnChannelCount) ) 
00437 
00438 #define IAudioEndpointVolume_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext)      \
00439     ( (This)->lpVtbl -> SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) ) 
00440 
00441 #define IAudioEndpointVolume_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext)  \
00442     ( (This)->lpVtbl -> SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) ) 
00443 
00444 #define IAudioEndpointVolume_GetMasterVolumeLevel(This,pfLevelDB)       \
00445     ( (This)->lpVtbl -> GetMasterVolumeLevel(This,pfLevelDB) ) 
00446 
00447 #define IAudioEndpointVolume_GetMasterVolumeLevelScalar(This,pfLevel)   \
00448     ( (This)->lpVtbl -> GetMasterVolumeLevelScalar(This,pfLevel) ) 
00449 
00450 #define IAudioEndpointVolume_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext)    \
00451     ( (This)->lpVtbl -> SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
00452 
00453 #define IAudioEndpointVolume_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext)        \
00454     ( (This)->lpVtbl -> SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) ) 
00455 
00456 #define IAudioEndpointVolume_GetChannelVolumeLevel(This,nChannel,pfLevelDB)     \
00457     ( (This)->lpVtbl -> GetChannelVolumeLevel(This,nChannel,pfLevelDB) ) 
00458 
00459 #define IAudioEndpointVolume_GetChannelVolumeLevelScalar(This,nChannel,pfLevel) \
00460     ( (This)->lpVtbl -> GetChannelVolumeLevelScalar(This,nChannel,pfLevel) ) 
00461 
00462 #define IAudioEndpointVolume_SetMute(This,bMute,pguidEventContext)      \
00463     ( (This)->lpVtbl -> SetMute(This,bMute,pguidEventContext) ) 
00464 
00465 #define IAudioEndpointVolume_GetMute(This,pbMute)       \
00466     ( (This)->lpVtbl -> GetMute(This,pbMute) ) 
00467 
00468 #define IAudioEndpointVolume_GetVolumeStepInfo(This,pnStep,pnStepCount) \
00469     ( (This)->lpVtbl -> GetVolumeStepInfo(This,pnStep,pnStepCount) ) 
00470 
00471 #define IAudioEndpointVolume_VolumeStepUp(This,pguidEventContext)       \
00472     ( (This)->lpVtbl -> VolumeStepUp(This,pguidEventContext) ) 
00473 
00474 #define IAudioEndpointVolume_VolumeStepDown(This,pguidEventContext)     \
00475     ( (This)->lpVtbl -> VolumeStepDown(This,pguidEventContext) ) 
00476 
00477 #define IAudioEndpointVolume_QueryHardwareSupport(This,pdwHardwareSupportMask)  \
00478     ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) ) 
00479 
00480 #define IAudioEndpointVolume_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB)    \
00481     ( (This)->lpVtbl -> GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) ) 
00482 
00483 #endif /* COBJMACROS */
00484 
00485 
00486 #endif  /* C style interface */
00487 
00488 
00489 
00490 
00491 #endif  /* __IAudioEndpointVolume_INTERFACE_DEFINED__ */
00492 
00493 
00494 #ifndef __IAudioMeterInformation_INTERFACE_DEFINED__
00495 #define __IAudioMeterInformation_INTERFACE_DEFINED__
00496 
00497 /* interface IAudioMeterInformation */
00498 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
00499 
00500 
00501 EXTERN_C const IID IID_IAudioMeterInformation;
00502 
00503 #if defined(__cplusplus) && !defined(CINTERFACE)
00504     
00505     MIDL_INTERFACE("C02216F6-8C67-4B5B-9D00-D008E73E0064")
00506     IAudioMeterInformation : public IUnknown
00507     {
00508     public:
00509         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPeakValue( 
00510             /* [out] */ float *pfPeak) = 0;
00511         
00512         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMeteringChannelCount( 
00513             /* [out] */ 
00514             __out  UINT *pnChannelCount) = 0;
00515         
00516         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelsPeakValues( 
00517             /* [in] */ UINT32 u32ChannelCount,
00518             /* [size_is][out] */ float *afPeakValues) = 0;
00519         
00520         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport( 
00521             /* [out] */ 
00522             __out  DWORD *pdwHardwareSupportMask) = 0;
00523         
00524     };
00525     
00526 #else   /* C style interface */
00527 
00528     typedef struct IAudioMeterInformationVtbl
00529     {
00530         BEGIN_INTERFACE
00531         
00532         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00533             IAudioMeterInformation * This,
00534             /* [in] */ REFIID riid,
00535             /* [iid_is][out] */ 
00536             __RPC__deref_out  void **ppvObject);
00537         
00538         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00539             IAudioMeterInformation * This);
00540         
00541         ULONG ( STDMETHODCALLTYPE *Release )( 
00542             IAudioMeterInformation * This);
00543         
00544         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPeakValue )( 
00545             IAudioMeterInformation * This,
00546             /* [out] */ float *pfPeak);
00547         
00548         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMeteringChannelCount )( 
00549             IAudioMeterInformation * This,
00550             /* [out] */ 
00551             __out  UINT *pnChannelCount);
00552         
00553         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelsPeakValues )( 
00554             IAudioMeterInformation * This,
00555             /* [in] */ UINT32 u32ChannelCount,
00556             /* [size_is][out] */ float *afPeakValues);
00557         
00558         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )( 
00559             IAudioMeterInformation * This,
00560             /* [out] */ 
00561             __out  DWORD *pdwHardwareSupportMask);
00562         
00563         END_INTERFACE
00564     } IAudioMeterInformationVtbl;
00565 
00566     interface IAudioMeterInformation
00567     {
00568         CONST_VTBL struct IAudioMeterInformationVtbl *lpVtbl;
00569     };
00570 
00571     
00572 
00573 #ifdef COBJMACROS
00574 
00575 
00576 #define IAudioMeterInformation_QueryInterface(This,riid,ppvObject)      \
00577     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00578 
00579 #define IAudioMeterInformation_AddRef(This)     \
00580     ( (This)->lpVtbl -> AddRef(This) ) 
00581 
00582 #define IAudioMeterInformation_Release(This)    \
00583     ( (This)->lpVtbl -> Release(This) ) 
00584 
00585 
00586 #define IAudioMeterInformation_GetPeakValue(This,pfPeak)        \
00587     ( (This)->lpVtbl -> GetPeakValue(This,pfPeak) ) 
00588 
00589 #define IAudioMeterInformation_GetMeteringChannelCount(This,pnChannelCount)     \
00590     ( (This)->lpVtbl -> GetMeteringChannelCount(This,pnChannelCount) ) 
00591 
00592 #define IAudioMeterInformation_GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) \
00593     ( (This)->lpVtbl -> GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) ) 
00594 
00595 #define IAudioMeterInformation_QueryHardwareSupport(This,pdwHardwareSupportMask)        \
00596     ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) ) 
00597 
00598 #endif /* COBJMACROS */
00599 
00600 
00601 #endif  /* C style interface */
00602 
00603 
00604 
00605 
00606 #endif  /* __IAudioMeterInformation_INTERFACE_DEFINED__ */
00607 
00608 
00609 /* Additional Prototypes for ALL interfaces */
00610 
00611 /* end of Additional Prototypes */
00612 
00613 #ifdef __cplusplus
00614 }
00615 #endif
00616 
00617 #endif
00618 
00619 
00620 

Generated for PortAudio by  doxygen1.7.4