| /*** Autogenerated by WIDL 11.12 from include/audiopolicy.idl - Do not edit ***/ | |
| #ifdef _WIN32 | |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ | |
| #define __REQUIRED_RPCNDR_H_VERSION__ 475 | |
| #endif | |
| #include <rpc.h> | |
| #include <rpcndr.h> | |
| #endif | |
| #ifndef COM_NO_WINDOWS_H | |
| #include <windows.h> | |
| #include <ole2.h> | |
| #endif | |
| #ifndef __audiopolicy_h__ | |
| #define __audiopolicy_h__ | |
| /* Forward declarations */ | |
| #ifndef __IAudioSessionEvents_FWD_DEFINED__ | |
| #define __IAudioSessionEvents_FWD_DEFINED__ | |
| typedef interface IAudioSessionEvents IAudioSessionEvents; | |
| #ifdef __cplusplus | |
| interface IAudioSessionEvents; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionControl_FWD_DEFINED__ | |
| #define __IAudioSessionControl_FWD_DEFINED__ | |
| typedef interface IAudioSessionControl IAudioSessionControl; | |
| #ifdef __cplusplus | |
| interface IAudioSessionControl; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionControl2_FWD_DEFINED__ | |
| #define __IAudioSessionControl2_FWD_DEFINED__ | |
| typedef interface IAudioSessionControl2 IAudioSessionControl2; | |
| #ifdef __cplusplus | |
| interface IAudioSessionControl2; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionManager_FWD_DEFINED__ | |
| #define __IAudioSessionManager_FWD_DEFINED__ | |
| typedef interface IAudioSessionManager IAudioSessionManager; | |
| #ifdef __cplusplus | |
| interface IAudioSessionManager; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioVolumeDuckNotification_FWD_DEFINED__ | |
| #define __IAudioVolumeDuckNotification_FWD_DEFINED__ | |
| typedef interface IAudioVolumeDuckNotification IAudioVolumeDuckNotification; | |
| #ifdef __cplusplus | |
| interface IAudioVolumeDuckNotification; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionNotification_FWD_DEFINED__ | |
| #define __IAudioSessionNotification_FWD_DEFINED__ | |
| typedef interface IAudioSessionNotification IAudioSessionNotification; | |
| #ifdef __cplusplus | |
| interface IAudioSessionNotification; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionEnumerator_FWD_DEFINED__ | |
| #define __IAudioSessionEnumerator_FWD_DEFINED__ | |
| typedef interface IAudioSessionEnumerator IAudioSessionEnumerator; | |
| #ifdef __cplusplus | |
| interface IAudioSessionEnumerator; | |
| #endif /* __cplusplus */ | |
| #endif | |
| #ifndef __IAudioSessionManager2_FWD_DEFINED__ | |
| #define __IAudioSessionManager2_FWD_DEFINED__ | |
| typedef interface IAudioSessionManager2 IAudioSessionManager2; | |
| #ifdef __cplusplus | |
| interface IAudioSessionManager2; | |
| #endif /* __cplusplus */ | |
| #endif | |
| /* Headers for imported files */ | |
| #include <oaidl.h> | |
| #include <ocidl.h> | |
| #include <propidl.h> | |
| #include <audiosessiontypes.h> | |
| #include <audioclient.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <winapifamily.h> | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | |
| typedef enum AudioSessionDisconnectReason { | |
| DisconnectReasonDeviceRemoval = 0, | |
| DisconnectReasonServerShutdown = 1, | |
| DisconnectReasonFormatChanged = 2, | |
| DisconnectReasonSessionLogoff = 3, | |
| DisconnectReasonSessionDisconnected = 4, | |
| DisconnectReasonExclusiveModeOverride = 5 | |
| } AudioSessionDisconnectReason; | |
| /***************************************************************************** | |
| * IAudioSessionEvents interface | |
| */ | |
| #ifndef __IAudioSessionEvents_INTERFACE_DEFINED__ | |
| #define __IAudioSessionEvents_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionEvents, 0x24918acc, 0x64b3, 0x37c1, 0x8c,0xa9, 0x74,0xa6,0x6e,0x99,0x57,0xa8); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("24918acc-64b3-37c1-8ca9-74a66e9957a8") | |
| IAudioSessionEvents : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE OnDisplayNameChanged( | |
| LPCWSTR NewDisplayName, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnIconPathChanged( | |
| LPCWSTR NewIconPath, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnSimpleVolumeChanged( | |
| float NewVolume, | |
| WINBOOL NewMute, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnChannelVolumeChanged( | |
| DWORD ChannelCount, | |
| float NewChannelVolumeArray[], | |
| DWORD ChangedChannel, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnGroupingParamChanged( | |
| LPCGUID NewGroupingParam, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnStateChanged( | |
| AudioSessionState NewState) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnSessionDisconnected( | |
| AudioSessionDisconnectReason DisconnectReason) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionEvents, 0x24918acc, 0x64b3, 0x37c1, 0x8c,0xa9, 0x74,0xa6,0x6e,0x99,0x57,0xa8) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionEventsVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionEvents *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionEvents *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionEvents *This); | |
| /*** IAudioSessionEvents methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *OnDisplayNameChanged)( | |
| IAudioSessionEvents *This, | |
| LPCWSTR NewDisplayName, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *OnIconPathChanged)( | |
| IAudioSessionEvents *This, | |
| LPCWSTR NewIconPath, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *OnSimpleVolumeChanged)( | |
| IAudioSessionEvents *This, | |
| float NewVolume, | |
| WINBOOL NewMute, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *OnChannelVolumeChanged)( | |
| IAudioSessionEvents *This, | |
| DWORD ChannelCount, | |
| float NewChannelVolumeArray[], | |
| DWORD ChangedChannel, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *OnGroupingParamChanged)( | |
| IAudioSessionEvents *This, | |
| LPCGUID NewGroupingParam, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *OnStateChanged)( | |
| IAudioSessionEvents *This, | |
| AudioSessionState NewState); | |
| HRESULT (STDMETHODCALLTYPE *OnSessionDisconnected)( | |
| IAudioSessionEvents *This, | |
| AudioSessionDisconnectReason DisconnectReason); | |
| END_INTERFACE | |
| } IAudioSessionEventsVtbl; | |
| interface IAudioSessionEvents { | |
| CONST_VTBL IAudioSessionEventsVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionEvents_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionEvents_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionEvents methods ***/ | |
| #define IAudioSessionEvents_OnDisplayNameChanged(This,NewDisplayName,EventContext) (This)->lpVtbl->OnDisplayNameChanged(This,NewDisplayName,EventContext) | |
| #define IAudioSessionEvents_OnIconPathChanged(This,NewIconPath,EventContext) (This)->lpVtbl->OnIconPathChanged(This,NewIconPath,EventContext) | |
| #define IAudioSessionEvents_OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext) (This)->lpVtbl->OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext) | |
| #define IAudioSessionEvents_OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext) (This)->lpVtbl->OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext) | |
| #define IAudioSessionEvents_OnGroupingParamChanged(This,NewGroupingParam,EventContext) (This)->lpVtbl->OnGroupingParamChanged(This,NewGroupingParam,EventContext) | |
| #define IAudioSessionEvents_OnStateChanged(This,NewState) (This)->lpVtbl->OnStateChanged(This,NewState) | |
| #define IAudioSessionEvents_OnSessionDisconnected(This,DisconnectReason) (This)->lpVtbl->OnSessionDisconnected(This,DisconnectReason) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionEvents_QueryInterface(IAudioSessionEvents* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionEvents_AddRef(IAudioSessionEvents* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionEvents_Release(IAudioSessionEvents* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionEvents methods ***/ | |
| static inline HRESULT IAudioSessionEvents_OnDisplayNameChanged(IAudioSessionEvents* This,LPCWSTR NewDisplayName,LPCGUID EventContext) { | |
| return This->lpVtbl->OnDisplayNameChanged(This,NewDisplayName,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnIconPathChanged(IAudioSessionEvents* This,LPCWSTR NewIconPath,LPCGUID EventContext) { | |
| return This->lpVtbl->OnIconPathChanged(This,NewIconPath,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnSimpleVolumeChanged(IAudioSessionEvents* This,float NewVolume,WINBOOL NewMute,LPCGUID EventContext) { | |
| return This->lpVtbl->OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnChannelVolumeChanged(IAudioSessionEvents* This,DWORD ChannelCount,float NewChannelVolumeArray[],DWORD ChangedChannel,LPCGUID EventContext) { | |
| return This->lpVtbl->OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnGroupingParamChanged(IAudioSessionEvents* This,LPCGUID NewGroupingParam,LPCGUID EventContext) { | |
| return This->lpVtbl->OnGroupingParamChanged(This,NewGroupingParam,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnStateChanged(IAudioSessionEvents* This,AudioSessionState NewState) { | |
| return This->lpVtbl->OnStateChanged(This,NewState); | |
| } | |
| static inline HRESULT IAudioSessionEvents_OnSessionDisconnected(IAudioSessionEvents* This,AudioSessionDisconnectReason DisconnectReason) { | |
| return This->lpVtbl->OnSessionDisconnected(This,DisconnectReason); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionEvents_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioSessionControl interface | |
| */ | |
| #ifndef __IAudioSessionControl_INTERFACE_DEFINED__ | |
| #define __IAudioSessionControl_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionControl, 0xf4b1a599, 0x7266, 0x4319, 0xa8,0xca, 0xe7,0x0a,0xcb,0x11,0xe8,0xcd); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("f4b1a599-7266-4319-a8ca-e70acb11e8cd") | |
| IAudioSessionControl : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE GetState( | |
| AudioSessionState *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetDisplayName( | |
| LPWSTR *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE SetDisplayName( | |
| LPCWSTR Value, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetIconPath( | |
| LPWSTR *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE SetIconPath( | |
| LPCWSTR Value, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetGroupingParam( | |
| GUID *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE SetGroupingParam( | |
| LPCGUID Override, | |
| LPCGUID EventContext) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE RegisterAudioSessionNotification( | |
| IAudioSessionEvents *NewNotifications) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE UnregisterAudioSessionNotification( | |
| IAudioSessionEvents *NewNotifications) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionControl, 0xf4b1a599, 0x7266, 0x4319, 0xa8,0xca, 0xe7,0x0a,0xcb,0x11,0xe8,0xcd) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionControlVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionControl *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionControl *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionControl *This); | |
| /*** IAudioSessionControl methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetState)( | |
| IAudioSessionControl *This, | |
| AudioSessionState *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *GetDisplayName)( | |
| IAudioSessionControl *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetDisplayName)( | |
| IAudioSessionControl *This, | |
| LPCWSTR Value, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *GetIconPath)( | |
| IAudioSessionControl *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetIconPath)( | |
| IAudioSessionControl *This, | |
| LPCWSTR Value, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *GetGroupingParam)( | |
| IAudioSessionControl *This, | |
| GUID *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetGroupingParam)( | |
| IAudioSessionControl *This, | |
| LPCGUID Override, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *RegisterAudioSessionNotification)( | |
| IAudioSessionControl *This, | |
| IAudioSessionEvents *NewNotifications); | |
| HRESULT (STDMETHODCALLTYPE *UnregisterAudioSessionNotification)( | |
| IAudioSessionControl *This, | |
| IAudioSessionEvents *NewNotifications); | |
| END_INTERFACE | |
| } IAudioSessionControlVtbl; | |
| interface IAudioSessionControl { | |
| CONST_VTBL IAudioSessionControlVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionControl_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionControl_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionControl methods ***/ | |
| #define IAudioSessionControl_GetState(This,pRetVal) (This)->lpVtbl->GetState(This,pRetVal) | |
| #define IAudioSessionControl_GetDisplayName(This,pRetVal) (This)->lpVtbl->GetDisplayName(This,pRetVal) | |
| #define IAudioSessionControl_SetDisplayName(This,Value,EventContext) (This)->lpVtbl->SetDisplayName(This,Value,EventContext) | |
| #define IAudioSessionControl_GetIconPath(This,pRetVal) (This)->lpVtbl->GetIconPath(This,pRetVal) | |
| #define IAudioSessionControl_SetIconPath(This,Value,EventContext) (This)->lpVtbl->SetIconPath(This,Value,EventContext) | |
| #define IAudioSessionControl_GetGroupingParam(This,pRetVal) (This)->lpVtbl->GetGroupingParam(This,pRetVal) | |
| #define IAudioSessionControl_SetGroupingParam(This,Override,EventContext) (This)->lpVtbl->SetGroupingParam(This,Override,EventContext) | |
| #define IAudioSessionControl_RegisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications) | |
| #define IAudioSessionControl_UnregisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionControl_QueryInterface(IAudioSessionControl* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionControl_AddRef(IAudioSessionControl* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionControl_Release(IAudioSessionControl* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionControl methods ***/ | |
| static inline HRESULT IAudioSessionControl_GetState(IAudioSessionControl* This,AudioSessionState *pRetVal) { | |
| return This->lpVtbl->GetState(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl_GetDisplayName(IAudioSessionControl* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetDisplayName(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl_SetDisplayName(IAudioSessionControl* This,LPCWSTR Value,LPCGUID EventContext) { | |
| return This->lpVtbl->SetDisplayName(This,Value,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl_GetIconPath(IAudioSessionControl* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetIconPath(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl_SetIconPath(IAudioSessionControl* This,LPCWSTR Value,LPCGUID EventContext) { | |
| return This->lpVtbl->SetIconPath(This,Value,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl_GetGroupingParam(IAudioSessionControl* This,GUID *pRetVal) { | |
| return This->lpVtbl->GetGroupingParam(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl_SetGroupingParam(IAudioSessionControl* This,LPCGUID Override,LPCGUID EventContext) { | |
| return This->lpVtbl->SetGroupingParam(This,Override,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl_RegisterAudioSessionNotification(IAudioSessionControl* This,IAudioSessionEvents *NewNotifications) { | |
| return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); | |
| } | |
| static inline HRESULT IAudioSessionControl_UnregisterAudioSessionNotification(IAudioSessionControl* This,IAudioSessionEvents *NewNotifications) { | |
| return This->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionControl_INTERFACE_DEFINED__ */ | |
| #endif | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | |
| /***************************************************************************** | |
| * IAudioSessionControl2 interface | |
| */ | |
| #ifndef __IAudioSessionControl2_INTERFACE_DEFINED__ | |
| #define __IAudioSessionControl2_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionControl2, 0xbfb7ff88, 0x7239, 0x4fc9, 0x8f,0xa2, 0x07,0xc9,0x50,0xbe,0x9c,0x6d); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("bfb7ff88-7239-4fc9-8fa2-07c950be9c6d") | |
| IAudioSessionControl2 : public IAudioSessionControl | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE GetSessionIdentifier( | |
| LPWSTR *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetSessionInstanceIdentifier( | |
| LPWSTR *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetProcessId( | |
| DWORD *pRetVal) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE IsSystemSoundsSession( | |
| ) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE SetDuckingPreference( | |
| WINBOOL optOut) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionControl2, 0xbfb7ff88, 0x7239, 0x4fc9, 0x8f,0xa2, 0x07,0xc9,0x50,0xbe,0x9c,0x6d) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionControl2Vtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionControl2 *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionControl2 *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionControl2 *This); | |
| /*** IAudioSessionControl methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetState)( | |
| IAudioSessionControl2 *This, | |
| AudioSessionState *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *GetDisplayName)( | |
| IAudioSessionControl2 *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetDisplayName)( | |
| IAudioSessionControl2 *This, | |
| LPCWSTR Value, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *GetIconPath)( | |
| IAudioSessionControl2 *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetIconPath)( | |
| IAudioSessionControl2 *This, | |
| LPCWSTR Value, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *GetGroupingParam)( | |
| IAudioSessionControl2 *This, | |
| GUID *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *SetGroupingParam)( | |
| IAudioSessionControl2 *This, | |
| LPCGUID Override, | |
| LPCGUID EventContext); | |
| HRESULT (STDMETHODCALLTYPE *RegisterAudioSessionNotification)( | |
| IAudioSessionControl2 *This, | |
| IAudioSessionEvents *NewNotifications); | |
| HRESULT (STDMETHODCALLTYPE *UnregisterAudioSessionNotification)( | |
| IAudioSessionControl2 *This, | |
| IAudioSessionEvents *NewNotifications); | |
| /*** IAudioSessionControl2 methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetSessionIdentifier)( | |
| IAudioSessionControl2 *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *GetSessionInstanceIdentifier)( | |
| IAudioSessionControl2 *This, | |
| LPWSTR *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *GetProcessId)( | |
| IAudioSessionControl2 *This, | |
| DWORD *pRetVal); | |
| HRESULT (STDMETHODCALLTYPE *IsSystemSoundsSession)( | |
| IAudioSessionControl2 *This); | |
| HRESULT (STDMETHODCALLTYPE *SetDuckingPreference)( | |
| IAudioSessionControl2 *This, | |
| WINBOOL optOut); | |
| END_INTERFACE | |
| } IAudioSessionControl2Vtbl; | |
| interface IAudioSessionControl2 { | |
| CONST_VTBL IAudioSessionControl2Vtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionControl2_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionControl2_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionControl methods ***/ | |
| #define IAudioSessionControl2_GetState(This,pRetVal) (This)->lpVtbl->GetState(This,pRetVal) | |
| #define IAudioSessionControl2_GetDisplayName(This,pRetVal) (This)->lpVtbl->GetDisplayName(This,pRetVal) | |
| #define IAudioSessionControl2_SetDisplayName(This,Value,EventContext) (This)->lpVtbl->SetDisplayName(This,Value,EventContext) | |
| #define IAudioSessionControl2_GetIconPath(This,pRetVal) (This)->lpVtbl->GetIconPath(This,pRetVal) | |
| #define IAudioSessionControl2_SetIconPath(This,Value,EventContext) (This)->lpVtbl->SetIconPath(This,Value,EventContext) | |
| #define IAudioSessionControl2_GetGroupingParam(This,pRetVal) (This)->lpVtbl->GetGroupingParam(This,pRetVal) | |
| #define IAudioSessionControl2_SetGroupingParam(This,Override,EventContext) (This)->lpVtbl->SetGroupingParam(This,Override,EventContext) | |
| #define IAudioSessionControl2_RegisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications) | |
| #define IAudioSessionControl2_UnregisterAudioSessionNotification(This,NewNotifications) (This)->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications) | |
| /*** IAudioSessionControl2 methods ***/ | |
| #define IAudioSessionControl2_GetSessionIdentifier(This,pRetVal) (This)->lpVtbl->GetSessionIdentifier(This,pRetVal) | |
| #define IAudioSessionControl2_GetSessionInstanceIdentifier(This,pRetVal) (This)->lpVtbl->GetSessionInstanceIdentifier(This,pRetVal) | |
| #define IAudioSessionControl2_GetProcessId(This,pRetVal) (This)->lpVtbl->GetProcessId(This,pRetVal) | |
| #define IAudioSessionControl2_IsSystemSoundsSession(This) (This)->lpVtbl->IsSystemSoundsSession(This) | |
| #define IAudioSessionControl2_SetDuckingPreference(This,optOut) (This)->lpVtbl->SetDuckingPreference(This,optOut) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionControl2_QueryInterface(IAudioSessionControl2* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionControl2_AddRef(IAudioSessionControl2* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionControl2_Release(IAudioSessionControl2* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionControl methods ***/ | |
| static inline HRESULT IAudioSessionControl2_GetState(IAudioSessionControl2* This,AudioSessionState *pRetVal) { | |
| return This->lpVtbl->GetState(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_GetDisplayName(IAudioSessionControl2* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetDisplayName(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_SetDisplayName(IAudioSessionControl2* This,LPCWSTR Value,LPCGUID EventContext) { | |
| return This->lpVtbl->SetDisplayName(This,Value,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl2_GetIconPath(IAudioSessionControl2* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetIconPath(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_SetIconPath(IAudioSessionControl2* This,LPCWSTR Value,LPCGUID EventContext) { | |
| return This->lpVtbl->SetIconPath(This,Value,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl2_GetGroupingParam(IAudioSessionControl2* This,GUID *pRetVal) { | |
| return This->lpVtbl->GetGroupingParam(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_SetGroupingParam(IAudioSessionControl2* This,LPCGUID Override,LPCGUID EventContext) { | |
| return This->lpVtbl->SetGroupingParam(This,Override,EventContext); | |
| } | |
| static inline HRESULT IAudioSessionControl2_RegisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { | |
| return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); | |
| } | |
| static inline HRESULT IAudioSessionControl2_UnregisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { | |
| return This->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications); | |
| } | |
| /*** IAudioSessionControl2 methods ***/ | |
| static inline HRESULT IAudioSessionControl2_GetSessionIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetSessionIdentifier(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_GetSessionInstanceIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { | |
| return This->lpVtbl->GetSessionInstanceIdentifier(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_GetProcessId(IAudioSessionControl2* This,DWORD *pRetVal) { | |
| return This->lpVtbl->GetProcessId(This,pRetVal); | |
| } | |
| static inline HRESULT IAudioSessionControl2_IsSystemSoundsSession(IAudioSessionControl2* This) { | |
| return This->lpVtbl->IsSystemSoundsSession(This); | |
| } | |
| static inline HRESULT IAudioSessionControl2_SetDuckingPreference(IAudioSessionControl2* This,WINBOOL optOut) { | |
| return This->lpVtbl->SetDuckingPreference(This,optOut); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionControl2_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioSessionManager interface | |
| */ | |
| #ifndef __IAudioSessionManager_INTERFACE_DEFINED__ | |
| #define __IAudioSessionManager_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionManager, 0xbfa971f1, 0x4d5e, 0x40bb, 0x93,0x5e, 0x96,0x70,0x39,0xbf,0xbe,0xe4); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("bfa971f1-4d5e-40bb-935e-967039bfbee4") | |
| IAudioSessionManager : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE GetAudioSessionControl( | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| IAudioSessionControl **SessionControl) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetSimpleAudioVolume( | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| ISimpleAudioVolume **AudioVolume) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionManager, 0xbfa971f1, 0x4d5e, 0x40bb, 0x93,0x5e, 0x96,0x70,0x39,0xbf,0xbe,0xe4) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionManagerVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionManager *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionManager *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionManager *This); | |
| /*** IAudioSessionManager methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetAudioSessionControl)( | |
| IAudioSessionManager *This, | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| IAudioSessionControl **SessionControl); | |
| HRESULT (STDMETHODCALLTYPE *GetSimpleAudioVolume)( | |
| IAudioSessionManager *This, | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| ISimpleAudioVolume **AudioVolume); | |
| END_INTERFACE | |
| } IAudioSessionManagerVtbl; | |
| interface IAudioSessionManager { | |
| CONST_VTBL IAudioSessionManagerVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionManager_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionManager_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionManager methods ***/ | |
| #define IAudioSessionManager_GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) (This)->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) | |
| #define IAudioSessionManager_GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) (This)->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionManager_QueryInterface(IAudioSessionManager* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionManager_AddRef(IAudioSessionManager* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionManager_Release(IAudioSessionManager* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionManager methods ***/ | |
| static inline HRESULT IAudioSessionManager_GetAudioSessionControl(IAudioSessionManager* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { | |
| return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); | |
| } | |
| static inline HRESULT IAudioSessionManager_GetSimpleAudioVolume(IAudioSessionManager* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,ISimpleAudioVolume **AudioVolume) { | |
| return This->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionManager_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioVolumeDuckNotification interface | |
| */ | |
| #ifndef __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ | |
| #define __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioVolumeDuckNotification, 0xc3b284d4, 0x6d39, 0x4359, 0xb3,0xcf, 0xb5,0x6d,0xdb,0x3b,0xb3,0x9c); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("c3b284d4-6d39-4359-b3cf-b56ddb3bb39c") | |
| IAudioVolumeDuckNotification : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE OnVolumeDuckNotification( | |
| LPCWSTR sessionID, | |
| UINT32 countCommunicationSessions) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE OnVolumeUnduckNotification( | |
| LPCWSTR sessionID) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioVolumeDuckNotification, 0xc3b284d4, 0x6d39, 0x4359, 0xb3,0xcf, 0xb5,0x6d,0xdb,0x3b,0xb3,0x9c) | |
| #endif | |
| #else | |
| typedef struct IAudioVolumeDuckNotificationVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioVolumeDuckNotification *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioVolumeDuckNotification *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioVolumeDuckNotification *This); | |
| /*** IAudioVolumeDuckNotification methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *OnVolumeDuckNotification)( | |
| IAudioVolumeDuckNotification *This, | |
| LPCWSTR sessionID, | |
| UINT32 countCommunicationSessions); | |
| HRESULT (STDMETHODCALLTYPE *OnVolumeUnduckNotification)( | |
| IAudioVolumeDuckNotification *This, | |
| LPCWSTR sessionID); | |
| END_INTERFACE | |
| } IAudioVolumeDuckNotificationVtbl; | |
| interface IAudioVolumeDuckNotification { | |
| CONST_VTBL IAudioVolumeDuckNotificationVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioVolumeDuckNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioVolumeDuckNotification_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioVolumeDuckNotification_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioVolumeDuckNotification methods ***/ | |
| #define IAudioVolumeDuckNotification_OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) (This)->lpVtbl->OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) | |
| #define IAudioVolumeDuckNotification_OnVolumeUnduckNotification(This,sessionID) (This)->lpVtbl->OnVolumeUnduckNotification(This,sessionID) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioVolumeDuckNotification_QueryInterface(IAudioVolumeDuckNotification* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioVolumeDuckNotification_AddRef(IAudioVolumeDuckNotification* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioVolumeDuckNotification_Release(IAudioVolumeDuckNotification* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioVolumeDuckNotification methods ***/ | |
| static inline HRESULT IAudioVolumeDuckNotification_OnVolumeDuckNotification(IAudioVolumeDuckNotification* This,LPCWSTR sessionID,UINT32 countCommunicationSessions) { | |
| return This->lpVtbl->OnVolumeDuckNotification(This,sessionID,countCommunicationSessions); | |
| } | |
| static inline HRESULT IAudioVolumeDuckNotification_OnVolumeUnduckNotification(IAudioVolumeDuckNotification* This,LPCWSTR sessionID) { | |
| return This->lpVtbl->OnVolumeUnduckNotification(This,sessionID); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioSessionNotification interface | |
| */ | |
| #ifndef __IAudioSessionNotification_INTERFACE_DEFINED__ | |
| #define __IAudioSessionNotification_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionNotification, 0x641dd20b, 0x4d41, 0x49cc, 0xab,0xa3, 0x17,0x4b,0x94,0x77,0xbb,0x08); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("641dd20b-4d41-49cc-aba3-174b9477bb08") | |
| IAudioSessionNotification : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE OnSessionCreated( | |
| IAudioSessionControl *NewSession) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionNotification, 0x641dd20b, 0x4d41, 0x49cc, 0xab,0xa3, 0x17,0x4b,0x94,0x77,0xbb,0x08) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionNotificationVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionNotification *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionNotification *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionNotification *This); | |
| /*** IAudioSessionNotification methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *OnSessionCreated)( | |
| IAudioSessionNotification *This, | |
| IAudioSessionControl *NewSession); | |
| END_INTERFACE | |
| } IAudioSessionNotificationVtbl; | |
| interface IAudioSessionNotification { | |
| CONST_VTBL IAudioSessionNotificationVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionNotification_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionNotification_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionNotification methods ***/ | |
| #define IAudioSessionNotification_OnSessionCreated(This,NewSession) (This)->lpVtbl->OnSessionCreated(This,NewSession) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionNotification_QueryInterface(IAudioSessionNotification* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionNotification_AddRef(IAudioSessionNotification* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionNotification_Release(IAudioSessionNotification* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionNotification methods ***/ | |
| static inline HRESULT IAudioSessionNotification_OnSessionCreated(IAudioSessionNotification* This,IAudioSessionControl *NewSession) { | |
| return This->lpVtbl->OnSessionCreated(This,NewSession); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionNotification_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioSessionEnumerator interface | |
| */ | |
| #ifndef __IAudioSessionEnumerator_INTERFACE_DEFINED__ | |
| #define __IAudioSessionEnumerator_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionEnumerator, 0xe2f5bb11, 0x0570, 0x40ca, 0xac,0xdd, 0x3a,0xa0,0x12,0x77,0xde,0xe8); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("e2f5bb11-0570-40ca-acdd-3aa01277dee8") | |
| IAudioSessionEnumerator : public IUnknown | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE GetCount( | |
| int *SessionCount) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE GetSession( | |
| int SessionCount, | |
| IAudioSessionControl **Session) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionEnumerator, 0xe2f5bb11, 0x0570, 0x40ca, 0xac,0xdd, 0x3a,0xa0,0x12,0x77,0xde,0xe8) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionEnumeratorVtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionEnumerator *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionEnumerator *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionEnumerator *This); | |
| /*** IAudioSessionEnumerator methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetCount)( | |
| IAudioSessionEnumerator *This, | |
| int *SessionCount); | |
| HRESULT (STDMETHODCALLTYPE *GetSession)( | |
| IAudioSessionEnumerator *This, | |
| int SessionCount, | |
| IAudioSessionControl **Session); | |
| END_INTERFACE | |
| } IAudioSessionEnumeratorVtbl; | |
| interface IAudioSessionEnumerator { | |
| CONST_VTBL IAudioSessionEnumeratorVtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionEnumerator_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionEnumerator methods ***/ | |
| #define IAudioSessionEnumerator_GetCount(This,SessionCount) (This)->lpVtbl->GetCount(This,SessionCount) | |
| #define IAudioSessionEnumerator_GetSession(This,SessionCount,Session) (This)->lpVtbl->GetSession(This,SessionCount,Session) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionEnumerator_QueryInterface(IAudioSessionEnumerator* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionEnumerator_AddRef(IAudioSessionEnumerator* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionEnumerator_Release(IAudioSessionEnumerator* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionEnumerator methods ***/ | |
| static inline HRESULT IAudioSessionEnumerator_GetCount(IAudioSessionEnumerator* This,int *SessionCount) { | |
| return This->lpVtbl->GetCount(This,SessionCount); | |
| } | |
| static inline HRESULT IAudioSessionEnumerator_GetSession(IAudioSessionEnumerator* This,int SessionCount,IAudioSessionControl **Session) { | |
| return This->lpVtbl->GetSession(This,SessionCount,Session); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionEnumerator_INTERFACE_DEFINED__ */ | |
| /***************************************************************************** | |
| * IAudioSessionManager2 interface | |
| */ | |
| #ifndef __IAudioSessionManager2_INTERFACE_DEFINED__ | |
| #define __IAudioSessionManager2_INTERFACE_DEFINED__ | |
| DEFINE_GUID(IID_IAudioSessionManager2, 0x77aa99a0, 0x1bd6, 0x484f, 0x8b,0xc7, 0x2c,0x65,0x4c,0x9a,0x9b,0x6f); | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | |
| MIDL_INTERFACE("77aa99a0-1bd6-484f-8bc7-2c654c9a9b6f") | |
| IAudioSessionManager2 : public IAudioSessionManager | |
| { | |
| virtual HRESULT STDMETHODCALLTYPE GetSessionEnumerator( | |
| IAudioSessionEnumerator **SessionEnum) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE RegisterSessionNotification( | |
| IAudioSessionNotification *SessionNotification) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE UnregisterSessionNotification( | |
| IAudioSessionNotification *SessionNotification) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE RegisterDuckNotification( | |
| LPCWSTR sessionID, | |
| IAudioVolumeDuckNotification *duckNotification) = 0; | |
| virtual HRESULT STDMETHODCALLTYPE UnregisterDuckNotification( | |
| IAudioVolumeDuckNotification *duckNotification) = 0; | |
| }; | |
| #ifdef __CRT_UUID_DECL | |
| __CRT_UUID_DECL(IAudioSessionManager2, 0x77aa99a0, 0x1bd6, 0x484f, 0x8b,0xc7, 0x2c,0x65,0x4c,0x9a,0x9b,0x6f) | |
| #endif | |
| #else | |
| typedef struct IAudioSessionManager2Vtbl { | |
| BEGIN_INTERFACE | |
| /*** IUnknown methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( | |
| IAudioSessionManager2 *This, | |
| REFIID riid, | |
| void **ppvObject); | |
| ULONG (STDMETHODCALLTYPE *AddRef)( | |
| IAudioSessionManager2 *This); | |
| ULONG (STDMETHODCALLTYPE *Release)( | |
| IAudioSessionManager2 *This); | |
| /*** IAudioSessionManager methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetAudioSessionControl)( | |
| IAudioSessionManager2 *This, | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| IAudioSessionControl **SessionControl); | |
| HRESULT (STDMETHODCALLTYPE *GetSimpleAudioVolume)( | |
| IAudioSessionManager2 *This, | |
| LPCGUID AudioSessionGuid, | |
| DWORD StreamFlags, | |
| ISimpleAudioVolume **AudioVolume); | |
| /*** IAudioSessionManager2 methods ***/ | |
| HRESULT (STDMETHODCALLTYPE *GetSessionEnumerator)( | |
| IAudioSessionManager2 *This, | |
| IAudioSessionEnumerator **SessionEnum); | |
| HRESULT (STDMETHODCALLTYPE *RegisterSessionNotification)( | |
| IAudioSessionManager2 *This, | |
| IAudioSessionNotification *SessionNotification); | |
| HRESULT (STDMETHODCALLTYPE *UnregisterSessionNotification)( | |
| IAudioSessionManager2 *This, | |
| IAudioSessionNotification *SessionNotification); | |
| HRESULT (STDMETHODCALLTYPE *RegisterDuckNotification)( | |
| IAudioSessionManager2 *This, | |
| LPCWSTR sessionID, | |
| IAudioVolumeDuckNotification *duckNotification); | |
| HRESULT (STDMETHODCALLTYPE *UnregisterDuckNotification)( | |
| IAudioSessionManager2 *This, | |
| IAudioVolumeDuckNotification *duckNotification); | |
| END_INTERFACE | |
| } IAudioSessionManager2Vtbl; | |
| interface IAudioSessionManager2 { | |
| CONST_VTBL IAudioSessionManager2Vtbl* lpVtbl; | |
| }; | |
| #ifdef COBJMACROS | |
| #ifndef WIDL_C_INLINE_WRAPPERS | |
| /*** IUnknown methods ***/ | |
| #define IAudioSessionManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | |
| #define IAudioSessionManager2_AddRef(This) (This)->lpVtbl->AddRef(This) | |
| #define IAudioSessionManager2_Release(This) (This)->lpVtbl->Release(This) | |
| /*** IAudioSessionManager methods ***/ | |
| #define IAudioSessionManager2_GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) (This)->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl) | |
| #define IAudioSessionManager2_GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) (This)->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume) | |
| /*** IAudioSessionManager2 methods ***/ | |
| #define IAudioSessionManager2_GetSessionEnumerator(This,SessionEnum) (This)->lpVtbl->GetSessionEnumerator(This,SessionEnum) | |
| #define IAudioSessionManager2_RegisterSessionNotification(This,SessionNotification) (This)->lpVtbl->RegisterSessionNotification(This,SessionNotification) | |
| #define IAudioSessionManager2_UnregisterSessionNotification(This,SessionNotification) (This)->lpVtbl->UnregisterSessionNotification(This,SessionNotification) | |
| #define IAudioSessionManager2_RegisterDuckNotification(This,sessionID,duckNotification) (This)->lpVtbl->RegisterDuckNotification(This,sessionID,duckNotification) | |
| #define IAudioSessionManager2_UnregisterDuckNotification(This,duckNotification) (This)->lpVtbl->UnregisterDuckNotification(This,duckNotification) | |
| #else | |
| /*** IUnknown methods ***/ | |
| static inline HRESULT IAudioSessionManager2_QueryInterface(IAudioSessionManager2* This,REFIID riid,void **ppvObject) { | |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); | |
| } | |
| static inline ULONG IAudioSessionManager2_AddRef(IAudioSessionManager2* This) { | |
| return This->lpVtbl->AddRef(This); | |
| } | |
| static inline ULONG IAudioSessionManager2_Release(IAudioSessionManager2* This) { | |
| return This->lpVtbl->Release(This); | |
| } | |
| /*** IAudioSessionManager methods ***/ | |
| static inline HRESULT IAudioSessionManager2_GetAudioSessionControl(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { | |
| return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); | |
| } | |
| static inline HRESULT IAudioSessionManager2_GetSimpleAudioVolume(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,ISimpleAudioVolume **AudioVolume) { | |
| return This->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume); | |
| } | |
| /*** IAudioSessionManager2 methods ***/ | |
| static inline HRESULT IAudioSessionManager2_GetSessionEnumerator(IAudioSessionManager2* This,IAudioSessionEnumerator **SessionEnum) { | |
| return This->lpVtbl->GetSessionEnumerator(This,SessionEnum); | |
| } | |
| static inline HRESULT IAudioSessionManager2_RegisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { | |
| return This->lpVtbl->RegisterSessionNotification(This,SessionNotification); | |
| } | |
| static inline HRESULT IAudioSessionManager2_UnregisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { | |
| return This->lpVtbl->UnregisterSessionNotification(This,SessionNotification); | |
| } | |
| static inline HRESULT IAudioSessionManager2_RegisterDuckNotification(IAudioSessionManager2* This,LPCWSTR sessionID,IAudioVolumeDuckNotification *duckNotification) { | |
| return This->lpVtbl->RegisterDuckNotification(This,sessionID,duckNotification); | |
| } | |
| static inline HRESULT IAudioSessionManager2_UnregisterDuckNotification(IAudioSessionManager2* This,IAudioVolumeDuckNotification *duckNotification) { | |
| return This->lpVtbl->UnregisterDuckNotification(This,duckNotification); | |
| } | |
| #endif | |
| #endif | |
| #endif | |
| #endif /* __IAudioSessionManager2_INTERFACE_DEFINED__ */ | |
| #endif | |
| /* Begin additional prototypes for all interfaces */ | |
| /* End additional prototypes */ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* __audiopolicy_h__ */ |