| /*** Autogenerated by WIDL 4.12.1 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 FORCEINLINE HRESULT IAudioSessionEvents_QueryInterface(IAudioSessionEvents* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionEvents_AddRef(IAudioSessionEvents* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionEvents_Release(IAudioSessionEvents* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionEvents methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnDisplayNameChanged(IAudioSessionEvents* This,LPCWSTR NewDisplayName,LPCGUID EventContext) { |
| return This->lpVtbl->OnDisplayNameChanged(This,NewDisplayName,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnIconPathChanged(IAudioSessionEvents* This,LPCWSTR NewIconPath,LPCGUID EventContext) { |
| return This->lpVtbl->OnIconPathChanged(This,NewIconPath,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnSimpleVolumeChanged(IAudioSessionEvents* This,float NewVolume,WINBOOL NewMute,LPCGUID EventContext) { |
| return This->lpVtbl->OnSimpleVolumeChanged(This,NewVolume,NewMute,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnChannelVolumeChanged(IAudioSessionEvents* This,DWORD ChannelCount,float NewChannelVolumeArray[],DWORD ChangedChannel,LPCGUID EventContext) { |
| return This->lpVtbl->OnChannelVolumeChanged(This,ChannelCount,NewChannelVolumeArray,ChangedChannel,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnGroupingParamChanged(IAudioSessionEvents* This,LPCGUID NewGroupingParam,LPCGUID EventContext) { |
| return This->lpVtbl->OnGroupingParamChanged(This,NewGroupingParam,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionEvents_OnStateChanged(IAudioSessionEvents* This,AudioSessionState NewState) { |
| return This->lpVtbl->OnStateChanged(This,NewState); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionControl_QueryInterface(IAudioSessionControl* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionControl_AddRef(IAudioSessionControl* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionControl_Release(IAudioSessionControl* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionControl methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionControl_GetState(IAudioSessionControl* This,AudioSessionState *pRetVal) { |
| return This->lpVtbl->GetState(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_GetDisplayName(IAudioSessionControl* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetDisplayName(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_SetDisplayName(IAudioSessionControl* This,LPCWSTR Value,LPCGUID EventContext) { |
| return This->lpVtbl->SetDisplayName(This,Value,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_GetIconPath(IAudioSessionControl* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetIconPath(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_SetIconPath(IAudioSessionControl* This,LPCWSTR Value,LPCGUID EventContext) { |
| return This->lpVtbl->SetIconPath(This,Value,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_GetGroupingParam(IAudioSessionControl* This,GUID *pRetVal) { |
| return This->lpVtbl->GetGroupingParam(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_SetGroupingParam(IAudioSessionControl* This,LPCGUID Override,LPCGUID EventContext) { |
| return This->lpVtbl->SetGroupingParam(This,Override,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl_RegisterAudioSessionNotification(IAudioSessionControl* This,IAudioSessionEvents *NewNotifications) { |
| return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionControl2_QueryInterface(IAudioSessionControl2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionControl2_AddRef(IAudioSessionControl2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionControl2_Release(IAudioSessionControl2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionControl methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetState(IAudioSessionControl2* This,AudioSessionState *pRetVal) { |
| return This->lpVtbl->GetState(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetDisplayName(IAudioSessionControl2* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetDisplayName(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_SetDisplayName(IAudioSessionControl2* This,LPCWSTR Value,LPCGUID EventContext) { |
| return This->lpVtbl->SetDisplayName(This,Value,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetIconPath(IAudioSessionControl2* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetIconPath(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_SetIconPath(IAudioSessionControl2* This,LPCWSTR Value,LPCGUID EventContext) { |
| return This->lpVtbl->SetIconPath(This,Value,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetGroupingParam(IAudioSessionControl2* This,GUID *pRetVal) { |
| return This->lpVtbl->GetGroupingParam(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_SetGroupingParam(IAudioSessionControl2* This,LPCGUID Override,LPCGUID EventContext) { |
| return This->lpVtbl->SetGroupingParam(This,Override,EventContext); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_RegisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { |
| return This->lpVtbl->RegisterAudioSessionNotification(This,NewNotifications); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_UnregisterAudioSessionNotification(IAudioSessionControl2* This,IAudioSessionEvents *NewNotifications) { |
| return This->lpVtbl->UnregisterAudioSessionNotification(This,NewNotifications); |
| } |
| /*** IAudioSessionControl2 methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetSessionIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetSessionIdentifier(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetSessionInstanceIdentifier(IAudioSessionControl2* This,LPWSTR *pRetVal) { |
| return This->lpVtbl->GetSessionInstanceIdentifier(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_GetProcessId(IAudioSessionControl2* This,DWORD *pRetVal) { |
| return This->lpVtbl->GetProcessId(This,pRetVal); |
| } |
| static FORCEINLINE HRESULT IAudioSessionControl2_IsSystemSoundsSession(IAudioSessionControl2* This) { |
| return This->lpVtbl->IsSystemSoundsSession(This); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionManager_QueryInterface(IAudioSessionManager* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionManager_AddRef(IAudioSessionManager* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionManager_Release(IAudioSessionManager* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionManager methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionManager_GetAudioSessionControl(IAudioSessionManager* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { |
| return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioVolumeDuckNotification_QueryInterface(IAudioVolumeDuckNotification* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioVolumeDuckNotification_AddRef(IAudioVolumeDuckNotification* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioVolumeDuckNotification_Release(IAudioVolumeDuckNotification* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioVolumeDuckNotification methods ***/ |
| static FORCEINLINE HRESULT IAudioVolumeDuckNotification_OnVolumeDuckNotification(IAudioVolumeDuckNotification* This,LPCWSTR sessionID,UINT32 countCommunicationSessions) { |
| return This->lpVtbl->OnVolumeDuckNotification(This,sessionID,countCommunicationSessions); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionNotification_QueryInterface(IAudioSessionNotification* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionNotification_AddRef(IAudioSessionNotification* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionNotification_Release(IAudioSessionNotification* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionNotification methods ***/ |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionEnumerator_QueryInterface(IAudioSessionEnumerator* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionEnumerator_AddRef(IAudioSessionEnumerator* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionEnumerator_Release(IAudioSessionEnumerator* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionEnumerator methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionEnumerator_GetCount(IAudioSessionEnumerator* This,int *SessionCount) { |
| return This->lpVtbl->GetCount(This,SessionCount); |
| } |
| static FORCEINLINE 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 FORCEINLINE HRESULT IAudioSessionManager2_QueryInterface(IAudioSessionManager2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IAudioSessionManager2_AddRef(IAudioSessionManager2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IAudioSessionManager2_Release(IAudioSessionManager2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IAudioSessionManager methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionManager2_GetAudioSessionControl(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,IAudioSessionControl **SessionControl) { |
| return This->lpVtbl->GetAudioSessionControl(This,AudioSessionGuid,StreamFlags,SessionControl); |
| } |
| static FORCEINLINE HRESULT IAudioSessionManager2_GetSimpleAudioVolume(IAudioSessionManager2* This,LPCGUID AudioSessionGuid,DWORD StreamFlags,ISimpleAudioVolume **AudioVolume) { |
| return This->lpVtbl->GetSimpleAudioVolume(This,AudioSessionGuid,StreamFlags,AudioVolume); |
| } |
| /*** IAudioSessionManager2 methods ***/ |
| static FORCEINLINE HRESULT IAudioSessionManager2_GetSessionEnumerator(IAudioSessionManager2* This,IAudioSessionEnumerator **SessionEnum) { |
| return This->lpVtbl->GetSessionEnumerator(This,SessionEnum); |
| } |
| static FORCEINLINE HRESULT IAudioSessionManager2_RegisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { |
| return This->lpVtbl->RegisterSessionNotification(This,SessionNotification); |
| } |
| static FORCEINLINE HRESULT IAudioSessionManager2_UnregisterSessionNotification(IAudioSessionManager2* This,IAudioSessionNotification *SessionNotification) { |
| return This->lpVtbl->UnregisterSessionNotification(This,SessionNotification); |
| } |
| static FORCEINLINE HRESULT IAudioSessionManager2_RegisterDuckNotification(IAudioSessionManager2* This,LPCWSTR sessionID,IAudioVolumeDuckNotification *duckNotification) { |
| return This->lpVtbl->RegisterDuckNotification(This,sessionID,duckNotification); |
| } |
| static FORCEINLINE 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__ */ |