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