mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 03:15:07 +00:00
1404 lines
56 KiB
C
1404 lines
56 KiB
C
/*** Autogenerated by WIDL 1.6 from include/audiopolicy.idl - Do not edit ***/
|
|
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
|
|
#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;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionControl_FWD_DEFINED__
|
|
#define __IAudioSessionControl_FWD_DEFINED__
|
|
typedef interface IAudioSessionControl IAudioSessionControl;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionControl2_FWD_DEFINED__
|
|
#define __IAudioSessionControl2_FWD_DEFINED__
|
|
typedef interface IAudioSessionControl2 IAudioSessionControl2;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionManager_FWD_DEFINED__
|
|
#define __IAudioSessionManager_FWD_DEFINED__
|
|
typedef interface IAudioSessionManager IAudioSessionManager;
|
|
#endif
|
|
|
|
#ifndef __IAudioVolumeDuckNotification_FWD_DEFINED__
|
|
#define __IAudioVolumeDuckNotification_FWD_DEFINED__
|
|
typedef interface IAudioVolumeDuckNotification IAudioVolumeDuckNotification;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionNotification_FWD_DEFINED__
|
|
#define __IAudioSessionNotification_FWD_DEFINED__
|
|
typedef interface IAudioSessionNotification IAudioSessionNotification;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionEnumerator_FWD_DEFINED__
|
|
#define __IAudioSessionEnumerator_FWD_DEFINED__
|
|
typedef interface IAudioSessionEnumerator IAudioSessionEnumerator;
|
|
#endif
|
|
|
|
#ifndef __IAudioSessionManager2_FWD_DEFINED__
|
|
#define __IAudioSessionManager2_FWD_DEFINED__
|
|
typedef interface IAudioSessionManager2 IAudioSessionManager2;
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnDisplayNameChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
LPCWSTR NewDisplayName,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionEvents_OnDisplayNameChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnIconPathChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
LPCWSTR NewIconPath,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionEvents_OnIconPathChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnSimpleVolumeChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
float NewVolume,
|
|
WINBOOL NewMute,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionEvents_OnSimpleVolumeChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnChannelVolumeChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
DWORD ChannelCount,
|
|
float NewChannelVolumeArray[],
|
|
DWORD ChangedChannel,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionEvents_OnChannelVolumeChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnGroupingParamChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
LPCGUID NewGroupingParam,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionEvents_OnGroupingParamChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnStateChanged_Proxy(
|
|
IAudioSessionEvents* This,
|
|
AudioSessionState NewState);
|
|
void __RPC_STUB IAudioSessionEvents_OnStateChanged_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEvents_OnSessionDisconnected_Proxy(
|
|
IAudioSessionEvents* This,
|
|
AudioSessionDisconnectReason DisconnectReason);
|
|
void __RPC_STUB IAudioSessionEvents_OnSessionDisconnected_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetState_Proxy(
|
|
IAudioSessionControl* This,
|
|
AudioSessionState *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl_GetState_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetDisplayName_Proxy(
|
|
IAudioSessionControl* This,
|
|
LPWSTR *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl_GetDisplayName_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetDisplayName_Proxy(
|
|
IAudioSessionControl* This,
|
|
LPCWSTR Value,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionControl_SetDisplayName_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetIconPath_Proxy(
|
|
IAudioSessionControl* This,
|
|
LPWSTR *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl_GetIconPath_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetIconPath_Proxy(
|
|
IAudioSessionControl* This,
|
|
LPCWSTR Value,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionControl_SetIconPath_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_GetGroupingParam_Proxy(
|
|
IAudioSessionControl* This,
|
|
GUID *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl_GetGroupingParam_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_SetGroupingParam_Proxy(
|
|
IAudioSessionControl* This,
|
|
LPCGUID Override,
|
|
LPCGUID EventContext);
|
|
void __RPC_STUB IAudioSessionControl_SetGroupingParam_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_RegisterAudioSessionNotification_Proxy(
|
|
IAudioSessionControl* This,
|
|
IAudioSessionEvents *NewNotifications);
|
|
void __RPC_STUB IAudioSessionControl_RegisterAudioSessionNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl_UnregisterAudioSessionNotification_Proxy(
|
|
IAudioSessionControl* This,
|
|
IAudioSessionEvents *NewNotifications);
|
|
void __RPC_STUB IAudioSessionControl_UnregisterAudioSessionNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetSessionIdentifier_Proxy(
|
|
IAudioSessionControl2* This,
|
|
LPWSTR *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl2_GetSessionIdentifier_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetSessionInstanceIdentifier_Proxy(
|
|
IAudioSessionControl2* This,
|
|
LPWSTR *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl2_GetSessionInstanceIdentifier_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl2_GetProcessId_Proxy(
|
|
IAudioSessionControl2* This,
|
|
DWORD *pRetVal);
|
|
void __RPC_STUB IAudioSessionControl2_GetProcessId_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl2_IsSystemSoundsSession_Proxy(
|
|
IAudioSessionControl2* This);
|
|
void __RPC_STUB IAudioSessionControl2_IsSystemSoundsSession_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionControl2_SetDuckingPreference_Proxy(
|
|
IAudioSessionControl2* This,
|
|
WINBOOL optOut);
|
|
void __RPC_STUB IAudioSessionControl2_SetDuckingPreference_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager_GetAudioSessionControl_Proxy(
|
|
IAudioSessionManager* This,
|
|
LPCGUID AudioSessionGuid,
|
|
DWORD StreamFlags,
|
|
IAudioSessionControl **SessionControl);
|
|
void __RPC_STUB IAudioSessionManager_GetAudioSessionControl_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager_GetSimpleAudioVolume_Proxy(
|
|
IAudioSessionManager* This,
|
|
LPCGUID AudioSessionGuid,
|
|
DWORD StreamFlags,
|
|
ISimpleAudioVolume **AudioVolume);
|
|
void __RPC_STUB IAudioSessionManager_GetSimpleAudioVolume_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioVolumeDuckNotification_OnVolumeDuckNotification_Proxy(
|
|
IAudioVolumeDuckNotification* This,
|
|
LPCWSTR sessionID,
|
|
UINT32 countCommunicationSessions);
|
|
void __RPC_STUB IAudioVolumeDuckNotification_OnVolumeDuckNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioVolumeDuckNotification_OnVolumeUnduckNotification_Proxy(
|
|
IAudioVolumeDuckNotification* This,
|
|
LPCWSTR sessionID);
|
|
void __RPC_STUB IAudioVolumeDuckNotification_OnVolumeUnduckNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionNotification_OnSessionCreated_Proxy(
|
|
IAudioSessionNotification* This,
|
|
IAudioSessionControl *NewSession);
|
|
void __RPC_STUB IAudioSessionNotification_OnSessionCreated_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEnumerator_GetCount_Proxy(
|
|
IAudioSessionEnumerator* This,
|
|
int *SessionCount);
|
|
void __RPC_STUB IAudioSessionEnumerator_GetCount_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionEnumerator_GetSession_Proxy(
|
|
IAudioSessionEnumerator* This,
|
|
int SessionCount,
|
|
IAudioSessionControl **Session);
|
|
void __RPC_STUB IAudioSessionEnumerator_GetSession_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#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
|
|
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager2_GetSessionEnumerator_Proxy(
|
|
IAudioSessionManager2* This,
|
|
IAudioSessionEnumerator **SessionEnum);
|
|
void __RPC_STUB IAudioSessionManager2_GetSessionEnumerator_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager2_RegisterSessionNotification_Proxy(
|
|
IAudioSessionManager2* This,
|
|
IAudioSessionNotification *SessionNotification);
|
|
void __RPC_STUB IAudioSessionManager2_RegisterSessionNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager2_UnregisterSessionNotification_Proxy(
|
|
IAudioSessionManager2* This,
|
|
IAudioSessionNotification *SessionNotification);
|
|
void __RPC_STUB IAudioSessionManager2_UnregisterSessionNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager2_RegisterDuckNotification_Proxy(
|
|
IAudioSessionManager2* This,
|
|
LPCWSTR sessionID,
|
|
IAudioVolumeDuckNotification *duckNotification);
|
|
void __RPC_STUB IAudioSessionManager2_RegisterDuckNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IAudioSessionManager2_UnregisterDuckNotification_Proxy(
|
|
IAudioSessionManager2* This,
|
|
IAudioVolumeDuckNotification *duckNotification);
|
|
void __RPC_STUB IAudioSessionManager2_UnregisterDuckNotification_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IAudioSessionManager2_INTERFACE_DEFINED__ */
|
|
|
|
#endif
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __audiopolicy_h__ */
|