1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156 |
- /*** Autogenerated by WIDL 7.7 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__ */
|