/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for audiopolicy.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __audiopolicy_h__ #define __audiopolicy_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IAudioSessionEvents_FWD_DEFINED__ #define __IAudioSessionEvents_FWD_DEFINED__ typedef interface IAudioSessionEvents IAudioSessionEvents; #endif /* __IAudioSessionEvents_FWD_DEFINED__ */ #ifndef __IAudioSessionControl_FWD_DEFINED__ #define __IAudioSessionControl_FWD_DEFINED__ typedef interface IAudioSessionControl IAudioSessionControl; #endif /* __IAudioSessionControl_FWD_DEFINED__ */ #ifndef __IAudioSessionControl2_FWD_DEFINED__ #define __IAudioSessionControl2_FWD_DEFINED__ typedef interface IAudioSessionControl2 IAudioSessionControl2; #endif /* __IAudioSessionControl2_FWD_DEFINED__ */ #ifndef __IAudioSessionManager_FWD_DEFINED__ #define __IAudioSessionManager_FWD_DEFINED__ typedef interface IAudioSessionManager IAudioSessionManager; #endif /* __IAudioSessionManager_FWD_DEFINED__ */ #ifndef __IAudioVolumeDuckNotification_FWD_DEFINED__ #define __IAudioVolumeDuckNotification_FWD_DEFINED__ typedef interface IAudioVolumeDuckNotification IAudioVolumeDuckNotification; #endif /* __IAudioVolumeDuckNotification_FWD_DEFINED__ */ #ifndef __IAudioSessionNotification_FWD_DEFINED__ #define __IAudioSessionNotification_FWD_DEFINED__ typedef interface IAudioSessionNotification IAudioSessionNotification; #endif /* __IAudioSessionNotification_FWD_DEFINED__ */ #ifndef __IAudioSessionEnumerator_FWD_DEFINED__ #define __IAudioSessionEnumerator_FWD_DEFINED__ typedef interface IAudioSessionEnumerator IAudioSessionEnumerator; #endif /* __IAudioSessionEnumerator_FWD_DEFINED__ */ #ifndef __IAudioSessionManager2_FWD_DEFINED__ #define __IAudioSessionManager2_FWD_DEFINED__ typedef interface IAudioSessionManager2 IAudioSessionManager2; #endif /* __IAudioSessionManager2_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" #include "ocidl.h" #include "propidl.h" #include "AudioSessionTypes.h" #include "AudioClient.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_audiopolicy_0000_0000 */ /* [local] */ typedef enum AudioSessionDisconnectReason { DisconnectReasonDeviceRemoval = 0, DisconnectReasonServerShutdown = ( DisconnectReasonDeviceRemoval + 1 ) , DisconnectReasonFormatChanged = ( DisconnectReasonServerShutdown + 1 ) , DisconnectReasonSessionLogoff = ( DisconnectReasonFormatChanged + 1 ) , DisconnectReasonSessionDisconnected = ( DisconnectReasonSessionLogoff + 1 ) , DisconnectReasonExclusiveModeOverride = ( DisconnectReasonSessionDisconnected + 1 ) } AudioSessionDisconnectReason; extern RPC_IF_HANDLE __MIDL_itf_audiopolicy_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_audiopolicy_0000_0000_v0_0_s_ifspec; #ifndef __IAudioSessionEvents_INTERFACE_DEFINED__ #define __IAudioSessionEvents_INTERFACE_DEFINED__ /* interface IAudioSessionEvents */ /* [local][uuid][unique][object] */ EXTERN_C const IID IID_IAudioSessionEvents; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("24918ACC-64B3-37C1-8CA9-74A66E9957A8") IAudioSessionEvents : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnDisplayNameChanged( /* [annotation][string][in] */ __in LPCWSTR NewDisplayName, /* [in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnIconPathChanged( /* [annotation][string][in] */ __in LPCWSTR NewIconPath, /* [in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnSimpleVolumeChanged( /* [annotation][in] */ __in float NewVolume, /* [annotation][in] */ __in BOOL NewMute, /* [in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnChannelVolumeChanged( /* [annotation][in] */ __in DWORD ChannelCount, /* [annotation][size_is][in] */ __in_ecount(ChannelCount) float NewChannelVolumeArray[ ], /* [annotation][in] */ __in DWORD ChangedChannel, /* [in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnGroupingParamChanged( /* [annotation][in] */ __in LPCGUID NewGroupingParam, /* [in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnStateChanged( /* [annotation][in] */ __in AudioSessionState NewState) = 0; virtual HRESULT STDMETHODCALLTYPE OnSessionDisconnected( /* [annotation][in] */ __in AudioSessionDisconnectReason DisconnectReason) = 0; }; #else /* C style interface */ typedef struct IAudioSessionEventsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionEvents * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionEvents * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionEvents * This); HRESULT ( STDMETHODCALLTYPE *OnDisplayNameChanged )( IAudioSessionEvents * This, /* [annotation][string][in] */ __in LPCWSTR NewDisplayName, /* [in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *OnIconPathChanged )( IAudioSessionEvents * This, /* [annotation][string][in] */ __in LPCWSTR NewIconPath, /* [in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *OnSimpleVolumeChanged )( IAudioSessionEvents * This, /* [annotation][in] */ __in float NewVolume, /* [annotation][in] */ __in BOOL NewMute, /* [in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *OnChannelVolumeChanged )( IAudioSessionEvents * This, /* [annotation][in] */ __in DWORD ChannelCount, /* [annotation][size_is][in] */ __in_ecount(ChannelCount) float NewChannelVolumeArray[ ], /* [annotation][in] */ __in DWORD ChangedChannel, /* [in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *OnGroupingParamChanged )( IAudioSessionEvents * This, /* [annotation][in] */ __in LPCGUID NewGroupingParam, /* [in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *OnStateChanged )( IAudioSessionEvents * This, /* [annotation][in] */ __in AudioSessionState NewState); HRESULT ( STDMETHODCALLTYPE *OnSessionDisconnected )( IAudioSessionEvents * This, /* [annotation][in] */ __in AudioSessionDisconnectReason DisconnectReason); END_INTERFACE } IAudioSessionEventsVtbl; interface IAudioSessionEvents { CONST_VTBL struct IAudioSessionEventsVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionEvents_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionControl_INTERFACE_DEFINED__ #define __IAudioSessionControl_INTERFACE_DEFINED__ /* interface IAudioSessionControl */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionControl; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("F4B1A599-7266-4319-A8CA-E70ACB11E8CD") IAudioSessionControl : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetState( /* [annotation][out] */ __out AudioSessionState *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayName( /* [annotation][string][out] */ __out LPWSTR *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE SetDisplayName( /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE GetIconPath( /* [annotation][string][out] */ __out LPWSTR *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE SetIconPath( /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE GetGroupingParam( /* [annotation][out] */ __out GUID *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE SetGroupingParam( /* [annotation][in] */ __in LPCGUID Override, /* [unique][in] */ LPCGUID EventContext) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterAudioSessionNotification( /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterAudioSessionNotification( /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications) = 0; }; #else /* C style interface */ typedef struct IAudioSessionControlVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionControl * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionControl * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionControl * This); HRESULT ( STDMETHODCALLTYPE *GetState )( IAudioSessionControl * This, /* [annotation][out] */ __out AudioSessionState *pRetVal); HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( IAudioSessionControl * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( IAudioSessionControl * This, /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *GetIconPath )( IAudioSessionControl * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetIconPath )( IAudioSessionControl * This, /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *GetGroupingParam )( IAudioSessionControl * This, /* [annotation][out] */ __out GUID *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetGroupingParam )( IAudioSessionControl * This, /* [annotation][in] */ __in LPCGUID Override, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *RegisterAudioSessionNotification )( IAudioSessionControl * This, /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications); HRESULT ( STDMETHODCALLTYPE *UnregisterAudioSessionNotification )( IAudioSessionControl * This, /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications); END_INTERFACE } IAudioSessionControlVtbl; interface IAudioSessionControl { CONST_VTBL struct IAudioSessionControlVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionControl_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionControl2_INTERFACE_DEFINED__ #define __IAudioSessionControl2_INTERFACE_DEFINED__ /* interface IAudioSessionControl2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionControl2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bfb7ff88-7239-4fc9-8fa2-07c950be9c6d") IAudioSessionControl2 : public IAudioSessionControl { public: virtual HRESULT STDMETHODCALLTYPE GetSessionIdentifier( /* [annotation][string][out] */ __out LPWSTR *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetSessionInstanceIdentifier( /* [annotation][string][out] */ __out LPWSTR *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE GetProcessId( /* [annotation][out] */ __out DWORD *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE IsSystemSoundsSession( void) = 0; virtual HRESULT STDMETHODCALLTYPE SetDuckingPreference( /* [in] */ BOOL optOut) = 0; }; #else /* C style interface */ typedef struct IAudioSessionControl2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionControl2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionControl2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionControl2 * This); HRESULT ( STDMETHODCALLTYPE *GetState )( IAudioSessionControl2 * This, /* [annotation][out] */ __out AudioSessionState *pRetVal); HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( IAudioSessionControl2 * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( IAudioSessionControl2 * This, /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *GetIconPath )( IAudioSessionControl2 * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetIconPath )( IAudioSessionControl2 * This, /* [annotation][string][in] */ __in LPCWSTR Value, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *GetGroupingParam )( IAudioSessionControl2 * This, /* [annotation][out] */ __out GUID *pRetVal); HRESULT ( STDMETHODCALLTYPE *SetGroupingParam )( IAudioSessionControl2 * This, /* [annotation][in] */ __in LPCGUID Override, /* [unique][in] */ LPCGUID EventContext); HRESULT ( STDMETHODCALLTYPE *RegisterAudioSessionNotification )( IAudioSessionControl2 * This, /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications); HRESULT ( STDMETHODCALLTYPE *UnregisterAudioSessionNotification )( IAudioSessionControl2 * This, /* [annotation][in] */ __in IAudioSessionEvents *NewNotifications); HRESULT ( STDMETHODCALLTYPE *GetSessionIdentifier )( IAudioSessionControl2 * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *GetSessionInstanceIdentifier )( IAudioSessionControl2 * This, /* [annotation][string][out] */ __out LPWSTR *pRetVal); HRESULT ( STDMETHODCALLTYPE *GetProcessId )( IAudioSessionControl2 * This, /* [annotation][out] */ __out DWORD *pRetVal); HRESULT ( STDMETHODCALLTYPE *IsSystemSoundsSession )( IAudioSessionControl2 * This); HRESULT ( STDMETHODCALLTYPE *SetDuckingPreference )( IAudioSessionControl2 * This, /* [in] */ BOOL optOut); END_INTERFACE } IAudioSessionControl2Vtbl; interface IAudioSessionControl2 { CONST_VTBL struct IAudioSessionControl2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionControl2_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionManager_INTERFACE_DEFINED__ #define __IAudioSessionManager_INTERFACE_DEFINED__ /* interface IAudioSessionManager */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionManager; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("BFA971F1-4D5E-40BB-935E-967039BFBEE4") IAudioSessionManager : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetAudioSessionControl( /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out IAudioSessionControl **SessionControl) = 0; virtual HRESULT STDMETHODCALLTYPE GetSimpleAudioVolume( /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out ISimpleAudioVolume **AudioVolume) = 0; }; #else /* C style interface */ typedef struct IAudioSessionManagerVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionManager * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionManager * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionManager * This); HRESULT ( STDMETHODCALLTYPE *GetAudioSessionControl )( IAudioSessionManager * This, /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out IAudioSessionControl **SessionControl); HRESULT ( STDMETHODCALLTYPE *GetSimpleAudioVolume )( IAudioSessionManager * This, /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out ISimpleAudioVolume **AudioVolume); END_INTERFACE } IAudioSessionManagerVtbl; interface IAudioSessionManager { CONST_VTBL struct IAudioSessionManagerVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionManager_INTERFACE_DEFINED__ */ #ifndef __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ #define __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ /* interface IAudioVolumeDuckNotification */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioVolumeDuckNotification; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C3B284D4-6D39-4359-B3CF-B56DDB3BB39C") IAudioVolumeDuckNotification : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnVolumeDuckNotification( /* [in] */ LPCWSTR sessionID, /* [in] */ UINT32 countCommunicationSessions) = 0; virtual HRESULT STDMETHODCALLTYPE OnVolumeUnduckNotification( /* [in] */ LPCWSTR sessionID) = 0; }; #else /* C style interface */ typedef struct IAudioVolumeDuckNotificationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioVolumeDuckNotification * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioVolumeDuckNotification * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioVolumeDuckNotification * This); HRESULT ( STDMETHODCALLTYPE *OnVolumeDuckNotification )( IAudioVolumeDuckNotification * This, /* [in] */ LPCWSTR sessionID, /* [in] */ UINT32 countCommunicationSessions); HRESULT ( STDMETHODCALLTYPE *OnVolumeUnduckNotification )( IAudioVolumeDuckNotification * This, /* [in] */ LPCWSTR sessionID); END_INTERFACE } IAudioVolumeDuckNotificationVtbl; interface IAudioVolumeDuckNotification { CONST_VTBL struct IAudioVolumeDuckNotificationVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IAudioVolumeDuckNotification_OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) \ ( (This)->lpVtbl -> OnVolumeDuckNotification(This,sessionID,countCommunicationSessions) ) #define IAudioVolumeDuckNotification_OnVolumeUnduckNotification(This,sessionID) \ ( (This)->lpVtbl -> OnVolumeUnduckNotification(This,sessionID) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioVolumeDuckNotification_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionNotification_INTERFACE_DEFINED__ #define __IAudioSessionNotification_INTERFACE_DEFINED__ /* interface IAudioSessionNotification */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionNotification; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("641DD20B-4D41-49CC-ABA3-174B9477BB08") IAudioSessionNotification : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnSessionCreated( /* [in] */ IAudioSessionControl *NewSession) = 0; }; #else /* C style interface */ typedef struct IAudioSessionNotificationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionNotification * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionNotification * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionNotification * This); HRESULT ( STDMETHODCALLTYPE *OnSessionCreated )( IAudioSessionNotification * This, /* [in] */ IAudioSessionControl *NewSession); END_INTERFACE } IAudioSessionNotificationVtbl; interface IAudioSessionNotification { CONST_VTBL struct IAudioSessionNotificationVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IAudioSessionNotification_OnSessionCreated(This,NewSession) \ ( (This)->lpVtbl -> OnSessionCreated(This,NewSession) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionNotification_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionEnumerator_INTERFACE_DEFINED__ #define __IAudioSessionEnumerator_INTERFACE_DEFINED__ /* interface IAudioSessionEnumerator */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionEnumerator; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("E2F5BB11-0570-40CA-ACDD-3AA01277DEE8") IAudioSessionEnumerator : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ int *SessionCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetSession( /* [in] */ int SessionCount, /* [out] */ IAudioSessionControl **Session) = 0; }; #else /* C style interface */ typedef struct IAudioSessionEnumeratorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionEnumerator * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionEnumerator * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionEnumerator * This); HRESULT ( STDMETHODCALLTYPE *GetCount )( IAudioSessionEnumerator * This, /* [out] */ int *SessionCount); HRESULT ( STDMETHODCALLTYPE *GetSession )( IAudioSessionEnumerator * This, /* [in] */ int SessionCount, /* [out] */ IAudioSessionControl **Session); END_INTERFACE } IAudioSessionEnumeratorVtbl; interface IAudioSessionEnumerator { CONST_VTBL struct IAudioSessionEnumeratorVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IAudioSessionEnumerator_GetCount(This,SessionCount) \ ( (This)->lpVtbl -> GetCount(This,SessionCount) ) #define IAudioSessionEnumerator_GetSession(This,SessionCount,Session) \ ( (This)->lpVtbl -> GetSession(This,SessionCount,Session) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionEnumerator_INTERFACE_DEFINED__ */ #ifndef __IAudioSessionManager2_INTERFACE_DEFINED__ #define __IAudioSessionManager2_INTERFACE_DEFINED__ /* interface IAudioSessionManager2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IAudioSessionManager2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("77AA99A0-1BD6-484F-8BC7-2C654C9A9B6F") IAudioSessionManager2 : public IAudioSessionManager { public: virtual HRESULT STDMETHODCALLTYPE GetSessionEnumerator( /* [retval][out] */ IAudioSessionEnumerator **SessionEnum) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterSessionNotification( IAudioSessionNotification *SessionNotification) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterSessionNotification( IAudioSessionNotification *SessionNotification) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterDuckNotification( /* [string][in] */ LPCWSTR sessionID, /* [annotation][in] */ __in IAudioVolumeDuckNotification *duckNotification) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterDuckNotification( /* [annotation][in] */ __in IAudioVolumeDuckNotification *duckNotification) = 0; }; #else /* C style interface */ typedef struct IAudioSessionManager2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IAudioSessionManager2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IAudioSessionManager2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IAudioSessionManager2 * This); HRESULT ( STDMETHODCALLTYPE *GetAudioSessionControl )( IAudioSessionManager2 * This, /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out IAudioSessionControl **SessionControl); HRESULT ( STDMETHODCALLTYPE *GetSimpleAudioVolume )( IAudioSessionManager2 * This, /* [annotation][in] */ __in_opt LPCGUID AudioSessionGuid, /* [annotation][in] */ __in DWORD StreamFlags, /* [annotation][out] */ __deref_out ISimpleAudioVolume **AudioVolume); HRESULT ( STDMETHODCALLTYPE *GetSessionEnumerator )( IAudioSessionManager2 * This, /* [retval][out] */ IAudioSessionEnumerator **SessionEnum); HRESULT ( STDMETHODCALLTYPE *RegisterSessionNotification )( IAudioSessionManager2 * This, IAudioSessionNotification *SessionNotification); HRESULT ( STDMETHODCALLTYPE *UnregisterSessionNotification )( IAudioSessionManager2 * This, IAudioSessionNotification *SessionNotification); HRESULT ( STDMETHODCALLTYPE *RegisterDuckNotification )( IAudioSessionManager2 * This, /* [string][in] */ LPCWSTR sessionID, /* [annotation][in] */ __in IAudioVolumeDuckNotification *duckNotification); HRESULT ( STDMETHODCALLTYPE *UnregisterDuckNotification )( IAudioSessionManager2 * This, /* [annotation][in] */ __in IAudioVolumeDuckNotification *duckNotification); END_INTERFACE } IAudioSessionManager2Vtbl; interface IAudioSessionManager2 { CONST_VTBL struct IAudioSessionManager2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAudioSessionManager2_INTERFACE_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif