PortAudio 2.0
|
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