/*** Autogenerated by WIDL 6.4 from include/audiopolicy.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #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 #include #include #include #include #ifdef __cplusplus extern "C" { #endif #include #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__ */