1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/src/mingw-w64-svn-r5861/mingw-w64-headers/include/audiopolicy.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 __audiopolicy_h__ 16 #define __audiopolicy_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IAudioSessionEvents_FWD_DEFINED__ 21 #define __IAudioSessionEvents_FWD_DEFINED__ 22 typedef interface IAudioSessionEvents IAudioSessionEvents; 23 #endif 24 25 #ifndef __IAudioSessionControl_FWD_DEFINED__ 26 #define __IAudioSessionControl_FWD_DEFINED__ 27 typedef interface IAudioSessionControl IAudioSessionControl; 28 #endif 29 30 #ifndef __IAudioSessionControl2_FWD_DEFINED__ 31 #define __IAudioSessionControl2_FWD_DEFINED__ 32 typedef interface IAudioSessionControl2 IAudioSessionControl2; 33 #endif 34 35 #ifndef __IAudioSessionManager_FWD_DEFINED__ 36 #define __IAudioSessionManager_FWD_DEFINED__ 37 typedef interface IAudioSessionManager IAudioSessionManager; 38 #endif 39 40 #ifndef __IAudioVolumeDuckNotification_FWD_DEFINED__ 41 #define __IAudioVolumeDuckNotification_FWD_DEFINED__ 42 typedef interface IAudioVolumeDuckNotification IAudioVolumeDuckNotification; 43 #endif 44 45 #ifndef __IAudioSessionNotification_FWD_DEFINED__ 46 #define __IAudioSessionNotification_FWD_DEFINED__ 47 typedef interface IAudioSessionNotification IAudioSessionNotification; 48 #endif 49 50 #ifndef __IAudioSessionEnumerator_FWD_DEFINED__ 51 #define __IAudioSessionEnumerator_FWD_DEFINED__ 52 typedef interface IAudioSessionEnumerator IAudioSessionEnumerator; 53 #endif 54 55 #ifndef __IAudioSessionManager2_FWD_DEFINED__ 56 #define __IAudioSessionManager2_FWD_DEFINED__ 57 typedef interface IAudioSessionManager2 IAudioSessionManager2; 58 #endif 59 60 /* Headers for imported files */ 61 62 #include <oaidl.h> 63 #include <ocidl.h> 64 #include <propidl.h> 65 #include <audiosessiontypes.h> 66 #include <audioclient.h> 67 68 #ifdef __cplusplus 69 extern "C" { 70 #endif 71 72 #ifndef __IAudioSessionEvents_FWD_DEFINED__ 73 #define __IAudioSessionEvents_FWD_DEFINED__ 74 typedef interface IAudioSessionEvents IAudioSessionEvents; 75 #endif 76 77 #ifndef __IAudioSessionControl_FWD_DEFINED__ 78 #define __IAudioSessionControl_FWD_DEFINED__ 79 typedef interface IAudioSessionControl IAudioSessionControl; 80 #endif 81 82 #ifndef __IAudioSessionControl2_FWD_DEFINED__ 83 #define __IAudioSessionControl2_FWD_DEFINED__ 84 typedef interface IAudioSessionControl2 IAudioSessionControl2; 85 #endif 86 87 #ifndef __IAudioSessionManager_FWD_DEFINED__ 88 #define __IAudioSessionManager_FWD_DEFINED__ 89 typedef interface IAudioSessionManager IAudioSessionManager; 90 #endif 91 92 #ifndef __IAudioVolumeDuckNotification_FWD_DEFINED__ 93 #define __IAudioVolumeDuckNotification_FWD_DEFINED__ 94 typedef interface IAudioVolumeDuckNotification IAudioVolumeDuckNotification; 95 #endif 96 97 #ifndef __IAudioSessionNotification_FWD_DEFINED__ 98 #define __IAudioSessionNotification_FWD_DEFINED__ 99 typedef interface IAudioSessionNotification IAudioSessionNotification; 100 #endif 101 102 #ifndef __IAudioSessionEnumerator_FWD_DEFINED__ 103 #define __IAudioSessionEnumerator_FWD_DEFINED__ 104 typedef interface IAudioSessionEnumerator IAudioSessionEnumerator; 105 #endif 106 107 #ifndef __IAudioSessionManager2_FWD_DEFINED__ 108 #define __IAudioSessionManager2_FWD_DEFINED__ 109 typedef interface IAudioSessionManager2 IAudioSessionManager2; 110 #endif 111 112 typedef enum AudioSessionDisconnectReason { 113 DisconnectReasonDeviceRemoval = 0, 114 DisconnectReasonServerShutdown = 1, 115 DisconnectReasonFormatChanged = 2, 116 DisconnectReasonSessionLogoff = 3, 117 DisconnectReasonSessionDisconnected = 4, 118 DisconnectReasonExclusiveModeOverride = 5 119 } AudioSessionDisconnectReason; 120 /***************************************************************************** 121 * IAudioSessionEvents interface 122 */ 123 #ifndef __IAudioSessionEvents_INTERFACE_DEFINED__ 124 #define __IAudioSessionEvents_INTERFACE_DEFINED__ 125 126 DEFINE_GUID(IID_IAudioSessionEvents, 0x24918acc, 0x64b3, 0x37c1, 0x8c,0xa9, 0x74,0xa6,0x6e,0x99,0x57,0xa8); 127 #if defined(__cplusplus) && !defined(CINTERFACE) 128 MIDL_INTERFACE("24918acc-64b3-37c1-8ca9-74a66e9957a8") 129 IAudioSessionEvents : public IUnknown 130 { 131 virtual HRESULT STDMETHODCALLTYPE OnDisplayNameChanged( 132 LPCWSTR NewDisplayName, 133 LPCGUID EventContext) = 0; 134 135 virtual HRESULT STDMETHODCALLTYPE OnIconPathChanged( 136 LPCWSTR NewIconPath, 137 LPCGUID EventContext) = 0; 138 139 virtual HRESULT STDMETHODCALLTYPE OnSimpleVolumeChanged( 140 float NewVolume, 141 WINBOOL NewMute, 142 LPCGUID EventContext) = 0; 143 144 virtual HRESULT STDMETHODCALLTYPE OnChannelVolumeChanged( 145 DWORD ChannelCount, 146 float *NewChannelVolumeArray, 147 DWORD ChangedChannel, 148 LPCGUID EventContext) = 0; 149 150 virtual HRESULT STDMETHODCALLTYPE OnGroupingParamChanged( 151 LPCGUID NewGroupingParam, 152 LPCGUID EventContext) = 0; 153 154 virtual HRESULT STDMETHODCALLTYPE OnStateChanged( 155 AudioSessionState NewState) = 0; 156 157 virtual HRESULT STDMETHODCALLTYPE OnSessionDisconnected( 158 AudioSessionDisconnectReason DisconnectReason) = 0; 159 160 }; 161 #ifdef __CRT_UUID_DECL 162 __CRT_UUID_DECL(IAudioSessionEvents, 0x24918acc, 0x64b3, 0x37c1, 0x8c,0xa9, 0x74,0xa6,0x6e,0x99,0x57,0xa8) 163 #endif 164 #else 165 typedef struct IAudioSessionEventsVtbl { 166 BEGIN_INTERFACE 167 168 /*** IUnknown methods ***/ 169 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 170 IAudioSessionEvents* This, 171 REFIID riid, 172 void **ppvObject); 173 174 ULONG (STDMETHODCALLTYPE *AddRef)( 175 IAudioSessionEvents* This); 176 177 ULONG (STDMETHODCALLTYPE *Release)( 178 IAudioSessionEvents* This); 179 180 /*** IAudioSessionEvents methods ***/ 181 HRESULT (STDMETHODCALLTYPE *OnDisplayNameChanged)( 182 IAudioSessionEvents* This, 183 LPCWSTR NewDisplayName, 184 LPCGUID EventContext); 185 186 HRESULT (STDMETHODCALLTYPE *OnIconPathChanged)( 187 IAudioSessionEvents* This, 188 LPCWSTR NewIconPath, 189 LPCGUID EventContext); 190 191 HRESULT (STDMETHODCALLTYPE *OnSimpleVolumeChanged)( 192 IAudioSessionEvents* This, 193 float NewVolume, 194 WINBOOL NewMute, 195 LPCGUID EventContext); 196 197 HRESULT (STDMETHODCALLTYPE *OnChannelVolumeChanged)( 198 IAudioSessionEvents* This, 199 DWORD ChannelCount, 200 float *NewChannelVolumeArray, 201 DWORD ChangedChannel, 202 LPCGUID EventContext); 203 204 HRESULT (STDMETHODCALLTYPE *OnGroupingParamChanged)( 205 IAudioSessionEvents* This, 206 LPCGUID NewGroupingParam, 207 LPCGUID EventContext); 208 209 HRESULT (STDMETHODCALLTYPE *OnStateChanged)( 210 IAudioSessionEvents* This, 211 AudioSessionState NewState); 212 213 HRESULT (STDMETHODCALLTYPE *OnSessionDisconnected)( 214 IAudioSessionEvents* This, 215 AudioSessionDisconnectReason DisconnectReason); 216 217 END_INTERFACE 218 } IAudioSessionEventsVtbl; 219 interface IAudioSessionEvents { 220 CONST_VTBL IAudioSessionEventsVtbl* lpVtbl; 221 }; 222 223 #ifdef COBJMACROS 224 #ifndef WIDL_C_INLINE_WRAPPERS 225 /*** IUnknown methods ***/ 226 #define IAudioSessionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 227 #define IAudioSessionEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 228 #define IAudioSessionEvents_Release(This) (This)->lpVtbl->Release(This) 229 /*** IAudioSessionEvents methods ***/ 230 #define IAudioSessionEvents_OnDisplayNameChanged(This,NewDisplayName,EventContext) (This)->lpVtbl->OnDisplayNameChanged(This,NewDisplayName,EventContext) 231 #define IAudioSessionEvents_OnIconPathChanged(This,NewIconPath,EventContext) (This)->lpVtbl->OnIconPathChanged(This,NewIconPath,EventContext) 232 #define IAudioSessionEvents_OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext) (This)->lpVtbl->OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext) 233 #define IAudioSessionEvents_OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext) (This)->lpVtbl->OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext) 234 #define IAudioSessionEvents_OnGroupingParamChanged(This,NewGroupingParam,EventContext) (This)->lpVtbl->OnGroupingParamChanged(This,NewGroupingParam,EventContext) 235 #define IAudioSessionEvents_OnStateChanged(This,NewState) (This)->lpVtbl->OnStateChanged(This,NewState) 236 #define IAudioSessionEvents_OnSessionDisconnected(This,DisconnectReason) (This)->lpVtbl->OnSessionDisconnected(This,DisconnectReason) 237 #else 238 /*** IUnknown methods ***/ 239 static FORCEINLINE HRESULT IAudioSessionEvents_QueryInterface(IAudioSessionEvents* This,REFIID riid,void **ppvObject) { 240 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 241 } 242 static FORCEINLINE ULONG IAudioSessionEvents_AddRef(IAudioSessionEvents* This) { 243 return This->lpVtbl->AddRef(This); 244 } 245 static FORCEINLINE ULONG IAudioSessionEvents_Release(IAudioSessionEvents* This) { 246 return This->lpVtbl->Release(This); 247 } 248 /*** IAudioSessionEvents methods ***/ 249 static FORCEINLINE HRESULT IAudioSessionEvents_OnDisplayNameChanged(IAudioSessionEvents* This,LPCWSTR NewDisplayName,LPCGUID EventContext) { 250 return This->lpVtbl->OnDisplayNameChanged(This,NewDisplayName,EventContext); 251 } 252 static FORCEINLINE HRESULT IAudioSessionEvents_OnIconPathChanged(IAudioSessionEvents* This,LPCWSTR NewIconPath,LPCGUID EventContext) { 253 return This->lpVtbl->OnIconPathChanged(This,NewIconPath,EventContext); 254 } 255 static FORCEINLINE HRESULT IAudioSessionEvents_OnSimpleVolumeChanged(IAudioSessionEvents* This,float NewVolume,WINBOOL NewMute,LPCGUID EventContext) { 256 return This->lpVtbl->OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext); 257 } 258 static FORCEINLINE HRESULT IAudioSessionEvents_OnChannelVolumeChanged(IAudioSessionEvents* This,DWORD ChannelCount,float *NewChannelVolumeArray,DWORD ChangedChannel,LPCGUID EventContext) { 259 return This->lpVtbl->OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext); 260 } 261 static FORCEINLINE HRESULT IAudioSessionEvents_OnGroupingParamChanged(IAudioSessionEvents* This,LPCGUID NewGroupingParam,LPCGUID EventContext) { 262 return This->lpVtbl->OnGroupingParamChanged(This,NewGroupingParam,EventContext); 263 } 264 static FORCEINLINE HRESULT IAudioSessionEvents_OnStateChanged(IAudioSessionEvents* This,AudioSessionState NewState) { 265 return This->lpVtbl->OnStateChanged(This,NewState); 266 } 267 static FORCEINLINE HRESULT IAudioSessionEvents_OnSessionDisconnected(IAudioSessionEvents* This,AudioSessionDisconnectReason DisconnectReason) { 268 return This->lpVtbl->OnSessionDisconnected(This,DisconnectReason); 269 } 270 #endif 271 #endif 272 273 #endif 274 275 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnDisplayNameChanged_Proxy( 276 IAudioSessionEvents* This, 277 LPCWSTR NewDisplayName, 278 LPCGUID EventContext); 279 void __RPC_STUB IAudioSessionEvents_OnDisplayNameChanged_Stub( 280 IRpcStubBuffer* This, 281 IRpcChannelBuffer* pRpcChannelBuffer, 282 PRPC_MESSAGE pRpcMessage, 283 DWORD* pdwStubPhase); 284 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnIconPathChanged_Proxy( 285 IAudioSessionEvents* This, 286 LPCWSTR NewIconPath, 287 LPCGUID EventContext); 288 void __RPC_STUB IAudioSessionEvents_OnIconPathChanged_Stub( 289 IRpcStubBuffer* This, 290 IRpcChannelBuffer* pRpcChannelBuffer, 291 PRPC_MESSAGE pRpcMessage, 292 DWORD* pdwStubPhase); 293 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnSimpleVolumeChanged_Proxy( 294 IAudioSessionEvents* This, 295 float NewVolume, 296 WINBOOL NewMute, 297 LPCGUID EventContext); 298 void __RPC_STUB IAudioSessionEvents_OnSimpleVolumeChanged_Stub( 299 IRpcStubBuffer* This, 300 IRpcChannelBuffer* pRpcChannelBuffer, 301 PRPC_MESSAGE pRpcMessage, 302 DWORD* pdwStubPhase); 303 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnChannelVolumeChanged_Proxy( 304 IAudioSessionEvents* This, 305 DWORD ChannelCount, 306 float *NewChannelVolumeArray, 307 DWORD ChangedChannel, 308 LPCGUID EventContext); 309 void __RPC_STUB IAudioSessionEvents_OnChannelVolumeChanged_Stub( 310 IRpcStubBuffer* This, 311 IRpcChannelBuffer* pRpcChannelBuffer, 312 PRPC_MESSAGE pRpcMessage, 313 DWORD* pdwStubPhase); 314 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnGroupingParamChanged_Proxy( 315 IAudioSessionEvents* This, 316 LPCGUID NewGroupingParam, 317 LPCGUID EventContext); 318 void __RPC_STUB IAudioSessionEvents_OnGroupingParamChanged_Stub( 319 IRpcStubBuffer* This, 320 IRpcChannelBuffer* pRpcChannelBuffer, 321 PRPC_MESSAGE pRpcMessage, 322 DWORD* pdwStubPhase); 323 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnStateChanged_Proxy( 324 IAudioSessionEvents* This, 325 AudioSessionState NewState); 326 void __RPC_STUB IAudioSessionEvents_OnStateChanged_Stub( 327 IRpcStubBuffer* This, 328 IRpcChannelBuffer* pRpcChannelBuffer, 329 PRPC_MESSAGE pRpcMessage, 330 DWORD* pdwStubPhase); 331 HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnSessionDisconnected_Proxy( 332 IAudioSessionEvents* This, 333 AudioSessionDisconnectReason DisconnectReason); 334 void __RPC_STUB IAudioSessionEvents_OnSessionDisconnected_Stub( 335 IRpcStubBuffer* This, 336 IRpcChannelBuffer* pRpcChannelBuffer, 337 PRPC_MESSAGE pRpcMessage, 338 DWORD* pdwStubPhase); 339 340 #endif /* __IAudioSessionEvents_INTERFACE_DEFINED__ */ 341 342 /***************************************************************************** 343 * IAudioSessionControl interface 344 */ 345 #ifndef __IAudioSessionControl_INTERFACE_DEFINED__ 346 #define __IAudioSessionControl_INTERFACE_DEFINED__ 347 348 DEFINE_GUID(IID_IAudioSessionControl, 0xf4b1a599, 0x7266, 0x4319, 0xa8,0xca, 0xe7,0x0a,0xcb,0x11,0xe8,0xcd); 349 #if defined(__cplusplus) && !defined(CINTERFACE) 350 MIDL_INTERFACE("f4b1a599-7266-4319-a8ca-e70acb11e8cd") 351 IAudioSessionControl : public IUnknown 352 { 353 virtual HRESULT STDMETHODCALLTYPE GetState( 354 AudioSessionState *pRetVal) = 0; 355 356 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 357 LPWSTR *pRetVal) = 0; 358 359 virtual HRESULT STDMETHODCALLTYPE SetDisplayName( 360 LPCWSTR DisplayName, 361 LPCGUID EventContext) = 0; 362 363 virtual HRESULT STDMETHODCALLTYPE GetIconPath( 364 LPWSTR *pRetVal) = 0; 365 366 virtual HRESULT STDMETHODCALLTYPE SetIconPath( 367 LPCWSTR Value, 368 LPCGUID EventContext) = 0; 369 370 virtual HRESULT STDMETHODCALLTYPE GetGroupingParam( 371 GUID *pRetVal) = 0; 372 373 virtual HRESULT STDMETHODCALLTYPE SetGroupingParam( 374 LPCGUID Override, 375 LPCGUID EventContext) = 0; 376 377 virtual HRESULT STDMETHODCALLTYPE RegisterAudioSessionNotification( 378 IAudioSessionEvents *NewNotifications) = 0; 379 380 virtual HRESULT STDMETHODCALLTYPE UnregisterAudioSessionNotification( 381 IAudioSessionEvents *NewNotifications) = 0; 382 383 }; 384 #ifdef __CRT_UUID_DECL 385 __CRT_UUID_DECL(IAudioSessionControl, 0xf4b1a599, 0x7266, 0x4319, 0xa8,0xca, 0xe7,0x0a,0xcb,0x11,0xe8,0xcd) 386 #endif 387 #else 388 typedef struct IAudioSessionControlVtbl { 389 BEGIN_INTERFACE 390 391 /*** IUnknown methods ***/ 392 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 393 IAudioSessionControl* This, 394 REFIID riid, 395 void **ppvObject); 396 397 ULONG (STDMETHODCALLTYPE *AddRef)( 398 IAudioSessionControl* This); 399 400 ULONG (STDMETHODCALLTYPE *Release)( 401 IAudioSessionControl* This); 402 403 /*** IAudioSessionControl methods ***/ 404 HRESULT (STDMETHODCALLTYPE *GetState)( 405 IAudioSessionControl* This, 406 AudioSessionState *pRetVal); 407 408 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 409 IAudioSessionControl* This, 410 LPWSTR *pRetVal); 411 412 HRESULT (STDMETHODCALLTYPE *SetDisplayName)( 413 IAudioSessionControl* This, 414 LPCWSTR DisplayName, 415 LPCGUID EventContext); 416 417 HRESULT (STDMETHODCALLTYPE *GetIconPath)( 418 IAudioSessionControl* This, 419 LPWSTR *pRetVal); 420 421 HRESULT (STDMETHODCALLTYPE *SetIconPath)( 422 IAudioSessionControl* This, 423 LPCWSTR Value, 424 LPCGUID EventContext); 425 426 HRESULT (STDMETHODCALLTYPE *GetGroupingParam)( 427 IAudioSessionControl* This, 428 GUID *pRetVal); 429 430 HRESULT (STDMETHODCALLTYPE *SetGroupingParam)( 431 IAudioSessionControl* This, 432 LPCGUID Override, 433 LPCGUID EventContext); 434 435 HRESULT (STDMETHODCALLTYPE *RegisterAudioSessionNotification)( 436 IAudioSessionControl* This, 437 IAudioSessionEvents *NewNotifications); 438 439 HRESULT (STDMETHODCALLTYPE *UnregisterAudioSessionNotification)( 440 IAudioSessionControl* This, 441 IAudioSessionEvents *NewNotifications); 442 443 END_INTERFACE 444 } IAudioSessionControlVtbl; 445 interface IAudioSessionControl { 446 CONST_VTBL IAudioSessionControlVtbl* lpVtbl; 447 }; 448 449 #ifdef COBJMACROS 450 #ifndef WIDL_C_INLINE_WRAPPERS 451 /*** IUnknown methods ***/ 452 #define IAudioSessionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 453 #define IAudioSessionControl_AddRef(This) (This)->lpVtbl->AddRef(This) 454 #define IAudioSessionControl_Release(This) (This)->lpVtbl->Release(This) 455 /*** IAudioSessionControl methods ***/ 456 #define IAudioSessionControl_GetState(This,pRetVal) (This)->lpVtbl->GetState(This,pRetVal) 457 #define IAudioSessionControl_GetDisplayName(This,pRetVal) (This)->lpVtbl->GetDisplayName(This,pRetVal) 458 #define IAudioSessionControl_SetDisplayName(This,DisplayName,EventContext) (This)->lpVtbl->SetDisplayName(This,DisplayName,EventContext) 459 #define IAudioSessionControl_GetIconPath(This,pRetVal) (This)->lpVtbl->GetIconPath(This,pRetVal) 460 #define IAudioSessionControl_SetIconPath(This,Value,EventContext) (This)->lpVtbl->SetIconPath(This,Value,EventContext) 461 #define IAudioSessionControl_GetGroupingParam(This,pRetVal) (This)->lpVtbl->GetGroupingParam(This,pRetVal) 462 #define IAudioSessionControl_SetGroupingParam(This,Override,EventContext) (This)->lpVtbl->SetGroupingParam(This,Override,EventContext) 463 #define IAudioSessionControl_RegisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications) 464 #define IAudioSessionControl_UnregisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications) 465 #else 466 /*** IUnknown methods ***/ 467 static FORCEINLINE HRESULT IAudioSessionControl_QueryInterface(IAudioSessionControl* This,REFIID riid,void **ppvObject) { 468 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 469 } 470 static FORCEINLINE ULONG IAudioSessionControl_AddRef(IAudioSessionControl* This) { 471 return This->lpVtbl->AddRef(This); 472 } 473 static FORCEINLINE ULONG IAudioSessionControl_Release(IAudioSessionControl* This) { 474 return This->lpVtbl->Release(This); 475 } 476 /*** IAudioSessionControl methods ***/ 477 static FORCEINLINE HRESULT IAudioSessionControl_GetState(IAudioSessionControl* This,AudioSessionState *pRetVal) { 478 return This->lpVtbl->GetState(This,pRetVal); 479 } 480 static FORCEINLINE HRESULT IAudioSessionControl_GetDisplayName(IAudioSessionControl* This,LPWSTR *pRetVal) { 481 return This->lpVtbl->GetDisplayName(This,pRetVal); 482 } 483 static FORCEINLINE HRESULT IAudioSessionControl_SetDisplayName(IAudioSessionControl* This,LPCWSTR DisplayName,LPCGUID EventContext) { 484 return This->lpVtbl->SetDisplayName(This,DisplayName,EventContext); 485 } 486 static FORCEINLINE HRESULT IAudioSessionControl_GetIconPath(IAudioSessionControl* This,LPWSTR *pRetVal) { 487 return This->lpVtbl->GetIconPath(This,pRetVal); 488 } 489 static FORCEINLINE HRESULT IAudioSessionControl_SetIconPath(IAudioSessionControl* This,LPCWSTR Value,LPCGUID EventContext) { 490 return This->lpVtbl->SetIconPath(This,Value,EventContext); 491 } 492 static FORCEINLINE HRESULT IAudioSessionControl_GetGroupingParam(IAudioSessionControl* This,GUID *pRetVal) { 493 return This->lpVtbl->GetGroupingParam(This,pRetVal); 494 } 495 static FORCEINLINE HRESULT IAudioSessionControl_SetGroupingParam(IAudioSessionControl* This,LPCGUID Override,LPCGUID EventContext) { 496 return This->lpVtbl->SetGroupingParam(This,Override,EventContext); 497 } 498 static FORCEINLINE HRESULT IAudioSessionControl_RegisterAudioSessionNotification(IAudioSessionControl* This,IAudioSessionEvents *NewNotifications) { 499 return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); 500 } 501 static FORCEINLINE HRESULT IAudioSessionControl_UnregisterAudioSessionNotification(IAudioSessionControl* This,IAudioSessionEvents *NewNotifications) { 502 return This->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications); 503 } 504 #endif 505 #endif 506 507 #endif 508 509 HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetState_Proxy( 510 IAudioSessionControl* This, 511 AudioSessionState *pRetVal); 512 void __RPC_STUB IAudioSessionControl_GetState_Stub( 513 IRpcStubBuffer* This, 514 IRpcChannelBuffer* pRpcChannelBuffer, 515 PRPC_MESSAGE pRpcMessage, 516 DWORD* pdwStubPhase); 517 HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetDisplayName_Proxy( 518 IAudioSessionControl* This, 519 LPWSTR *pRetVal); 520 void __RPC_STUB IAudioSessionControl_GetDisplayName_Stub( 521 IRpcStubBuffer* This, 522 IRpcChannelBuffer* pRpcChannelBuffer, 523 PRPC_MESSAGE pRpcMessage, 524 DWORD* pdwStubPhase); 525 HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetDisplayName_Proxy( 526 IAudioSessionControl* This, 527 LPCWSTR DisplayName, 528 LPCGUID EventContext); 529 void __RPC_STUB IAudioSessionControl_SetDisplayName_Stub( 530 IRpcStubBuffer* This, 531 IRpcChannelBuffer* pRpcChannelBuffer, 532 PRPC_MESSAGE pRpcMessage, 533 DWORD* pdwStubPhase); 534 HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetIconPath_Proxy( 535 IAudioSessionControl* This, 536 LPWSTR *pRetVal); 537 void __RPC_STUB IAudioSessionControl_GetIconPath_Stub( 538 IRpcStubBuffer* This, 539 IRpcChannelBuffer* pRpcChannelBuffer, 540 PRPC_MESSAGE pRpcMessage, 541 DWORD* pdwStubPhase); 542 HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetIconPath_Proxy( 543 IAudioSessionControl* This, 544 LPCWSTR Value, 545 LPCGUID EventContext); 546 void __RPC_STUB IAudioSessionControl_SetIconPath_Stub( 547 IRpcStubBuffer* This, 548 IRpcChannelBuffer* pRpcChannelBuffer, 549 PRPC_MESSAGE pRpcMessage, 550 DWORD* pdwStubPhase); 551 HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetGroupingParam_Proxy( 552 IAudioSessionControl* This, 553 GUID *pRetVal); 554 void __RPC_STUB IAudioSessionControl_GetGroupingParam_Stub( 555 IRpcStubBuffer* This, 556 IRpcChannelBuffer* pRpcChannelBuffer, 557 PRPC_MESSAGE pRpcMessage, 558 DWORD* pdwStubPhase); 559 HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetGroupingParam_Proxy( 560 IAudioSessionControl* This, 561 LPCGUID Override, 562 LPCGUID EventContext); 563 void __RPC_STUB IAudioSessionControl_SetGroupingParam_Stub( 564 IRpcStubBuffer* This, 565 IRpcChannelBuffer* pRpcChannelBuffer, 566 PRPC_MESSAGE pRpcMessage, 567 DWORD* pdwStubPhase); 568 HRESULT STDMETHODCALLTYPE IAudioSessionControl_RegisterAudioSessionNotification_Proxy( 569 IAudioSessionControl* This, 570 IAudioSessionEvents *NewNotifications); 571 void __RPC_STUB IAudioSessionControl_RegisterAudioSessionNotification_Stub( 572 IRpcStubBuffer* This, 573 IRpcChannelBuffer* pRpcChannelBuffer, 574 PRPC_MESSAGE pRpcMessage, 575 DWORD* pdwStubPhase); 576 HRESULT STDMETHODCALLTYPE IAudioSessionControl_UnregisterAudioSessionNotification_Proxy( 577 IAudioSessionControl* This, 578 IAudioSessionEvents *NewNotifications); 579 void __RPC_STUB IAudioSessionControl_UnregisterAudioSessionNotification_Stub( 580 IRpcStubBuffer* This, 581 IRpcChannelBuffer* pRpcChannelBuffer, 582 PRPC_MESSAGE pRpcMessage, 583 DWORD* pdwStubPhase); 584 585 #endif /* __IAudioSessionControl_INTERFACE_DEFINED__ */ 586 587 /***************************************************************************** 588 * IAudioSessionControl2 interface 589 */ 590 #ifndef __IAudioSessionControl2_INTERFACE_DEFINED__ 591 #define __IAudioSessionControl2_INTERFACE_DEFINED__ 592 593 DEFINE_GUID(IID_IAudioSessionControl2, 0xbfb7ff88, 0x7239, 0x4fc9, 0x8f,0xa2, 0x07,0xc9,0x50,0xbe,0x9c,0x6d); 594 #if defined(__cplusplus) && !defined(CINTERFACE) 595 MIDL_INTERFACE("bfb7ff88-7239-4fc9-8fa2-07c950be9c6d") 596 IAudioSessionControl2 : public IAudioSessionControl 597 { 598 virtual HRESULT STDMETHODCALLTYPE GetSessionIdentifier( 599 LPWSTR *pRetVal) = 0; 600 601 virtual HRESULT STDMETHODCALLTYPE GetSessionInstanceIdentifier( 602 LPWSTR *pRetVal) = 0; 603 604 virtual HRESULT STDMETHODCALLTYPE GetProcessId( 605 DWORD *pRetVal) = 0; 606 607 virtual HRESULT STDMETHODCALLTYPE IsSystemSoundsSession( 608 ) = 0; 609 610 virtual HRESULT STDMETHODCALLTYPE SetDuckingPreferences( 611 WINBOOL optOut) = 0; 612 613 }; 614 #ifdef __CRT_UUID_DECL 615 __CRT_UUID_DECL(IAudioSessionControl2, 0xbfb7ff88, 0x7239, 0x4fc9, 0x8f,0xa2, 0x07,0xc9,0x50,0xbe,0x9c,0x6d) 616 #endif 617 #else 618 typedef struct IAudioSessionControl2Vtbl { 619 BEGIN_INTERFACE 620 621 /*** IUnknown methods ***/ 622 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 623 IAudioSessionControl2* This, 624 REFIID riid, 625 void **ppvObject); 626 627 ULONG (STDMETHODCALLTYPE *AddRef)( 628 IAudioSessionControl2* This); 629 630 ULONG (STDMETHODCALLTYPE *Release)( 631 IAudioSessionControl2* This); 632 633 /*** IAudioSessionControl methods ***/ 634 HRESULT (STDMETHODCALLTYPE *GetState)( 635 IAudioSessionControl2* This, 636 AudioSessionState *pRetVal); 637 638 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 639 IAudioSessionControl2* This, 640 LPWSTR *pRetVal); 641 642 HRESULT (STDMETHODCALLTYPE *SetDisplayName)( 643 IAudioSessionControl2* This, 644 LPCWSTR DisplayName, 645 LPCGUID EventContext); 646 647 HRESULT (STDMETHODCALLTYPE *GetIconPath)( 648 IAudioSessionControl2* This, 649 LPWSTR *pRetVal); 650 651 HRESULT (STDMETHODCALLTYPE *SetIconPath)( 652 IAudioSessionControl2* This, 653 LPCWSTR Value, 654 LPCGUID EventContext); 655 656 HRESULT (STDMETHODCALLTYPE *GetGroupingParam)( 657 IAudioSessionControl2* This, 658 GUID *pRetVal); 659 660 HRESULT (STDMETHODCALLTYPE *SetGroupingParam)( 661 IAudioSessionControl2* This, 662 LPCGUID Override, 663 LPCGUID EventContext); 664 665 HRESULT (STDMETHODCALLTYPE *RegisterAudioSessionNotification)( 666 IAudioSessionControl2* This, 667 IAudioSessionEvents *NewNotifications); 668 669 HRESULT (STDMETHODCALLTYPE *UnregisterAudioSessionNotification)( 670 IAudioSessionControl2* This, 671 IAudioSessionEvents *NewNotifications); 672 673 /*** IAudioSessionControl2 methods ***/ 674 HRESULT (STDMETHODCALLTYPE *GetSessionIdentifier)( 675 IAudioSessionControl2* This, 676 LPWSTR *pRetVal); 677 678 HRESULT (STDMETHODCALLTYPE *GetSessionInstanceIdentifier)( 679 IAudioSessionControl2* This, 680 LPWSTR *pRetVal); 681 682 HRESULT (STDMETHODCALLTYPE *GetProcessId)( 683 IAudioSessionControl2* This, 684 DWORD *pRetVal); 685 686 HRESULT (STDMETHODCALLTYPE *IsSystemSoundsSession)( 687 IAudioSessionControl2* This); 688 689 HRESULT (STDMETHODCALLTYPE *SetDuckingPreferences)( 690 IAudioSessionControl2* This, 691 WINBOOL optOut); 692 693 END_INTERFACE 694 } IAudioSessionControl2Vtbl; 695 interface IAudioSessionControl2 { 696 CONST_VTBL IAudioSessionControl2Vtbl* lpVtbl; 697 }; 698 699 #ifdef COBJMACROS 700 #ifndef WIDL_C_INLINE_WRAPPERS 701 /*** IUnknown methods ***/ 702 #define IAudioSessionControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 703 #define IAudioSessionControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 704 #define IAudioSessionControl2_Release(This) (This)->lpVtbl->Release(This) 705 /*** IAudioSessionControl methods ***/ 706 #define IAudioSessionControl2_GetState(This,pRetVal) (This)->lpVtbl->GetState(This,pRetVal) 707 #define IAudioSessionControl2_GetDisplayName(This,pRetVal) (This)->lpVtbl->GetDisplayName(This,pRetVal) 708 #define IAudioSessionControl2_SetDisplayName(This,DisplayName,EventContext) (This)->lpVtbl->SetDisplayName(This,DisplayName,EventContext) 709 #define IAudioSessionControl2_GetIconPath(This,pRetVal) (This)->lpVtbl->GetIconPath(This,pRetVal) 710 #define IAudioSessionControl2_SetIconPath(This,Value,EventContext) (This)->lpVtbl->SetIconPath(This,Value,EventContext) 711 #define IAudioSessionControl2_GetGroupingParam(This,pRetVal) (This)->lpVtbl->GetGroupingParam(This,pRetVal) 712 #define IAudioSessionControl2_SetGroupingParam(This,Override,EventContext) (This)->lpVtbl->SetGroupingParam(This,Override,EventContext) 713 #define IAudioSessionControl2_RegisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications) 714 #define IAudioSessionControl2_UnregisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications) 715 /*** IAudioSessionControl2 methods ***/ 716 #define IAudioSessionControl2_GetSessionIdentifier(This,pRetVal) (This)->lpVtbl->GetSessionIdentifier(This,pRetVal) 717 #define IAudioSessionControl2_GetSessionInstanceIdentifier(This,pRetVal) (This)->lpVtbl->GetSessionInstanceIdentifier(This,pRetVal) 718 #define IAudioSessionControl2_GetProcessId(This,pRetVal) (This)->lpVtbl->GetProcessId(This,pRetVal) 719 #define IAudioSessionControl2_IsSystemSoundsSession(This) (This)->lpVtbl->IsSystemSoundsSession(This) 720 #define IAudioSessionControl2_SetDuckingPreferences(This,optOut) (This)->lpVtbl->SetDuckingPreferences(This,optOut) 721 #else 722 /*** IUnknown methods ***/ 723 static FORCEINLINE HRESULT IAudioSessionControl2_QueryInterface(IAudioSessionControl2* This,REFIID riid,void **ppvObject) { 724 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 725 } 726 static FORCEINLINE ULONG IAudioSessionControl2_AddRef(IAudioSessionControl2* This) { 727 return This->lpVtbl->AddRef(This); 728 } 729 static FORCEINLINE ULONG IAudioSessionControl2_Release(IAudioSessionControl2* This) { 730 return This->lpVtbl->Release(This); 731 } 732 /*** IAudioSessionControl methods ***/ 733 static FORCEINLINE HRESULT IAudioSessionControl2_GetState(IAudioSessionControl2* This,AudioSessionState *pRetVal) { 734 return This->lpVtbl->GetState(This,pRetVal); 735 } 736 static FORCEINLINE HRESULT IAudioSessionControl2_GetDisplayName(IAudioSessionControl2* This,LPWSTR *pRetVal) { 737 return This->lpVtbl->GetDisplayName(This,pRetVal); 738 } 739 static FORCEINLINE HRESULT IAudioSessionControl2_SetDisplayName(IAudioSessionControl2* This,LPCWSTR DisplayName,LPCGUID EventContext) { 740 return This->lpVtbl->SetDisplayName(This,DisplayName,EventContext); 741 } 742 static FORCEINLINE HRESULT IAudioSessionControl2_GetIconPath(IAudioSessionControl2* This,LPWSTR *pRetVal) { 743 return This->lpVtbl->GetIconPath(This,pRetVal); 744 } 745 static FORCEINLINE HRESULT IAudioSessionControl2_SetIconPath(IAudioSessionControl2* This,LPCWSTR Value,LPCGUID EventContext) { 746 return This->lpVtbl->SetIconPath(This,Value,EventContext); 747 } 748 static FORCEINLINE HRESULT IAudioSessionControl2_GetGroupingParam(IAudioSessionControl2* This,GUID *pRetVal) { 749 return This->lpVtbl->GetGroupingParam(This,pRetVal); 750 } 751 static FORCEINLINE HRESULT IAudioSessionControl2_SetGroupingParam(IAudioSessionControl2* This,LPCGUID Override,LPCGUID EventContext) { 752 return This->lpVtbl->SetGroupingParam(This,Override,EventContext); 753 } 754 static FORCEINLINE HRESULT IAudioSessionControl2_RegisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { 755 return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); 756 } 757 static FORCEINLINE HRESULT IAudioSessionControl2_UnregisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { 758 return This->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications); 759 } 760 /*** IAudioSessionControl2 methods ***/ 761 static FORCEINLINE HRESULT IAudioSessionControl2_GetSessionIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { 762 return This->lpVtbl->GetSessionIdentifier(This,pRetVal); 763 } 764 static FORCEINLINE HRESULT IAudioSessionControl2_GetSessionInstanceIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { 765 return This->lpVtbl->GetSessionInstanceIdentifier(This,pRetVal); 766 } 767 static FORCEINLINE HRESULT IAudioSessionControl2_GetProcessId(IAudioSessionControl2* This,DWORD *pRetVal) { 768 return This->lpVtbl->GetProcessId(This,pRetVal); 769 } 770 static FORCEINLINE HRESULT IAudioSessionControl2_IsSystemSoundsSession(IAudioSessionControl2* This) { 771 return This->lpVtbl->IsSystemSoundsSession(This); 772 } 773 static FORCEINLINE HRESULT IAudioSessionControl2_SetDuckingPreferences(IAudioSessionControl2* This,WINBOOL optOut) { 774 return This->lpVtbl->SetDuckingPreferences(This,optOut); 775 } 776 #endif 777 #endif 778 779 #endif 780 781 HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetSessionIdentifier_Proxy( 782 IAudioSessionControl2* This, 783 LPWSTR *pRetVal); 784 void __RPC_STUB IAudioSessionControl2_GetSessionIdentifier_Stub( 785 IRpcStubBuffer* This, 786 IRpcChannelBuffer* pRpcChannelBuffer, 787 PRPC_MESSAGE pRpcMessage, 788 DWORD* pdwStubPhase); 789 HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetSessionInstanceIdentifier_Proxy( 790 IAudioSessionControl2* This, 791 LPWSTR *pRetVal); 792 void __RPC_STUB IAudioSessionControl2_GetSessionInstanceIdentifier_Stub( 793 IRpcStubBuffer* This, 794 IRpcChannelBuffer* pRpcChannelBuffer, 795 PRPC_MESSAGE pRpcMessage, 796 DWORD* pdwStubPhase); 797 HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetProcessId_Proxy( 798 IAudioSessionControl2* This, 799 DWORD *pRetVal); 800 void __RPC_STUB IAudioSessionControl2_GetProcessId_Stub( 801 IRpcStubBuffer* This, 802 IRpcChannelBuffer* pRpcChannelBuffer, 803 PRPC_MESSAGE pRpcMessage, 804 DWORD* pdwStubPhase); 805 HRESULT STDMETHODCALLTYPE IAudioSessionControl2_IsSystemSoundsSession_Proxy( 806 IAudioSessionControl2* This); 807 void __RPC_STUB IAudioSessionControl2_IsSystemSoundsSession_Stub( 808 IRpcStubBuffer* This, 809 IRpcChannelBuffer* pRpcChannelBuffer, 810 PRPC_MESSAGE pRpcMessage, 811 DWORD* pdwStubPhase); 812 HRESULT STDMETHODCALLTYPE IAudioSessionControl2_SetDuckingPreferences_Proxy( 813 IAudioSessionControl2* This, 814 WINBOOL optOut); 815 void __RPC_STUB IAudioSessionControl2_SetDuckingPreferences_Stub( 816 IRpcStubBuffer* This, 817 IRpcChannelBuffer* pRpcChannelBuffer, 818 PRPC_MESSAGE pRpcMessage, 819 DWORD* pdwStubPhase); 820 821 #endif /* __IAudioSessionControl2_INTERFACE_DEFINED__ */ 822 823 /***************************************************************************** 824 * IAudioSessionManager interface 825 */ 826 #ifndef __IAudioSessionManager_INTERFACE_DEFINED__ 827 #define __IAudioSessionManager_INTERFACE_DEFINED__ 828 829 DEFINE_GUID(IID_IAudioSessionManager, 0xbfa971f1, 0x4d5e, 0x40bb, 0x93,0x5e, 0x96,0x70,0x39,0xbf,0xbe,0xe4); 830 #if defined(__cplusplus) && !defined(CINTERFACE) 831 MIDL_INTERFACE("bfa971f1-4d5e-40bb-935e-967039bfbee4") 832 IAudioSessionManager : public IUnknown 833 { 834 virtual HRESULT STDMETHODCALLTYPE GetAudioSessionControl( 835 LPCGUID AudioSessionGuid, 836 DWORD StreamFlags, 837 IAudioSessionControl **SessionControl) = 0; 838 839 virtual HRESULT STDMETHODCALLTYPE GetSimpleAudioVolume( 840 LPCGUID AudioSessionGuid, 841 DWORD StreamFlags, 842 ISimpleAudioVolume **AudioVolume) = 0; 843 844 }; 845 #ifdef __CRT_UUID_DECL 846 __CRT_UUID_DECL(IAudioSessionManager, 0xbfa971f1, 0x4d5e, 0x40bb, 0x93,0x5e, 0x96,0x70,0x39,0xbf,0xbe,0xe4) 847 #endif 848 #else 849 typedef struct IAudioSessionManagerVtbl { 850 BEGIN_INTERFACE 851 852 /*** IUnknown methods ***/ 853 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 854 IAudioSessionManager* This, 855 REFIID riid, 856 void **ppvObject); 857 858 ULONG (STDMETHODCALLTYPE *AddRef)( 859 IAudioSessionManager* This); 860 861 ULONG (STDMETHODCALLTYPE *Release)( 862 IAudioSessionManager* This); 863 864 /*** IAudioSessionManager methods ***/ 865 HRESULT (STDMETHODCALLTYPE *GetAudioSessionControl)( 866 IAudioSessionManager* This, 867 LPCGUID AudioSessionGuid, 868 DWORD StreamFlags, 869 IAudioSessionControl **SessionControl); 870 871 HRESULT (STDMETHODCALLTYPE *GetSimpleAudioVolume)( 872 IAudioSessionManager* This, 873 LPCGUID AudioSessionGuid, 874 DWORD StreamFlags, 875 ISimpleAudioVolume **AudioVolume); 876 877 END_INTERFACE 878 } IAudioSessionManagerVtbl; 879 interface IAudioSessionManager { 880 CONST_VTBL IAudioSessionManagerVtbl* lpVtbl; 881 }; 882 883 #ifdef COBJMACROS 884 #ifndef WIDL_C_INLINE_WRAPPERS 885 /*** IUnknown methods ***/ 886 #define IAudioSessionManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 887 #define IAudioSessionManager_AddRef(This) (This)->lpVtbl->AddRef(This) 888 #define IAudioSessionManager_Release(This) (This)->lpVtbl->Release(This) 889 /*** IAudioSessionManager methods ***/ 890 #define IAudioSessionManager_GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) (This)->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) 891 #define IAudioSessionManager_GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) (This)->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) 892 #else 893 /*** IUnknown methods ***/ 894 static FORCEINLINE HRESULT IAudioSessionManager_QueryInterface(IAudioSessionManager* This,REFIID riid,void **ppvObject) { 895 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 896 } 897 static FORCEINLINE ULONG IAudioSessionManager_AddRef(IAudioSessionManager* This) { 898 return This->lpVtbl->AddRef(This); 899 } 900 static FORCEINLINE ULONG IAudioSessionManager_Release(IAudioSessionManager* This) { 901 return This->lpVtbl->Release(This); 902 } 903 /*** IAudioSessionManager methods ***/ 904 static FORCEINLINE HRESULT IAudioSessionManager_GetAudioSessionControl(IAudioSessionManager* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { 905 return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); 906 } 907 static FORCEINLINE HRESULT IAudioSessionManager_GetSimpleAudioVolume(IAudioSessionManager* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,ISimpleAudioVolume **AudioVolume) { 908 return This->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume); 909 } 910 #endif 911 #endif 912 913 #endif 914 915 HRESULT STDMETHODCALLTYPE IAudioSessionManager_GetAudioSessionControl_Proxy( 916 IAudioSessionManager* This, 917 LPCGUID AudioSessionGuid, 918 DWORD StreamFlags, 919 IAudioSessionControl **SessionControl); 920 void __RPC_STUB IAudioSessionManager_GetAudioSessionControl_Stub( 921 IRpcStubBuffer* This, 922 IRpcChannelBuffer* pRpcChannelBuffer, 923 PRPC_MESSAGE pRpcMessage, 924 DWORD* pdwStubPhase); 925 HRESULT STDMETHODCALLTYPE IAudioSessionManager_GetSimpleAudioVolume_Proxy( 926 IAudioSessionManager* This, 927 LPCGUID AudioSessionGuid, 928 DWORD StreamFlags, 929 ISimpleAudioVolume **AudioVolume); 930 void __RPC_STUB IAudioSessionManager_GetSimpleAudioVolume_Stub( 931 IRpcStubBuffer* This, 932 IRpcChannelBuffer* pRpcChannelBuffer, 933 PRPC_MESSAGE pRpcMessage, 934 DWORD* pdwStubPhase); 935 936 #endif /* __IAudioSessionManager_INTERFACE_DEFINED__ */ 937 938 /***************************************************************************** 939 * IAudioVolumeDuckNotification interface 940 */ 941 #ifndef __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ 942 #define __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ 943 944 DEFINE_GUID(IID_IAudioVolumeDuckNotification, 0xc3b284d4, 0x6d39, 0x4359, 0xb3,0xcf, 0xb5,0x6d,0xdb,0x3b,0xb3,0x9c); 945 #if defined(__cplusplus) && !defined(CINTERFACE) 946 MIDL_INTERFACE("c3b284d4-6d39-4359-b3cf-b56ddb3bb39c") 947 IAudioVolumeDuckNotification : public IUnknown 948 { 949 virtual HRESULT STDMETHODCALLTYPE OnVolumeDuckNotification( 950 LPCWSTR sessionID, 951 UINT32 countCommunicationSessions) = 0; 952 953 virtual HRESULT STDMETHODCALLTYPE OnVolumeUnduckNotification( 954 LPCWSTR sessionID) = 0; 955 956 }; 957 #ifdef __CRT_UUID_DECL 958 __CRT_UUID_DECL(IAudioVolumeDuckNotification, 0xc3b284d4, 0x6d39, 0x4359, 0xb3,0xcf, 0xb5,0x6d,0xdb,0x3b,0xb3,0x9c) 959 #endif 960 #else 961 typedef struct IAudioVolumeDuckNotificationVtbl { 962 BEGIN_INTERFACE 963 964 /*** IUnknown methods ***/ 965 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 966 IAudioVolumeDuckNotification* This, 967 REFIID riid, 968 void **ppvObject); 969 970 ULONG (STDMETHODCALLTYPE *AddRef)( 971 IAudioVolumeDuckNotification* This); 972 973 ULONG (STDMETHODCALLTYPE *Release)( 974 IAudioVolumeDuckNotification* This); 975 976 /*** IAudioVolumeDuckNotification methods ***/ 977 HRESULT (STDMETHODCALLTYPE *OnVolumeDuckNotification)( 978 IAudioVolumeDuckNotification* This, 979 LPCWSTR sessionID, 980 UINT32 countCommunicationSessions); 981 982 HRESULT (STDMETHODCALLTYPE *OnVolumeUnduckNotification)( 983 IAudioVolumeDuckNotification* This, 984 LPCWSTR sessionID); 985 986 END_INTERFACE 987 } IAudioVolumeDuckNotificationVtbl; 988 interface IAudioVolumeDuckNotification { 989 CONST_VTBL IAudioVolumeDuckNotificationVtbl* lpVtbl; 990 }; 991 992 #ifdef COBJMACROS 993 #ifndef WIDL_C_INLINE_WRAPPERS 994 /*** IUnknown methods ***/ 995 #define IAudioVolumeDuckNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 996 #define IAudioVolumeDuckNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 997 #define IAudioVolumeDuckNotification_Release(This) (This)->lpVtbl->Release(This) 998 /*** IAudioVolumeDuckNotification methods ***/ 999 #define IAudioVolumeDuckNotification_OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) (This)->lpVtbl->OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) 1000 #define IAudioVolumeDuckNotification_OnVolumeUnduckNotification(This,sessionID) (This)->lpVtbl->OnVolumeUnduckNotification(This,sessionID) 1001 #else 1002 /*** IUnknown methods ***/ 1003 static FORCEINLINE HRESULT IAudioVolumeDuckNotification_QueryInterface(IAudioVolumeDuckNotification* This,REFIID riid,void **ppvObject) { 1004 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1005 } 1006 static FORCEINLINE ULONG IAudioVolumeDuckNotification_AddRef(IAudioVolumeDuckNotification* This) { 1007 return This->lpVtbl->AddRef(This); 1008 } 1009 static FORCEINLINE ULONG IAudioVolumeDuckNotification_Release(IAudioVolumeDuckNotification* This) { 1010 return This->lpVtbl->Release(This); 1011 } 1012 /*** IAudioVolumeDuckNotification methods ***/ 1013 static FORCEINLINE HRESULT IAudioVolumeDuckNotification_OnVolumeDuckNotification(IAudioVolumeDuckNotification* This,LPCWSTR sessionID,UINT32 countCommunicationSessions) { 1014 return This->lpVtbl->OnVolumeDuckNotification(This,sessionID,countCommunicationSessions); 1015 } 1016 static FORCEINLINE HRESULT IAudioVolumeDuckNotification_OnVolumeUnduckNotification(IAudioVolumeDuckNotification* This,LPCWSTR sessionID) { 1017 return This->lpVtbl->OnVolumeUnduckNotification(This,sessionID); 1018 } 1019 #endif 1020 #endif 1021 1022 #endif 1023 1024 HRESULT STDMETHODCALLTYPE IAudioVolumeDuckNotification_OnVolumeDuckNotification_Proxy( 1025 IAudioVolumeDuckNotification* This, 1026 LPCWSTR sessionID, 1027 UINT32 countCommunicationSessions); 1028 void __RPC_STUB IAudioVolumeDuckNotification_OnVolumeDuckNotification_Stub( 1029 IRpcStubBuffer* This, 1030 IRpcChannelBuffer* pRpcChannelBuffer, 1031 PRPC_MESSAGE pRpcMessage, 1032 DWORD* pdwStubPhase); 1033 HRESULT STDMETHODCALLTYPE IAudioVolumeDuckNotification_OnVolumeUnduckNotification_Proxy( 1034 IAudioVolumeDuckNotification* This, 1035 LPCWSTR sessionID); 1036 void __RPC_STUB IAudioVolumeDuckNotification_OnVolumeUnduckNotification_Stub( 1037 IRpcStubBuffer* This, 1038 IRpcChannelBuffer* pRpcChannelBuffer, 1039 PRPC_MESSAGE pRpcMessage, 1040 DWORD* pdwStubPhase); 1041 1042 #endif /* __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ */ 1043 1044 /***************************************************************************** 1045 * IAudioSessionNotification interface 1046 */ 1047 #ifndef __IAudioSessionNotification_INTERFACE_DEFINED__ 1048 #define __IAudioSessionNotification_INTERFACE_DEFINED__ 1049 1050 DEFINE_GUID(IID_IAudioSessionNotification, 0x641dd20b, 0x4d41, 0x49cc, 0xab,0xa3, 0x17,0x4b,0x94,0x77,0xbb,0x08); 1051 #if defined(__cplusplus) && !defined(CINTERFACE) 1052 MIDL_INTERFACE("641dd20b-4d41-49cc-aba3-174b9477bb08") 1053 IAudioSessionNotification : public IUnknown 1054 { 1055 virtual HRESULT STDMETHODCALLTYPE OnSessionCreated( 1056 IAudioSessionControl *NewSession) = 0; 1057 1058 }; 1059 #ifdef __CRT_UUID_DECL 1060 __CRT_UUID_DECL(IAudioSessionNotification, 0x641dd20b, 0x4d41, 0x49cc, 0xab,0xa3, 0x17,0x4b,0x94,0x77,0xbb,0x08) 1061 #endif 1062 #else 1063 typedef struct IAudioSessionNotificationVtbl { 1064 BEGIN_INTERFACE 1065 1066 /*** IUnknown methods ***/ 1067 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1068 IAudioSessionNotification* This, 1069 REFIID riid, 1070 void **ppvObject); 1071 1072 ULONG (STDMETHODCALLTYPE *AddRef)( 1073 IAudioSessionNotification* This); 1074 1075 ULONG (STDMETHODCALLTYPE *Release)( 1076 IAudioSessionNotification* This); 1077 1078 /*** IAudioSessionNotification methods ***/ 1079 HRESULT (STDMETHODCALLTYPE *OnSessionCreated)( 1080 IAudioSessionNotification* This, 1081 IAudioSessionControl *NewSession); 1082 1083 END_INTERFACE 1084 } IAudioSessionNotificationVtbl; 1085 interface IAudioSessionNotification { 1086 CONST_VTBL IAudioSessionNotificationVtbl* lpVtbl; 1087 }; 1088 1089 #ifdef COBJMACROS 1090 #ifndef WIDL_C_INLINE_WRAPPERS 1091 /*** IUnknown methods ***/ 1092 #define IAudioSessionNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1093 #define IAudioSessionNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 1094 #define IAudioSessionNotification_Release(This) (This)->lpVtbl->Release(This) 1095 /*** IAudioSessionNotification methods ***/ 1096 #define IAudioSessionNotification_OnSessionCreated(This,NewSession) (This)->lpVtbl->OnSessionCreated(This,NewSession) 1097 #else 1098 /*** IUnknown methods ***/ 1099 static FORCEINLINE HRESULT IAudioSessionNotification_QueryInterface(IAudioSessionNotification* This,REFIID riid,void **ppvObject) { 1100 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1101 } 1102 static FORCEINLINE ULONG IAudioSessionNotification_AddRef(IAudioSessionNotification* This) { 1103 return This->lpVtbl->AddRef(This); 1104 } 1105 static FORCEINLINE ULONG IAudioSessionNotification_Release(IAudioSessionNotification* This) { 1106 return This->lpVtbl->Release(This); 1107 } 1108 /*** IAudioSessionNotification methods ***/ 1109 static FORCEINLINE HRESULT IAudioSessionNotification_OnSessionCreated(IAudioSessionNotification* This,IAudioSessionControl *NewSession) { 1110 return This->lpVtbl->OnSessionCreated(This,NewSession); 1111 } 1112 #endif 1113 #endif 1114 1115 #endif 1116 1117 HRESULT STDMETHODCALLTYPE IAudioSessionNotification_OnSessionCreated_Proxy( 1118 IAudioSessionNotification* This, 1119 IAudioSessionControl *NewSession); 1120 void __RPC_STUB IAudioSessionNotification_OnSessionCreated_Stub( 1121 IRpcStubBuffer* This, 1122 IRpcChannelBuffer* pRpcChannelBuffer, 1123 PRPC_MESSAGE pRpcMessage, 1124 DWORD* pdwStubPhase); 1125 1126 #endif /* __IAudioSessionNotification_INTERFACE_DEFINED__ */ 1127 1128 /***************************************************************************** 1129 * IAudioSessionEnumerator interface 1130 */ 1131 #ifndef __IAudioSessionEnumerator_INTERFACE_DEFINED__ 1132 #define __IAudioSessionEnumerator_INTERFACE_DEFINED__ 1133 1134 DEFINE_GUID(IID_IAudioSessionEnumerator, 0xe2f5bb11, 0x0570, 0x40ca, 0xac,0xdd, 0x3a,0xa0,0x12,0x77,0xde,0xe8); 1135 #if defined(__cplusplus) && !defined(CINTERFACE) 1136 MIDL_INTERFACE("e2f5bb11-0570-40ca-acdd-3aa01277dee8") 1137 IAudioSessionEnumerator : public IUnknown 1138 { 1139 virtual HRESULT STDMETHODCALLTYPE GetCount( 1140 INT *SessionCount) = 0; 1141 1142 virtual HRESULT STDMETHODCALLTYPE GetSession( 1143 INT SessionCount, 1144 IAudioSessionControl **Session) = 0; 1145 1146 }; 1147 #ifdef __CRT_UUID_DECL 1148 __CRT_UUID_DECL(IAudioSessionEnumerator, 0xe2f5bb11, 0x0570, 0x40ca, 0xac,0xdd, 0x3a,0xa0,0x12,0x77,0xde,0xe8) 1149 #endif 1150 #else 1151 typedef struct IAudioSessionEnumeratorVtbl { 1152 BEGIN_INTERFACE 1153 1154 /*** IUnknown methods ***/ 1155 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1156 IAudioSessionEnumerator* This, 1157 REFIID riid, 1158 void **ppvObject); 1159 1160 ULONG (STDMETHODCALLTYPE *AddRef)( 1161 IAudioSessionEnumerator* This); 1162 1163 ULONG (STDMETHODCALLTYPE *Release)( 1164 IAudioSessionEnumerator* This); 1165 1166 /*** IAudioSessionEnumerator methods ***/ 1167 HRESULT (STDMETHODCALLTYPE *GetCount)( 1168 IAudioSessionEnumerator* This, 1169 INT *SessionCount); 1170 1171 HRESULT (STDMETHODCALLTYPE *GetSession)( 1172 IAudioSessionEnumerator* This, 1173 INT SessionCount, 1174 IAudioSessionControl **Session); 1175 1176 END_INTERFACE 1177 } IAudioSessionEnumeratorVtbl; 1178 interface IAudioSessionEnumerator { 1179 CONST_VTBL IAudioSessionEnumeratorVtbl* lpVtbl; 1180 }; 1181 1182 #ifdef COBJMACROS 1183 #ifndef WIDL_C_INLINE_WRAPPERS 1184 /*** IUnknown methods ***/ 1185 #define IAudioSessionEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1186 #define IAudioSessionEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) 1187 #define IAudioSessionEnumerator_Release(This) (This)->lpVtbl->Release(This) 1188 /*** IAudioSessionEnumerator methods ***/ 1189 #define IAudioSessionEnumerator_GetCount(This,SessionCount) (This)->lpVtbl->GetCount(This,SessionCount) 1190 #define IAudioSessionEnumerator_GetSession(This,SessionCount,Session) (This)->lpVtbl->GetSession(This,SessionCount,Session) 1191 #else 1192 /*** IUnknown methods ***/ 1193 static FORCEINLINE HRESULT IAudioSessionEnumerator_QueryInterface(IAudioSessionEnumerator* This,REFIID riid,void **ppvObject) { 1194 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1195 } 1196 static FORCEINLINE ULONG IAudioSessionEnumerator_AddRef(IAudioSessionEnumerator* This) { 1197 return This->lpVtbl->AddRef(This); 1198 } 1199 static FORCEINLINE ULONG IAudioSessionEnumerator_Release(IAudioSessionEnumerator* This) { 1200 return This->lpVtbl->Release(This); 1201 } 1202 /*** IAudioSessionEnumerator methods ***/ 1203 static FORCEINLINE HRESULT IAudioSessionEnumerator_GetCount(IAudioSessionEnumerator* This,INT *SessionCount) { 1204 return This->lpVtbl->GetCount(This,SessionCount); 1205 } 1206 static FORCEINLINE HRESULT IAudioSessionEnumerator_GetSession(IAudioSessionEnumerator* This,INT SessionCount,IAudioSessionControl **Session) { 1207 return This->lpVtbl->GetSession(This,SessionCount,Session); 1208 } 1209 #endif 1210 #endif 1211 1212 #endif 1213 1214 HRESULT STDMETHODCALLTYPE IAudioSessionEnumerator_GetCount_Proxy( 1215 IAudioSessionEnumerator* This, 1216 INT *SessionCount); 1217 void __RPC_STUB IAudioSessionEnumerator_GetCount_Stub( 1218 IRpcStubBuffer* This, 1219 IRpcChannelBuffer* pRpcChannelBuffer, 1220 PRPC_MESSAGE pRpcMessage, 1221 DWORD* pdwStubPhase); 1222 HRESULT STDMETHODCALLTYPE IAudioSessionEnumerator_GetSession_Proxy( 1223 IAudioSessionEnumerator* This, 1224 INT SessionCount, 1225 IAudioSessionControl **Session); 1226 void __RPC_STUB IAudioSessionEnumerator_GetSession_Stub( 1227 IRpcStubBuffer* This, 1228 IRpcChannelBuffer* pRpcChannelBuffer, 1229 PRPC_MESSAGE pRpcMessage, 1230 DWORD* pdwStubPhase); 1231 1232 #endif /* __IAudioSessionEnumerator_INTERFACE_DEFINED__ */ 1233 1234 /***************************************************************************** 1235 * IAudioSessionManager2 interface 1236 */ 1237 #ifndef __IAudioSessionManager2_INTERFACE_DEFINED__ 1238 #define __IAudioSessionManager2_INTERFACE_DEFINED__ 1239 1240 DEFINE_GUID(IID_IAudioSessionManager2, 0x77aa99a0, 0x1bd6, 0x484f, 0x8b,0xc7, 0x2c,0x65,0x4c,0x9a,0x9b,0x6f); 1241 #if defined(__cplusplus) && !defined(CINTERFACE) 1242 MIDL_INTERFACE("77aa99a0-1bd6-484f-8bc7-2c654c9a9b6f") 1243 IAudioSessionManager2 : public IAudioSessionManager 1244 { 1245 virtual HRESULT STDMETHODCALLTYPE GetSessionEnumerator( 1246 IAudioSessionEnumerator **SessionEnum) = 0; 1247 1248 virtual HRESULT STDMETHODCALLTYPE RegisterSessionNotification( 1249 IAudioSessionNotification *SessionNotification) = 0; 1250 1251 virtual HRESULT STDMETHODCALLTYPE UnregisterSessionNotification( 1252 IAudioSessionNotification *SessionNotification) = 0; 1253 1254 virtual HRESULT STDMETHODCALLTYPE RegisterDuckNotification( 1255 LPCWSTR sessionID, 1256 IAudioVolumeDuckNotification *duckNotification) = 0; 1257 1258 virtual HRESULT STDMETHODCALLTYPE UnregisterDuckNotification( 1259 IAudioVolumeDuckNotification *duckNotification) = 0; 1260 1261 }; 1262 #ifdef __CRT_UUID_DECL 1263 __CRT_UUID_DECL(IAudioSessionManager2, 0x77aa99a0, 0x1bd6, 0x484f, 0x8b,0xc7, 0x2c,0x65,0x4c,0x9a,0x9b,0x6f) 1264 #endif 1265 #else 1266 typedef struct IAudioSessionManager2Vtbl { 1267 BEGIN_INTERFACE 1268 1269 /*** IUnknown methods ***/ 1270 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1271 IAudioSessionManager2* This, 1272 REFIID riid, 1273 void **ppvObject); 1274 1275 ULONG (STDMETHODCALLTYPE *AddRef)( 1276 IAudioSessionManager2* This); 1277 1278 ULONG (STDMETHODCALLTYPE *Release)( 1279 IAudioSessionManager2* This); 1280 1281 /*** IAudioSessionManager methods ***/ 1282 HRESULT (STDMETHODCALLTYPE *GetAudioSessionControl)( 1283 IAudioSessionManager2* This, 1284 LPCGUID AudioSessionGuid, 1285 DWORD StreamFlags, 1286 IAudioSessionControl **SessionControl); 1287 1288 HRESULT (STDMETHODCALLTYPE *GetSimpleAudioVolume)( 1289 IAudioSessionManager2* This, 1290 LPCGUID AudioSessionGuid, 1291 DWORD StreamFlags, 1292 ISimpleAudioVolume **AudioVolume); 1293 1294 /*** IAudioSessionManager2 methods ***/ 1295 HRESULT (STDMETHODCALLTYPE *GetSessionEnumerator)( 1296 IAudioSessionManager2* This, 1297 IAudioSessionEnumerator **SessionEnum); 1298 1299 HRESULT (STDMETHODCALLTYPE *RegisterSessionNotification)( 1300 IAudioSessionManager2* This, 1301 IAudioSessionNotification *SessionNotification); 1302 1303 HRESULT (STDMETHODCALLTYPE *UnregisterSessionNotification)( 1304 IAudioSessionManager2* This, 1305 IAudioSessionNotification *SessionNotification); 1306 1307 HRESULT (STDMETHODCALLTYPE *RegisterDuckNotification)( 1308 IAudioSessionManager2* This, 1309 LPCWSTR sessionID, 1310 IAudioVolumeDuckNotification *duckNotification); 1311 1312 HRESULT (STDMETHODCALLTYPE *UnregisterDuckNotification)( 1313 IAudioSessionManager2* This, 1314 IAudioVolumeDuckNotification *duckNotification); 1315 1316 END_INTERFACE 1317 } IAudioSessionManager2Vtbl; 1318 interface IAudioSessionManager2 { 1319 CONST_VTBL IAudioSessionManager2Vtbl* lpVtbl; 1320 }; 1321 1322 #ifdef COBJMACROS 1323 #ifndef WIDL_C_INLINE_WRAPPERS 1324 /*** IUnknown methods ***/ 1325 #define IAudioSessionManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1326 #define IAudioSessionManager2_AddRef(This) (This)->lpVtbl->AddRef(This) 1327 #define IAudioSessionManager2_Release(This) (This)->lpVtbl->Release(This) 1328 /*** IAudioSessionManager methods ***/ 1329 #define IAudioSessionManager2_GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) (This)->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) 1330 #define IAudioSessionManager2_GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) (This)->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) 1331 /*** IAudioSessionManager2 methods ***/ 1332 #define IAudioSessionManager2_GetSessionEnumerator(This,SessionEnum) (This)->lpVtbl->GetSessionEnumerator(This,SessionEnum) 1333 #define IAudioSessionManager2_RegisterSessionNotification(This,SessionNotification) (This)->lpVtbl->RegisterSessionNotification(This,SessionNotification) 1334 #define IAudioSessionManager2_UnregisterSessionNotification(This,SessionNotification) (This)->lpVtbl->UnregisterSessionNotification(This,SessionNotification) 1335 #define IAudioSessionManager2_RegisterDuckNotification(This,sessionID,duckNotification) (This)->lpVtbl->RegisterDuckNotification(This,sessionID,duckNotification) 1336 #define IAudioSessionManager2_UnregisterDuckNotification(This,duckNotification) (This)->lpVtbl->UnregisterDuckNotification(This,duckNotification) 1337 #else 1338 /*** IUnknown methods ***/ 1339 static FORCEINLINE HRESULT IAudioSessionManager2_QueryInterface(IAudioSessionManager2* This,REFIID riid,void **ppvObject) { 1340 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1341 } 1342 static FORCEINLINE ULONG IAudioSessionManager2_AddRef(IAudioSessionManager2* This) { 1343 return This->lpVtbl->AddRef(This); 1344 } 1345 static FORCEINLINE ULONG IAudioSessionManager2_Release(IAudioSessionManager2* This) { 1346 return This->lpVtbl->Release(This); 1347 } 1348 /*** IAudioSessionManager methods ***/ 1349 static FORCEINLINE HRESULT IAudioSessionManager2_GetAudioSessionControl(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { 1350 return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); 1351 } 1352 static FORCEINLINE HRESULT IAudioSessionManager2_GetSimpleAudioVolume(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,ISimpleAudioVolume **AudioVolume) { 1353 return This->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume); 1354 } 1355 /*** IAudioSessionManager2 methods ***/ 1356 static FORCEINLINE HRESULT IAudioSessionManager2_GetSessionEnumerator(IAudioSessionManager2* This,IAudioSessionEnumerator **SessionEnum) { 1357 return This->lpVtbl->GetSessionEnumerator(This,SessionEnum); 1358 } 1359 static FORCEINLINE HRESULT IAudioSessionManager2_RegisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { 1360 return This->lpVtbl->RegisterSessionNotification(This,SessionNotification); 1361 } 1362 static FORCEINLINE HRESULT IAudioSessionManager2_UnregisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { 1363 return This->lpVtbl->UnregisterSessionNotification(This,SessionNotification); 1364 } 1365 static FORCEINLINE HRESULT IAudioSessionManager2_RegisterDuckNotification(IAudioSessionManager2* This,LPCWSTR sessionID,IAudioVolumeDuckNotification *duckNotification) { 1366 return This->lpVtbl->RegisterDuckNotification(This,sessionID,duckNotification); 1367 } 1368 static FORCEINLINE HRESULT IAudioSessionManager2_UnregisterDuckNotification(IAudioSessionManager2* This,IAudioVolumeDuckNotification *duckNotification) { 1369 return This->lpVtbl->UnregisterDuckNotification(This,duckNotification); 1370 } 1371 #endif 1372 #endif 1373 1374 #endif 1375 1376 HRESULT STDMETHODCALLTYPE IAudioSessionManager2_GetSessionEnumerator_Proxy( 1377 IAudioSessionManager2* This, 1378 IAudioSessionEnumerator **SessionEnum); 1379 void __RPC_STUB IAudioSessionManager2_GetSessionEnumerator_Stub( 1380 IRpcStubBuffer* This, 1381 IRpcChannelBuffer* pRpcChannelBuffer, 1382 PRPC_MESSAGE pRpcMessage, 1383 DWORD* pdwStubPhase); 1384 HRESULT STDMETHODCALLTYPE IAudioSessionManager2_RegisterSessionNotification_Proxy( 1385 IAudioSessionManager2* This, 1386 IAudioSessionNotification *SessionNotification); 1387 void __RPC_STUB IAudioSessionManager2_RegisterSessionNotification_Stub( 1388 IRpcStubBuffer* This, 1389 IRpcChannelBuffer* pRpcChannelBuffer, 1390 PRPC_MESSAGE pRpcMessage, 1391 DWORD* pdwStubPhase); 1392 HRESULT STDMETHODCALLTYPE IAudioSessionManager2_UnregisterSessionNotification_Proxy( 1393 IAudioSessionManager2* This, 1394 IAudioSessionNotification *SessionNotification); 1395 void __RPC_STUB IAudioSessionManager2_UnregisterSessionNotification_Stub( 1396 IRpcStubBuffer* This, 1397 IRpcChannelBuffer* pRpcChannelBuffer, 1398 PRPC_MESSAGE pRpcMessage, 1399 DWORD* pdwStubPhase); 1400 HRESULT STDMETHODCALLTYPE IAudioSessionManager2_RegisterDuckNotification_Proxy( 1401 IAudioSessionManager2* This, 1402 LPCWSTR sessionID, 1403 IAudioVolumeDuckNotification *duckNotification); 1404 void __RPC_STUB IAudioSessionManager2_RegisterDuckNotification_Stub( 1405 IRpcStubBuffer* This, 1406 IRpcChannelBuffer* pRpcChannelBuffer, 1407 PRPC_MESSAGE pRpcMessage, 1408 DWORD* pdwStubPhase); 1409 HRESULT STDMETHODCALLTYPE IAudioSessionManager2_UnregisterDuckNotification_Proxy( 1410 IAudioSessionManager2* This, 1411 IAudioVolumeDuckNotification *duckNotification); 1412 void __RPC_STUB IAudioSessionManager2_UnregisterDuckNotification_Stub( 1413 IRpcStubBuffer* This, 1414 IRpcChannelBuffer* pRpcChannelBuffer, 1415 PRPC_MESSAGE pRpcMessage, 1416 DWORD* pdwStubPhase); 1417 1418 #endif /* __IAudioSessionManager2_INTERFACE_DEFINED__ */ 1419 1420 /* Begin additional prototypes for all interfaces */ 1421 1422 1423 /* End additional prototypes */ 1424 1425 #ifdef __cplusplus 1426 } 1427 #endif 1428 1429 #endif /* __audiopolicy_h__ */ 1430