1 /*** Autogenerated by WIDL 3.19 from include/endpointvolume.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __endpointvolume_h__ 16 #define __endpointvolume_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__ 21 #define __IAudioEndpointVolumeCallback_FWD_DEFINED__ 22 typedef interface IAudioEndpointVolumeCallback IAudioEndpointVolumeCallback; 23 #ifdef __cplusplus 24 interface IAudioEndpointVolumeCallback; 25 #endif /* __cplusplus */ 26 #endif 27 28 #ifndef __IAudioEndpointVolume_FWD_DEFINED__ 29 #define __IAudioEndpointVolume_FWD_DEFINED__ 30 typedef interface IAudioEndpointVolume IAudioEndpointVolume; 31 #ifdef __cplusplus 32 interface IAudioEndpointVolume; 33 #endif /* __cplusplus */ 34 #endif 35 36 #ifndef __IAudioEndpointVolumeEx_FWD_DEFINED__ 37 #define __IAudioEndpointVolumeEx_FWD_DEFINED__ 38 typedef interface IAudioEndpointVolumeEx IAudioEndpointVolumeEx; 39 #ifdef __cplusplus 40 interface IAudioEndpointVolumeEx; 41 #endif /* __cplusplus */ 42 #endif 43 44 /* Headers for imported files */ 45 46 #include <unknwn.h> 47 #include <devicetopology.h> 48 49 #ifdef __cplusplus 50 extern "C" { 51 #endif 52 53 typedef struct AUDIO_VOLUME_NOTIFICATION_DATA { 54 GUID guidEventContext; 55 WINBOOL bMuted; 56 FLOAT fMasterVolume; 57 UINT nChannels; 58 FLOAT afChannelVolumes[1]; 59 } AUDIO_VOLUME_NOTIFICATION_DATA; 60 typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA; 61 #define ENDPOINT_HARDWARE_SUPPORT_VOLUME 0x1 62 #define ENDPOINT_HARDWARE_SUPPORT_MUTE 0x2 63 #define ENDPOINT_HARDWARE_SUPPORT_METER 0x4 64 #ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__ 65 #define __IAudioEndpointVolumeCallback_FWD_DEFINED__ 66 typedef interface IAudioEndpointVolumeCallback IAudioEndpointVolumeCallback; 67 #ifdef __cplusplus 68 interface IAudioEndpointVolumeCallback; 69 #endif /* __cplusplus */ 70 #endif 71 72 #ifndef __IAudioEndpointVolume_FWD_DEFINED__ 73 #define __IAudioEndpointVolume_FWD_DEFINED__ 74 typedef interface IAudioEndpointVolume IAudioEndpointVolume; 75 #ifdef __cplusplus 76 interface IAudioEndpointVolume; 77 #endif /* __cplusplus */ 78 #endif 79 80 #ifndef __IAudioEndpointVolumeEx_FWD_DEFINED__ 81 #define __IAudioEndpointVolumeEx_FWD_DEFINED__ 82 typedef interface IAudioEndpointVolumeEx IAudioEndpointVolumeEx; 83 #ifdef __cplusplus 84 interface IAudioEndpointVolumeEx; 85 #endif /* __cplusplus */ 86 #endif 87 88 #ifndef __IAudioMeterInformation_FWD_DEFINED__ 89 #define __IAudioMeterInformation_FWD_DEFINED__ 90 typedef interface IAudioMeterInformation IAudioMeterInformation; 91 #ifdef __cplusplus 92 interface IAudioMeterInformation; 93 #endif /* __cplusplus */ 94 #endif 95 96 /***************************************************************************** 97 * IAudioEndpointVolumeCallback interface 98 */ 99 #ifndef __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ 100 #define __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ 101 102 DEFINE_GUID(IID_IAudioEndpointVolumeCallback, 0x657804fa, 0xd6ad, 0x4496, 0x8a,0x60, 0x35,0x27,0x52,0xaf,0x4f,0x89); 103 #if defined(__cplusplus) && !defined(CINTERFACE) 104 MIDL_INTERFACE("657804fa-d6ad-4496-8a60-352752af4f89") 105 IAudioEndpointVolumeCallback : public IUnknown 106 { 107 virtual HRESULT STDMETHODCALLTYPE OnNotify( 108 AUDIO_VOLUME_NOTIFICATION_DATA *pNotify) = 0; 109 110 }; 111 #ifdef __CRT_UUID_DECL 112 __CRT_UUID_DECL(IAudioEndpointVolumeCallback, 0x657804fa, 0xd6ad, 0x4496, 0x8a,0x60, 0x35,0x27,0x52,0xaf,0x4f,0x89) 113 #endif 114 #else 115 typedef struct IAudioEndpointVolumeCallbackVtbl { 116 BEGIN_INTERFACE 117 118 /*** IUnknown methods ***/ 119 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 120 IAudioEndpointVolumeCallback *This, 121 REFIID riid, 122 void **ppvObject); 123 124 ULONG (STDMETHODCALLTYPE *AddRef)( 125 IAudioEndpointVolumeCallback *This); 126 127 ULONG (STDMETHODCALLTYPE *Release)( 128 IAudioEndpointVolumeCallback *This); 129 130 /*** IAudioEndpointVolumeCallback methods ***/ 131 HRESULT (STDMETHODCALLTYPE *OnNotify)( 132 IAudioEndpointVolumeCallback *This, 133 AUDIO_VOLUME_NOTIFICATION_DATA *pNotify); 134 135 END_INTERFACE 136 } IAudioEndpointVolumeCallbackVtbl; 137 138 interface IAudioEndpointVolumeCallback { 139 CONST_VTBL IAudioEndpointVolumeCallbackVtbl* lpVtbl; 140 }; 141 142 #ifdef COBJMACROS 143 #ifndef WIDL_C_INLINE_WRAPPERS 144 /*** IUnknown methods ***/ 145 #define IAudioEndpointVolumeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 146 #define IAudioEndpointVolumeCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 147 #define IAudioEndpointVolumeCallback_Release(This) (This)->lpVtbl->Release(This) 148 /*** IAudioEndpointVolumeCallback methods ***/ 149 #define IAudioEndpointVolumeCallback_OnNotify(This,pNotify) (This)->lpVtbl->OnNotify(This,pNotify) 150 #else 151 /*** IUnknown methods ***/ 152 static FORCEINLINE HRESULT IAudioEndpointVolumeCallback_QueryInterface(IAudioEndpointVolumeCallback* This,REFIID riid,void **ppvObject) { 153 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 154 } 155 static FORCEINLINE ULONG IAudioEndpointVolumeCallback_AddRef(IAudioEndpointVolumeCallback* This) { 156 return This->lpVtbl->AddRef(This); 157 } 158 static FORCEINLINE ULONG IAudioEndpointVolumeCallback_Release(IAudioEndpointVolumeCallback* This) { 159 return This->lpVtbl->Release(This); 160 } 161 /*** IAudioEndpointVolumeCallback methods ***/ 162 static FORCEINLINE HRESULT IAudioEndpointVolumeCallback_OnNotify(IAudioEndpointVolumeCallback* This,AUDIO_VOLUME_NOTIFICATION_DATA *pNotify) { 163 return This->lpVtbl->OnNotify(This,pNotify); 164 } 165 #endif 166 #endif 167 168 #endif 169 170 171 #endif /* __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ */ 172 173 /***************************************************************************** 174 * IAudioEndpointVolume interface 175 */ 176 #ifndef __IAudioEndpointVolume_INTERFACE_DEFINED__ 177 #define __IAudioEndpointVolume_INTERFACE_DEFINED__ 178 179 DEFINE_GUID(IID_IAudioEndpointVolume, 0x5cdf2c82, 0x841e, 0x4546, 0x97,0x22, 0x0c,0xf7,0x40,0x78,0x22,0x9a); 180 #if defined(__cplusplus) && !defined(CINTERFACE) 181 MIDL_INTERFACE("5cdf2c82-841e-4546-9722-0cf74078229a") 182 IAudioEndpointVolume : public IUnknown 183 { 184 virtual HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify( 185 IAudioEndpointVolumeCallback *pNotify) = 0; 186 187 virtual HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify( 188 IAudioEndpointVolumeCallback *pNotify) = 0; 189 190 virtual HRESULT STDMETHODCALLTYPE GetChannelCount( 191 UINT *pnChannelCount) = 0; 192 193 virtual HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel( 194 FLOAT fLevelDB, 195 LPCGUID pguidEventContext) = 0; 196 197 virtual HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar( 198 FLOAT fLevel, 199 LPCGUID pguidEventContext) = 0; 200 201 virtual HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel( 202 FLOAT *fLevelDB) = 0; 203 204 virtual HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar( 205 FLOAT *fLevel) = 0; 206 207 virtual HRESULT STDMETHODCALLTYPE SetChannelVolumeLevel( 208 UINT nChannel, 209 FLOAT fLevelDB, 210 LPCGUID pguidEventContext) = 0; 211 212 virtual HRESULT STDMETHODCALLTYPE SetChannelVolumeLevelScalar( 213 UINT nChannel, 214 FLOAT fLevel, 215 LPCGUID pguidEventContext) = 0; 216 217 virtual HRESULT STDMETHODCALLTYPE GetChannelVolumeLevel( 218 UINT nChannel, 219 FLOAT *fLevelDB) = 0; 220 221 virtual HRESULT STDMETHODCALLTYPE GetChannelVolumeLevelScalar( 222 UINT nChannel, 223 FLOAT *fLevel) = 0; 224 225 virtual HRESULT STDMETHODCALLTYPE SetMute( 226 WINBOOL bMute, 227 LPCGUID pguidEventContext) = 0; 228 229 virtual HRESULT STDMETHODCALLTYPE GetMute( 230 WINBOOL *bMute) = 0; 231 232 virtual HRESULT STDMETHODCALLTYPE GetVolumeStepInfo( 233 UINT *pnStep, 234 UINT *pnStepCount) = 0; 235 236 virtual HRESULT STDMETHODCALLTYPE VolumeStepUp( 237 LPCGUID pguidEventContext) = 0; 238 239 virtual HRESULT STDMETHODCALLTYPE VolumeStepDown( 240 LPCGUID pguidEventContext) = 0; 241 242 virtual HRESULT STDMETHODCALLTYPE QueryHardwareSupport( 243 DWORD *pdwHardwareSupportMask) = 0; 244 245 virtual HRESULT STDMETHODCALLTYPE GetVolumeRange( 246 FLOAT *pflVolumeMindB, 247 FLOAT *pflVolumeMaxdB, 248 FLOAT *pflVolumeIncrementdB) = 0; 249 250 }; 251 #ifdef __CRT_UUID_DECL 252 __CRT_UUID_DECL(IAudioEndpointVolume, 0x5cdf2c82, 0x841e, 0x4546, 0x97,0x22, 0x0c,0xf7,0x40,0x78,0x22,0x9a) 253 #endif 254 #else 255 typedef struct IAudioEndpointVolumeVtbl { 256 BEGIN_INTERFACE 257 258 /*** IUnknown methods ***/ 259 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 260 IAudioEndpointVolume *This, 261 REFIID riid, 262 void **ppvObject); 263 264 ULONG (STDMETHODCALLTYPE *AddRef)( 265 IAudioEndpointVolume *This); 266 267 ULONG (STDMETHODCALLTYPE *Release)( 268 IAudioEndpointVolume *This); 269 270 /*** IAudioEndpointVolume methods ***/ 271 HRESULT (STDMETHODCALLTYPE *RegisterControlChangeNotify)( 272 IAudioEndpointVolume *This, 273 IAudioEndpointVolumeCallback *pNotify); 274 275 HRESULT (STDMETHODCALLTYPE *UnregisterControlChangeNotify)( 276 IAudioEndpointVolume *This, 277 IAudioEndpointVolumeCallback *pNotify); 278 279 HRESULT (STDMETHODCALLTYPE *GetChannelCount)( 280 IAudioEndpointVolume *This, 281 UINT *pnChannelCount); 282 283 HRESULT (STDMETHODCALLTYPE *SetMasterVolumeLevel)( 284 IAudioEndpointVolume *This, 285 FLOAT fLevelDB, 286 LPCGUID pguidEventContext); 287 288 HRESULT (STDMETHODCALLTYPE *SetMasterVolumeLevelScalar)( 289 IAudioEndpointVolume *This, 290 FLOAT fLevel, 291 LPCGUID pguidEventContext); 292 293 HRESULT (STDMETHODCALLTYPE *GetMasterVolumeLevel)( 294 IAudioEndpointVolume *This, 295 FLOAT *fLevelDB); 296 297 HRESULT (STDMETHODCALLTYPE *GetMasterVolumeLevelScalar)( 298 IAudioEndpointVolume *This, 299 FLOAT *fLevel); 300 301 HRESULT (STDMETHODCALLTYPE *SetChannelVolumeLevel)( 302 IAudioEndpointVolume *This, 303 UINT nChannel, 304 FLOAT fLevelDB, 305 LPCGUID pguidEventContext); 306 307 HRESULT (STDMETHODCALLTYPE *SetChannelVolumeLevelScalar)( 308 IAudioEndpointVolume *This, 309 UINT nChannel, 310 FLOAT fLevel, 311 LPCGUID pguidEventContext); 312 313 HRESULT (STDMETHODCALLTYPE *GetChannelVolumeLevel)( 314 IAudioEndpointVolume *This, 315 UINT nChannel, 316 FLOAT *fLevelDB); 317 318 HRESULT (STDMETHODCALLTYPE *GetChannelVolumeLevelScalar)( 319 IAudioEndpointVolume *This, 320 UINT nChannel, 321 FLOAT *fLevel); 322 323 HRESULT (STDMETHODCALLTYPE *SetMute)( 324 IAudioEndpointVolume *This, 325 WINBOOL bMute, 326 LPCGUID pguidEventContext); 327 328 HRESULT (STDMETHODCALLTYPE *GetMute)( 329 IAudioEndpointVolume *This, 330 WINBOOL *bMute); 331 332 HRESULT (STDMETHODCALLTYPE *GetVolumeStepInfo)( 333 IAudioEndpointVolume *This, 334 UINT *pnStep, 335 UINT *pnStepCount); 336 337 HRESULT (STDMETHODCALLTYPE *VolumeStepUp)( 338 IAudioEndpointVolume *This, 339 LPCGUID pguidEventContext); 340 341 HRESULT (STDMETHODCALLTYPE *VolumeStepDown)( 342 IAudioEndpointVolume *This, 343 LPCGUID pguidEventContext); 344 345 HRESULT (STDMETHODCALLTYPE *QueryHardwareSupport)( 346 IAudioEndpointVolume *This, 347 DWORD *pdwHardwareSupportMask); 348 349 HRESULT (STDMETHODCALLTYPE *GetVolumeRange)( 350 IAudioEndpointVolume *This, 351 FLOAT *pflVolumeMindB, 352 FLOAT *pflVolumeMaxdB, 353 FLOAT *pflVolumeIncrementdB); 354 355 END_INTERFACE 356 } IAudioEndpointVolumeVtbl; 357 358 interface IAudioEndpointVolume { 359 CONST_VTBL IAudioEndpointVolumeVtbl* lpVtbl; 360 }; 361 362 #ifdef COBJMACROS 363 #ifndef WIDL_C_INLINE_WRAPPERS 364 /*** IUnknown methods ***/ 365 #define IAudioEndpointVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 366 #define IAudioEndpointVolume_AddRef(This) (This)->lpVtbl->AddRef(This) 367 #define IAudioEndpointVolume_Release(This) (This)->lpVtbl->Release(This) 368 /*** IAudioEndpointVolume methods ***/ 369 #define IAudioEndpointVolume_RegisterControlChangeNotify(This,pNotify) (This)->lpVtbl->RegisterControlChangeNotify(This,pNotify) 370 #define IAudioEndpointVolume_UnregisterControlChangeNotify(This,pNotify) (This)->lpVtbl->UnregisterControlChangeNotify(This,pNotify) 371 #define IAudioEndpointVolume_GetChannelCount(This,pnChannelCount) (This)->lpVtbl->GetChannelCount(This,pnChannelCount) 372 #define IAudioEndpointVolume_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) 373 #define IAudioEndpointVolume_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) (This)->lpVtbl->SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) 374 #define IAudioEndpointVolume_GetMasterVolumeLevel(This,fLevelDB) (This)->lpVtbl->GetMasterVolumeLevel(This,fLevelDB) 375 #define IAudioEndpointVolume_GetMasterVolumeLevelScalar(This,fLevel) (This)->lpVtbl->GetMasterVolumeLevelScalar(This,fLevel) 376 #define IAudioEndpointVolume_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) 377 #define IAudioEndpointVolume_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) (This)->lpVtbl->SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) 378 #define IAudioEndpointVolume_GetChannelVolumeLevel(This,nChannel,fLevelDB) (This)->lpVtbl->GetChannelVolumeLevel(This,nChannel,fLevelDB) 379 #define IAudioEndpointVolume_GetChannelVolumeLevelScalar(This,nChannel,fLevel) (This)->lpVtbl->GetChannelVolumeLevelScalar(This,nChannel,fLevel) 380 #define IAudioEndpointVolume_SetMute(This,bMute,pguidEventContext) (This)->lpVtbl->SetMute(This,bMute,pguidEventContext) 381 #define IAudioEndpointVolume_GetMute(This,bMute) (This)->lpVtbl->GetMute(This,bMute) 382 #define IAudioEndpointVolume_GetVolumeStepInfo(This,pnStep,pnStepCount) (This)->lpVtbl->GetVolumeStepInfo(This,pnStep,pnStepCount) 383 #define IAudioEndpointVolume_VolumeStepUp(This,pguidEventContext) (This)->lpVtbl->VolumeStepUp(This,pguidEventContext) 384 #define IAudioEndpointVolume_VolumeStepDown(This,pguidEventContext) (This)->lpVtbl->VolumeStepDown(This,pguidEventContext) 385 #define IAudioEndpointVolume_QueryHardwareSupport(This,pdwHardwareSupportMask) (This)->lpVtbl->QueryHardwareSupport(This,pdwHardwareSupportMask) 386 #define IAudioEndpointVolume_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) (This)->lpVtbl->GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) 387 #else 388 /*** IUnknown methods ***/ 389 static FORCEINLINE HRESULT IAudioEndpointVolume_QueryInterface(IAudioEndpointVolume* This,REFIID riid,void **ppvObject) { 390 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 391 } 392 static FORCEINLINE ULONG IAudioEndpointVolume_AddRef(IAudioEndpointVolume* This) { 393 return This->lpVtbl->AddRef(This); 394 } 395 static FORCEINLINE ULONG IAudioEndpointVolume_Release(IAudioEndpointVolume* This) { 396 return This->lpVtbl->Release(This); 397 } 398 /*** IAudioEndpointVolume methods ***/ 399 static FORCEINLINE HRESULT IAudioEndpointVolume_RegisterControlChangeNotify(IAudioEndpointVolume* This,IAudioEndpointVolumeCallback *pNotify) { 400 return This->lpVtbl->RegisterControlChangeNotify(This,pNotify); 401 } 402 static FORCEINLINE HRESULT IAudioEndpointVolume_UnregisterControlChangeNotify(IAudioEndpointVolume* This,IAudioEndpointVolumeCallback *pNotify) { 403 return This->lpVtbl->UnregisterControlChangeNotify(This,pNotify); 404 } 405 static FORCEINLINE HRESULT IAudioEndpointVolume_GetChannelCount(IAudioEndpointVolume* This,UINT *pnChannelCount) { 406 return This->lpVtbl->GetChannelCount(This,pnChannelCount); 407 } 408 static FORCEINLINE HRESULT IAudioEndpointVolume_SetMasterVolumeLevel(IAudioEndpointVolume* This,FLOAT fLevelDB,LPCGUID pguidEventContext) { 409 return This->lpVtbl->SetMasterVolumeLevel(This,fLevelDB,pguidEventContext); 410 } 411 static FORCEINLINE HRESULT IAudioEndpointVolume_SetMasterVolumeLevelScalar(IAudioEndpointVolume* This,FLOAT fLevel,LPCGUID pguidEventContext) { 412 return This->lpVtbl->SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext); 413 } 414 static FORCEINLINE HRESULT IAudioEndpointVolume_GetMasterVolumeLevel(IAudioEndpointVolume* This,FLOAT *fLevelDB) { 415 return This->lpVtbl->GetMasterVolumeLevel(This,fLevelDB); 416 } 417 static FORCEINLINE HRESULT IAudioEndpointVolume_GetMasterVolumeLevelScalar(IAudioEndpointVolume* This,FLOAT *fLevel) { 418 return This->lpVtbl->GetMasterVolumeLevelScalar(This,fLevel); 419 } 420 static FORCEINLINE HRESULT IAudioEndpointVolume_SetChannelVolumeLevel(IAudioEndpointVolume* This,UINT nChannel,FLOAT fLevelDB,LPCGUID pguidEventContext) { 421 return This->lpVtbl->SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext); 422 } 423 static FORCEINLINE HRESULT IAudioEndpointVolume_SetChannelVolumeLevelScalar(IAudioEndpointVolume* This,UINT nChannel,FLOAT fLevel,LPCGUID pguidEventContext) { 424 return This->lpVtbl->SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext); 425 } 426 static FORCEINLINE HRESULT IAudioEndpointVolume_GetChannelVolumeLevel(IAudioEndpointVolume* This,UINT nChannel,FLOAT *fLevelDB) { 427 return This->lpVtbl->GetChannelVolumeLevel(This,nChannel,fLevelDB); 428 } 429 static FORCEINLINE HRESULT IAudioEndpointVolume_GetChannelVolumeLevelScalar(IAudioEndpointVolume* This,UINT nChannel,FLOAT *fLevel) { 430 return This->lpVtbl->GetChannelVolumeLevelScalar(This,nChannel,fLevel); 431 } 432 static FORCEINLINE HRESULT IAudioEndpointVolume_SetMute(IAudioEndpointVolume* This,WINBOOL bMute,LPCGUID pguidEventContext) { 433 return This->lpVtbl->SetMute(This,bMute,pguidEventContext); 434 } 435 static FORCEINLINE HRESULT IAudioEndpointVolume_GetMute(IAudioEndpointVolume* This,WINBOOL *bMute) { 436 return This->lpVtbl->GetMute(This,bMute); 437 } 438 static FORCEINLINE HRESULT IAudioEndpointVolume_GetVolumeStepInfo(IAudioEndpointVolume* This,UINT *pnStep,UINT *pnStepCount) { 439 return This->lpVtbl->GetVolumeStepInfo(This,pnStep,pnStepCount); 440 } 441 static FORCEINLINE HRESULT IAudioEndpointVolume_VolumeStepUp(IAudioEndpointVolume* This,LPCGUID pguidEventContext) { 442 return This->lpVtbl->VolumeStepUp(This,pguidEventContext); 443 } 444 static FORCEINLINE HRESULT IAudioEndpointVolume_VolumeStepDown(IAudioEndpointVolume* This,LPCGUID pguidEventContext) { 445 return This->lpVtbl->VolumeStepDown(This,pguidEventContext); 446 } 447 static FORCEINLINE HRESULT IAudioEndpointVolume_QueryHardwareSupport(IAudioEndpointVolume* This,DWORD *pdwHardwareSupportMask) { 448 return This->lpVtbl->QueryHardwareSupport(This,pdwHardwareSupportMask); 449 } 450 static FORCEINLINE HRESULT IAudioEndpointVolume_GetVolumeRange(IAudioEndpointVolume* This,FLOAT *pflVolumeMindB,FLOAT *pflVolumeMaxdB,FLOAT *pflVolumeIncrementdB) { 451 return This->lpVtbl->GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB); 452 } 453 #endif 454 #endif 455 456 #endif 457 458 459 #endif /* __IAudioEndpointVolume_INTERFACE_DEFINED__ */ 460 461 /***************************************************************************** 462 * IAudioEndpointVolumeEx interface 463 */ 464 #ifndef __IAudioEndpointVolumeEx_INTERFACE_DEFINED__ 465 #define __IAudioEndpointVolumeEx_INTERFACE_DEFINED__ 466 467 DEFINE_GUID(IID_IAudioEndpointVolumeEx, 0x66e11784, 0xf695, 0x4f28, 0xa5,0x05, 0xa7,0x08,0x00,0x81,0xa7,0x8f); 468 #if defined(__cplusplus) && !defined(CINTERFACE) 469 MIDL_INTERFACE("66e11784-f695-4f28-a505-a7080081a78f") 470 IAudioEndpointVolumeEx : public IAudioEndpointVolume 471 { 472 virtual HRESULT STDMETHODCALLTYPE GetVolumeRangeChannel( 473 UINT iChannel, 474 FLOAT *pflVolumeMindB, 475 FLOAT *pflVolumeMaxdB, 476 FLOAT *pflVolumeIncrementdB) = 0; 477 478 }; 479 #ifdef __CRT_UUID_DECL 480 __CRT_UUID_DECL(IAudioEndpointVolumeEx, 0x66e11784, 0xf695, 0x4f28, 0xa5,0x05, 0xa7,0x08,0x00,0x81,0xa7,0x8f) 481 #endif 482 #else 483 typedef struct IAudioEndpointVolumeExVtbl { 484 BEGIN_INTERFACE 485 486 /*** IUnknown methods ***/ 487 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 488 IAudioEndpointVolumeEx *This, 489 REFIID riid, 490 void **ppvObject); 491 492 ULONG (STDMETHODCALLTYPE *AddRef)( 493 IAudioEndpointVolumeEx *This); 494 495 ULONG (STDMETHODCALLTYPE *Release)( 496 IAudioEndpointVolumeEx *This); 497 498 /*** IAudioEndpointVolume methods ***/ 499 HRESULT (STDMETHODCALLTYPE *RegisterControlChangeNotify)( 500 IAudioEndpointVolumeEx *This, 501 IAudioEndpointVolumeCallback *pNotify); 502 503 HRESULT (STDMETHODCALLTYPE *UnregisterControlChangeNotify)( 504 IAudioEndpointVolumeEx *This, 505 IAudioEndpointVolumeCallback *pNotify); 506 507 HRESULT (STDMETHODCALLTYPE *GetChannelCount)( 508 IAudioEndpointVolumeEx *This, 509 UINT *pnChannelCount); 510 511 HRESULT (STDMETHODCALLTYPE *SetMasterVolumeLevel)( 512 IAudioEndpointVolumeEx *This, 513 FLOAT fLevelDB, 514 LPCGUID pguidEventContext); 515 516 HRESULT (STDMETHODCALLTYPE *SetMasterVolumeLevelScalar)( 517 IAudioEndpointVolumeEx *This, 518 FLOAT fLevel, 519 LPCGUID pguidEventContext); 520 521 HRESULT (STDMETHODCALLTYPE *GetMasterVolumeLevel)( 522 IAudioEndpointVolumeEx *This, 523 FLOAT *fLevelDB); 524 525 HRESULT (STDMETHODCALLTYPE *GetMasterVolumeLevelScalar)( 526 IAudioEndpointVolumeEx *This, 527 FLOAT *fLevel); 528 529 HRESULT (STDMETHODCALLTYPE *SetChannelVolumeLevel)( 530 IAudioEndpointVolumeEx *This, 531 UINT nChannel, 532 FLOAT fLevelDB, 533 LPCGUID pguidEventContext); 534 535 HRESULT (STDMETHODCALLTYPE *SetChannelVolumeLevelScalar)( 536 IAudioEndpointVolumeEx *This, 537 UINT nChannel, 538 FLOAT fLevel, 539 LPCGUID pguidEventContext); 540 541 HRESULT (STDMETHODCALLTYPE *GetChannelVolumeLevel)( 542 IAudioEndpointVolumeEx *This, 543 UINT nChannel, 544 FLOAT *fLevelDB); 545 546 HRESULT (STDMETHODCALLTYPE *GetChannelVolumeLevelScalar)( 547 IAudioEndpointVolumeEx *This, 548 UINT nChannel, 549 FLOAT *fLevel); 550 551 HRESULT (STDMETHODCALLTYPE *SetMute)( 552 IAudioEndpointVolumeEx *This, 553 WINBOOL bMute, 554 LPCGUID pguidEventContext); 555 556 HRESULT (STDMETHODCALLTYPE *GetMute)( 557 IAudioEndpointVolumeEx *This, 558 WINBOOL *bMute); 559 560 HRESULT (STDMETHODCALLTYPE *GetVolumeStepInfo)( 561 IAudioEndpointVolumeEx *This, 562 UINT *pnStep, 563 UINT *pnStepCount); 564 565 HRESULT (STDMETHODCALLTYPE *VolumeStepUp)( 566 IAudioEndpointVolumeEx *This, 567 LPCGUID pguidEventContext); 568 569 HRESULT (STDMETHODCALLTYPE *VolumeStepDown)( 570 IAudioEndpointVolumeEx *This, 571 LPCGUID pguidEventContext); 572 573 HRESULT (STDMETHODCALLTYPE *QueryHardwareSupport)( 574 IAudioEndpointVolumeEx *This, 575 DWORD *pdwHardwareSupportMask); 576 577 HRESULT (STDMETHODCALLTYPE *GetVolumeRange)( 578 IAudioEndpointVolumeEx *This, 579 FLOAT *pflVolumeMindB, 580 FLOAT *pflVolumeMaxdB, 581 FLOAT *pflVolumeIncrementdB); 582 583 /*** IAudioEndpointVolumeEx methods ***/ 584 HRESULT (STDMETHODCALLTYPE *GetVolumeRangeChannel)( 585 IAudioEndpointVolumeEx *This, 586 UINT iChannel, 587 FLOAT *pflVolumeMindB, 588 FLOAT *pflVolumeMaxdB, 589 FLOAT *pflVolumeIncrementdB); 590 591 END_INTERFACE 592 } IAudioEndpointVolumeExVtbl; 593 594 interface IAudioEndpointVolumeEx { 595 CONST_VTBL IAudioEndpointVolumeExVtbl* lpVtbl; 596 }; 597 598 #ifdef COBJMACROS 599 #ifndef WIDL_C_INLINE_WRAPPERS 600 /*** IUnknown methods ***/ 601 #define IAudioEndpointVolumeEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 602 #define IAudioEndpointVolumeEx_AddRef(This) (This)->lpVtbl->AddRef(This) 603 #define IAudioEndpointVolumeEx_Release(This) (This)->lpVtbl->Release(This) 604 /*** IAudioEndpointVolume methods ***/ 605 #define IAudioEndpointVolumeEx_RegisterControlChangeNotify(This,pNotify) (This)->lpVtbl->RegisterControlChangeNotify(This,pNotify) 606 #define IAudioEndpointVolumeEx_UnregisterControlChangeNotify(This,pNotify) (This)->lpVtbl->UnregisterControlChangeNotify(This,pNotify) 607 #define IAudioEndpointVolumeEx_GetChannelCount(This,pnChannelCount) (This)->lpVtbl->GetChannelCount(This,pnChannelCount) 608 #define IAudioEndpointVolumeEx_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) 609 #define IAudioEndpointVolumeEx_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) (This)->lpVtbl->SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) 610 #define IAudioEndpointVolumeEx_GetMasterVolumeLevel(This,fLevelDB) (This)->lpVtbl->GetMasterVolumeLevel(This,fLevelDB) 611 #define IAudioEndpointVolumeEx_GetMasterVolumeLevelScalar(This,fLevel) (This)->lpVtbl->GetMasterVolumeLevelScalar(This,fLevel) 612 #define IAudioEndpointVolumeEx_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) 613 #define IAudioEndpointVolumeEx_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) (This)->lpVtbl->SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) 614 #define IAudioEndpointVolumeEx_GetChannelVolumeLevel(This,nChannel,fLevelDB) (This)->lpVtbl->GetChannelVolumeLevel(This,nChannel,fLevelDB) 615 #define IAudioEndpointVolumeEx_GetChannelVolumeLevelScalar(This,nChannel,fLevel) (This)->lpVtbl->GetChannelVolumeLevelScalar(This,nChannel,fLevel) 616 #define IAudioEndpointVolumeEx_SetMute(This,bMute,pguidEventContext) (This)->lpVtbl->SetMute(This,bMute,pguidEventContext) 617 #define IAudioEndpointVolumeEx_GetMute(This,bMute) (This)->lpVtbl->GetMute(This,bMute) 618 #define IAudioEndpointVolumeEx_GetVolumeStepInfo(This,pnStep,pnStepCount) (This)->lpVtbl->GetVolumeStepInfo(This,pnStep,pnStepCount) 619 #define IAudioEndpointVolumeEx_VolumeStepUp(This,pguidEventContext) (This)->lpVtbl->VolumeStepUp(This,pguidEventContext) 620 #define IAudioEndpointVolumeEx_VolumeStepDown(This,pguidEventContext) (This)->lpVtbl->VolumeStepDown(This,pguidEventContext) 621 #define IAudioEndpointVolumeEx_QueryHardwareSupport(This,pdwHardwareSupportMask) (This)->lpVtbl->QueryHardwareSupport(This,pdwHardwareSupportMask) 622 #define IAudioEndpointVolumeEx_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) (This)->lpVtbl->GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) 623 /*** IAudioEndpointVolumeEx methods ***/ 624 #define IAudioEndpointVolumeEx_GetVolumeRangeChannel(This,iChannel,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) (This)->lpVtbl->GetVolumeRangeChannel(This,iChannel,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) 625 #else 626 /*** IUnknown methods ***/ 627 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_QueryInterface(IAudioEndpointVolumeEx* This,REFIID riid,void **ppvObject) { 628 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 629 } 630 static FORCEINLINE ULONG IAudioEndpointVolumeEx_AddRef(IAudioEndpointVolumeEx* This) { 631 return This->lpVtbl->AddRef(This); 632 } 633 static FORCEINLINE ULONG IAudioEndpointVolumeEx_Release(IAudioEndpointVolumeEx* This) { 634 return This->lpVtbl->Release(This); 635 } 636 /*** IAudioEndpointVolume methods ***/ 637 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_RegisterControlChangeNotify(IAudioEndpointVolumeEx* This,IAudioEndpointVolumeCallback *pNotify) { 638 return This->lpVtbl->RegisterControlChangeNotify(This,pNotify); 639 } 640 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_UnregisterControlChangeNotify(IAudioEndpointVolumeEx* This,IAudioEndpointVolumeCallback *pNotify) { 641 return This->lpVtbl->UnregisterControlChangeNotify(This,pNotify); 642 } 643 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetChannelCount(IAudioEndpointVolumeEx* This,UINT *pnChannelCount) { 644 return This->lpVtbl->GetChannelCount(This,pnChannelCount); 645 } 646 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_SetMasterVolumeLevel(IAudioEndpointVolumeEx* This,FLOAT fLevelDB,LPCGUID pguidEventContext) { 647 return This->lpVtbl->SetMasterVolumeLevel(This,fLevelDB,pguidEventContext); 648 } 649 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_SetMasterVolumeLevelScalar(IAudioEndpointVolumeEx* This,FLOAT fLevel,LPCGUID pguidEventContext) { 650 return This->lpVtbl->SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext); 651 } 652 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetMasterVolumeLevel(IAudioEndpointVolumeEx* This,FLOAT *fLevelDB) { 653 return This->lpVtbl->GetMasterVolumeLevel(This,fLevelDB); 654 } 655 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetMasterVolumeLevelScalar(IAudioEndpointVolumeEx* This,FLOAT *fLevel) { 656 return This->lpVtbl->GetMasterVolumeLevelScalar(This,fLevel); 657 } 658 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_SetChannelVolumeLevel(IAudioEndpointVolumeEx* This,UINT nChannel,FLOAT fLevelDB,LPCGUID pguidEventContext) { 659 return This->lpVtbl->SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext); 660 } 661 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_SetChannelVolumeLevelScalar(IAudioEndpointVolumeEx* This,UINT nChannel,FLOAT fLevel,LPCGUID pguidEventContext) { 662 return This->lpVtbl->SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext); 663 } 664 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetChannelVolumeLevel(IAudioEndpointVolumeEx* This,UINT nChannel,FLOAT *fLevelDB) { 665 return This->lpVtbl->GetChannelVolumeLevel(This,nChannel,fLevelDB); 666 } 667 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetChannelVolumeLevelScalar(IAudioEndpointVolumeEx* This,UINT nChannel,FLOAT *fLevel) { 668 return This->lpVtbl->GetChannelVolumeLevelScalar(This,nChannel,fLevel); 669 } 670 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_SetMute(IAudioEndpointVolumeEx* This,WINBOOL bMute,LPCGUID pguidEventContext) { 671 return This->lpVtbl->SetMute(This,bMute,pguidEventContext); 672 } 673 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetMute(IAudioEndpointVolumeEx* This,WINBOOL *bMute) { 674 return This->lpVtbl->GetMute(This,bMute); 675 } 676 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetVolumeStepInfo(IAudioEndpointVolumeEx* This,UINT *pnStep,UINT *pnStepCount) { 677 return This->lpVtbl->GetVolumeStepInfo(This,pnStep,pnStepCount); 678 } 679 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_VolumeStepUp(IAudioEndpointVolumeEx* This,LPCGUID pguidEventContext) { 680 return This->lpVtbl->VolumeStepUp(This,pguidEventContext); 681 } 682 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_VolumeStepDown(IAudioEndpointVolumeEx* This,LPCGUID pguidEventContext) { 683 return This->lpVtbl->VolumeStepDown(This,pguidEventContext); 684 } 685 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_QueryHardwareSupport(IAudioEndpointVolumeEx* This,DWORD *pdwHardwareSupportMask) { 686 return This->lpVtbl->QueryHardwareSupport(This,pdwHardwareSupportMask); 687 } 688 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetVolumeRange(IAudioEndpointVolumeEx* This,FLOAT *pflVolumeMindB,FLOAT *pflVolumeMaxdB,FLOAT *pflVolumeIncrementdB) { 689 return This->lpVtbl->GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB); 690 } 691 /*** IAudioEndpointVolumeEx methods ***/ 692 static FORCEINLINE HRESULT IAudioEndpointVolumeEx_GetVolumeRangeChannel(IAudioEndpointVolumeEx* This,UINT iChannel,FLOAT *pflVolumeMindB,FLOAT *pflVolumeMaxdB,FLOAT *pflVolumeIncrementdB) { 693 return This->lpVtbl->GetVolumeRangeChannel(This,iChannel,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB); 694 } 695 #endif 696 #endif 697 698 #endif 699 700 701 #endif /* __IAudioEndpointVolumeEx_INTERFACE_DEFINED__ */ 702 703 /* Begin additional prototypes for all interfaces */ 704 705 706 /* End additional prototypes */ 707 708 #ifdef __cplusplus 709 } 710 #endif 711 712 #endif /* __endpointvolume_h__ */ 713