include/audioclient: Regenerate from IDL Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/audioclient.h b/mingw-w64-headers/include/audioclient.h index 2f4dfed..2fe3017 100644 --- a/mingw-w64-headers/include/audioclient.h +++ b/mingw-w64-headers/include/audioclient.h
@@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 6.0-rc1 from include/audioclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 5.19 from audioclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -34,6 +34,14 @@ #endif /* __cplusplus */ #endif +#ifndef __IAudioClient3_FWD_DEFINED__ +#define __IAudioClient3_FWD_DEFINED__ +typedef interface IAudioClient3 IAudioClient3; +#ifdef __cplusplus +interface IAudioClient3; +#endif /* __cplusplus */ +#endif + #ifndef __IAudioRenderClient_FWD_DEFINED__ #define __IAudioRenderClient_FWD_DEFINED__ typedef interface IAudioRenderClient IAudioRenderClient; @@ -90,6 +98,14 @@ #endif /* __cplusplus */ #endif +#ifndef __IAudioAmbisonicsControl_FWD_DEFINED__ +#define __IAudioAmbisonicsControl_FWD_DEFINED__ +typedef interface IAudioAmbisonicsControl IAudioAmbisonicsControl; +#ifdef __cplusplus +interface IAudioAmbisonicsControl; +#endif /* __cplusplus */ +#endif + #ifndef __IChannelAudioVolume_FWD_DEFINED__ #define __IChannelAudioVolume_FWD_DEFINED__ typedef interface IChannelAudioVolume IChannelAudioVolume; @@ -144,6 +160,17 @@ AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 0x2, AUDCLNT_STREAMOPTIONS_AMBISONICS = 0x4 } AUDCLNT_STREAMOPTIONS; +DEFINE_ENUM_FLAG_OPERATORS(AUDCLNT_STREAMOPTIONS); +typedef enum AMBISONICS_TYPE { + AMBISONICS_TYPE_FULL3D = 0x0 +} AMBISONICS_TYPE; +typedef enum AMBISONICS_CHANNEL_ORDERING { + AMBISONICS_CHANNEL_ORDERING_ACN = 0x0 +} AMBISONICS_CHANNEL_ORDERING; +typedef enum AMBISONICS_NORMALIZATION { + AMBISONICS_NORMALIZATION_SN3D = 0x0, + AMBISONICS_NORMALIZATION_N3D = 0x1 +} AMBISONICS_NORMALIZATION; typedef struct AudioClientProperties { UINT32 cbSize; @@ -151,6 +178,19 @@ AUDIO_STREAM_CATEGORY eCategory; AUDCLNT_STREAMOPTIONS Options; } AudioClientProperties; +typedef struct AudioClient3ActivationParams { + GUID tracingContextId; +} AudioClient3ActivationParams; +typedef struct AMBISONICS_PARAMS { + UINT32 u32Size; + UINT32 u32Version; + AMBISONICS_TYPE u32Type; + AMBISONICS_CHANNEL_ORDERING u32ChannelOrdering; + AMBISONICS_NORMALIZATION u32Normalization; + UINT32 u32Order; + UINT32 u32NumChannels; + UINT32 *pu32ChannelMap; +} AMBISONICS_PARAMS; /***************************************************************************** * IAudioClient interface @@ -578,6 +618,257 @@ #endif /* __IAudioClient2_INTERFACE_DEFINED__ */ +/***************************************************************************** + * IAudioClient3 interface + */ +#ifndef __IAudioClient3_INTERFACE_DEFINED__ +#define __IAudioClient3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAudioClient3, 0x7ed4ee07, 0x8e67, 0x4cd4, 0x8c,0x1a, 0x2b,0x7a,0x59,0x87,0xad,0x42); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7ed4ee07-8e67-4cd4-8c1a-2b7a5987ad42") +IAudioClient3 : public IAudioClient2 +{ + virtual HRESULT STDMETHODCALLTYPE GetSharedModeEnginePeriod( + const WAVEFORMATEX *pFormat, + UINT32 *pDefaultPeriodInFrames, + UINT32 *pFundamentalPeriodInFrames, + UINT32 *pMinPeriodInFrames, + UINT32 *pMaxPeriodInFrames) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentSharedModeEnginePeriod( + WAVEFORMATEX **ppFormat, + UINT32 *pCurrentPeriodInFrames) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeSharedAudioStream( + DWORD StreamFlags, + UINT32 PeriodInFrames, + const WAVEFORMATEX *pFormat, + LPCGUID AudioSessionGuid) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAudioClient3, 0x7ed4ee07, 0x8e67, 0x4cd4, 0x8c,0x1a, 0x2b,0x7a,0x59,0x87,0xad,0x42) +#endif +#else +typedef struct IAudioClient3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAudioClient3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAudioClient3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAudioClient3 *This); + + /*** IAudioClient methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IAudioClient3 *This, + AUDCLNT_SHAREMODE ShareMode, + DWORD StreamFlags, + REFERENCE_TIME hnsBufferDuration, + REFERENCE_TIME hnsPeriodicity, + const WAVEFORMATEX *pFormat, + LPCGUID AudioSessionGuid); + + HRESULT (STDMETHODCALLTYPE *GetBufferSize)( + IAudioClient3 *This, + UINT32 *pNumBufferFrames); + + HRESULT (STDMETHODCALLTYPE *GetStreamLatency)( + IAudioClient3 *This, + REFERENCE_TIME *phnsLatency); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPadding)( + IAudioClient3 *This, + UINT32 *pNumPaddingFrames); + + HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( + IAudioClient3 *This, + AUDCLNT_SHAREMODE ShareMode, + const WAVEFORMATEX *pFormat, + WAVEFORMATEX **ppClosestMatch); + + HRESULT (STDMETHODCALLTYPE *GetMixFormat)( + IAudioClient3 *This, + WAVEFORMATEX **ppDeviceFormat); + + HRESULT (STDMETHODCALLTYPE *GetDevicePeriod)( + IAudioClient3 *This, + REFERENCE_TIME *phnsDefaultDevicePeriod, + REFERENCE_TIME *phnsMinimumDevicePeriod); + + HRESULT (STDMETHODCALLTYPE *Start)( + IAudioClient3 *This); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IAudioClient3 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IAudioClient3 *This); + + HRESULT (STDMETHODCALLTYPE *SetEventHandle)( + IAudioClient3 *This, + HANDLE eventHandle); + + HRESULT (STDMETHODCALLTYPE *GetService)( + IAudioClient3 *This, + REFIID riid, + void **ppv); + + /*** IAudioClient2 methods ***/ + HRESULT (STDMETHODCALLTYPE *IsOffloadCapable)( + IAudioClient3 *This, + AUDIO_STREAM_CATEGORY Category, + WINBOOL *pbOffloadCapable); + + HRESULT (STDMETHODCALLTYPE *SetClientProperties)( + IAudioClient3 *This, + const AudioClientProperties *pProperties); + + HRESULT (STDMETHODCALLTYPE *GetBufferSizeLimits)( + IAudioClient3 *This, + const WAVEFORMATEX *pFormat, + WINBOOL bEventDriven, + REFERENCE_TIME *phnsMinBufferDuration, + REFERENCE_TIME *phnsMaxBufferDuration); + + /*** IAudioClient3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSharedModeEnginePeriod)( + IAudioClient3 *This, + const WAVEFORMATEX *pFormat, + UINT32 *pDefaultPeriodInFrames, + UINT32 *pFundamentalPeriodInFrames, + UINT32 *pMinPeriodInFrames, + UINT32 *pMaxPeriodInFrames); + + HRESULT (STDMETHODCALLTYPE *GetCurrentSharedModeEnginePeriod)( + IAudioClient3 *This, + WAVEFORMATEX **ppFormat, + UINT32 *pCurrentPeriodInFrames); + + HRESULT (STDMETHODCALLTYPE *InitializeSharedAudioStream)( + IAudioClient3 *This, + DWORD StreamFlags, + UINT32 PeriodInFrames, + const WAVEFORMATEX *pFormat, + LPCGUID AudioSessionGuid); + + END_INTERFACE +} IAudioClient3Vtbl; + +interface IAudioClient3 { + CONST_VTBL IAudioClient3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAudioClient3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAudioClient3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAudioClient3_Release(This) (This)->lpVtbl->Release(This) +/*** IAudioClient methods ***/ +#define IAudioClient3_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) (This)->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) +#define IAudioClient3_GetBufferSize(This,pNumBufferFrames) (This)->lpVtbl->GetBufferSize(This,pNumBufferFrames) +#define IAudioClient3_GetStreamLatency(This,phnsLatency) (This)->lpVtbl->GetStreamLatency(This,phnsLatency) +#define IAudioClient3_GetCurrentPadding(This,pNumPaddingFrames) (This)->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames) +#define IAudioClient3_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) (This)->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) +#define IAudioClient3_GetMixFormat(This,ppDeviceFormat) (This)->lpVtbl->GetMixFormat(This,ppDeviceFormat) +#define IAudioClient3_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) (This)->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) +#define IAudioClient3_Start(This) (This)->lpVtbl->Start(This) +#define IAudioClient3_Stop(This) (This)->lpVtbl->Stop(This) +#define IAudioClient3_Reset(This) (This)->lpVtbl->Reset(This) +#define IAudioClient3_SetEventHandle(This,eventHandle) (This)->lpVtbl->SetEventHandle(This,eventHandle) +#define IAudioClient3_GetService(This,riid,ppv) (This)->lpVtbl->GetService(This,riid,ppv) +/*** IAudioClient2 methods ***/ +#define IAudioClient3_IsOffloadCapable(This,Category,pbOffloadCapable) (This)->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable) +#define IAudioClient3_SetClientProperties(This,pProperties) (This)->lpVtbl->SetClientProperties(This,pProperties) +#define IAudioClient3_GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) (This)->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) +/*** IAudioClient3 methods ***/ +#define IAudioClient3_GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames) (This)->lpVtbl->GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames) +#define IAudioClient3_GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames) (This)->lpVtbl->GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames) +#define IAudioClient3_InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid) (This)->lpVtbl->InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IAudioClient3_QueryInterface(IAudioClient3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IAudioClient3_AddRef(IAudioClient3* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IAudioClient3_Release(IAudioClient3* This) { + return This->lpVtbl->Release(This); +} +/*** IAudioClient methods ***/ +static FORCEINLINE HRESULT IAudioClient3_Initialize(IAudioClient3* This,AUDCLNT_SHAREMODE ShareMode,DWORD StreamFlags,REFERENCE_TIME hnsBufferDuration,REFERENCE_TIME hnsPeriodicity,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { + return This->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid); +} +static FORCEINLINE HRESULT IAudioClient3_GetBufferSize(IAudioClient3* This,UINT32 *pNumBufferFrames) { + return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); +} +static FORCEINLINE HRESULT IAudioClient3_GetStreamLatency(IAudioClient3* This,REFERENCE_TIME *phnsLatency) { + return This->lpVtbl->GetStreamLatency(This,phnsLatency); +} +static FORCEINLINE HRESULT IAudioClient3_GetCurrentPadding(IAudioClient3* This,UINT32 *pNumPaddingFrames) { + return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); +} +static FORCEINLINE HRESULT IAudioClient3_IsFormatSupported(IAudioClient3* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { + return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); +} +static FORCEINLINE HRESULT IAudioClient3_GetMixFormat(IAudioClient3* This,WAVEFORMATEX **ppDeviceFormat) { + return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); +} +static FORCEINLINE HRESULT IAudioClient3_GetDevicePeriod(IAudioClient3* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { + return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); +} +static FORCEINLINE HRESULT IAudioClient3_Start(IAudioClient3* This) { + return This->lpVtbl->Start(This); +} +static FORCEINLINE HRESULT IAudioClient3_Stop(IAudioClient3* This) { + return This->lpVtbl->Stop(This); +} +static FORCEINLINE HRESULT IAudioClient3_Reset(IAudioClient3* This) { + return This->lpVtbl->Reset(This); +} +static FORCEINLINE HRESULT IAudioClient3_SetEventHandle(IAudioClient3* This,HANDLE eventHandle) { + return This->lpVtbl->SetEventHandle(This,eventHandle); +} +static FORCEINLINE HRESULT IAudioClient3_GetService(IAudioClient3* This,REFIID riid,void **ppv) { + return This->lpVtbl->GetService(This,riid,ppv); +} +/*** IAudioClient2 methods ***/ +static FORCEINLINE HRESULT IAudioClient3_IsOffloadCapable(IAudioClient3* This,AUDIO_STREAM_CATEGORY Category,WINBOOL *pbOffloadCapable) { + return This->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable); +} +static FORCEINLINE HRESULT IAudioClient3_SetClientProperties(IAudioClient3* This,const AudioClientProperties *pProperties) { + return This->lpVtbl->SetClientProperties(This,pProperties); +} +static FORCEINLINE HRESULT IAudioClient3_GetBufferSizeLimits(IAudioClient3* This,const WAVEFORMATEX *pFormat,WINBOOL bEventDriven,REFERENCE_TIME *phnsMinBufferDuration,REFERENCE_TIME *phnsMaxBufferDuration) { + return This->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration); +} +/*** IAudioClient3 methods ***/ +static FORCEINLINE HRESULT IAudioClient3_GetSharedModeEnginePeriod(IAudioClient3* This,const WAVEFORMATEX *pFormat,UINT32 *pDefaultPeriodInFrames,UINT32 *pFundamentalPeriodInFrames,UINT32 *pMinPeriodInFrames,UINT32 *pMaxPeriodInFrames) { + return This->lpVtbl->GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames); +} +static FORCEINLINE HRESULT IAudioClient3_GetCurrentSharedModeEnginePeriod(IAudioClient3* This,WAVEFORMATEX **ppFormat,UINT32 *pCurrentPeriodInFrames) { + return This->lpVtbl->GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames); +} +static FORCEINLINE HRESULT IAudioClient3_InitializeSharedAudioStream(IAudioClient3* This,DWORD StreamFlags,UINT32 PeriodInFrames,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { + return This->lpVtbl->InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid); +} +#endif +#endif + +#endif + + +#endif /* __IAudioClient3_INTERFACE_DEFINED__ */ + /***************************************************************************** * IAudioRenderClient interface @@ -1292,6 +1583,124 @@ #endif /* __IAudioStreamVolume_INTERFACE_DEFINED__ */ +/***************************************************************************** + * IAudioAmbisonicsControl interface + */ +#ifndef __IAudioAmbisonicsControl_INTERFACE_DEFINED__ +#define __IAudioAmbisonicsControl_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAudioAmbisonicsControl, 0x28724c91, 0xdf35, 0x4856, 0x9f,0x76, 0xd6,0xa2,0x64,0x13,0xf3,0xdf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("28724c91-df35-4856-9f76-d6a26413f3df") +IAudioAmbisonicsControl : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetData( + const AMBISONICS_PARAMS *pAmbisonicsParams, + UINT32 cbAmbisonicsParams) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHeadTracking( + WINBOOL bEnableHeadTracking) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHeadTracking( + WINBOOL *pbEnableHeadTracking) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRotation( + float X, + float Y, + float Z, + float W) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAudioAmbisonicsControl, 0x28724c91, 0xdf35, 0x4856, 0x9f,0x76, 0xd6,0xa2,0x64,0x13,0xf3,0xdf) +#endif +#else +typedef struct IAudioAmbisonicsControlVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAudioAmbisonicsControl *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAudioAmbisonicsControl *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAudioAmbisonicsControl *This); + + /*** IAudioAmbisonicsControl methods ***/ + HRESULT (STDMETHODCALLTYPE *SetData)( + IAudioAmbisonicsControl *This, + const AMBISONICS_PARAMS *pAmbisonicsParams, + UINT32 cbAmbisonicsParams); + + HRESULT (STDMETHODCALLTYPE *SetHeadTracking)( + IAudioAmbisonicsControl *This, + WINBOOL bEnableHeadTracking); + + HRESULT (STDMETHODCALLTYPE *GetHeadTracking)( + IAudioAmbisonicsControl *This, + WINBOOL *pbEnableHeadTracking); + + HRESULT (STDMETHODCALLTYPE *SetRotation)( + IAudioAmbisonicsControl *This, + float X, + float Y, + float Z, + float W); + + END_INTERFACE +} IAudioAmbisonicsControlVtbl; + +interface IAudioAmbisonicsControl { + CONST_VTBL IAudioAmbisonicsControlVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAudioAmbisonicsControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAudioAmbisonicsControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAudioAmbisonicsControl_Release(This) (This)->lpVtbl->Release(This) +/*** IAudioAmbisonicsControl methods ***/ +#define IAudioAmbisonicsControl_SetData(This,pAmbisonicsParams,cbAmbisonicsParams) (This)->lpVtbl->SetData(This,pAmbisonicsParams,cbAmbisonicsParams) +#define IAudioAmbisonicsControl_SetHeadTracking(This,bEnableHeadTracking) (This)->lpVtbl->SetHeadTracking(This,bEnableHeadTracking) +#define IAudioAmbisonicsControl_GetHeadTracking(This,pbEnableHeadTracking) (This)->lpVtbl->GetHeadTracking(This,pbEnableHeadTracking) +#define IAudioAmbisonicsControl_SetRotation(This,X,Y,Z,W) (This)->lpVtbl->SetRotation(This,X,Y,Z,W) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IAudioAmbisonicsControl_QueryInterface(IAudioAmbisonicsControl* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IAudioAmbisonicsControl_AddRef(IAudioAmbisonicsControl* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IAudioAmbisonicsControl_Release(IAudioAmbisonicsControl* This) { + return This->lpVtbl->Release(This); +} +/*** IAudioAmbisonicsControl methods ***/ +static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetData(IAudioAmbisonicsControl* This,const AMBISONICS_PARAMS *pAmbisonicsParams,UINT32 cbAmbisonicsParams) { + return This->lpVtbl->SetData(This,pAmbisonicsParams,cbAmbisonicsParams); +} +static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetHeadTracking(IAudioAmbisonicsControl* This,WINBOOL bEnableHeadTracking) { + return This->lpVtbl->SetHeadTracking(This,bEnableHeadTracking); +} +static FORCEINLINE HRESULT IAudioAmbisonicsControl_GetHeadTracking(IAudioAmbisonicsControl* This,WINBOOL *pbEnableHeadTracking) { + return This->lpVtbl->GetHeadTracking(This,pbEnableHeadTracking); +} +static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetRotation(IAudioAmbisonicsControl* This,float X,float Y,float Z,float W) { + return This->lpVtbl->SetRotation(This,X,Y,Z,W); +} +#endif +#endif + +#endif + + +#endif /* __IAudioAmbisonicsControl_INTERFACE_DEFINED__ */ + /***************************************************************************** * IChannelAudioVolume interface @@ -1463,6 +1872,11 @@ #define AUDCLNT_E_OFFLOAD_MODE_ONLY AUDCLNT_ERR(0x24) #define AUDCLNT_E_NONOFFLOAD_MODE_ONLY AUDCLNT_ERR(0x25) #define AUDCLNT_E_RESOURCES_INVALIDATED AUDCLNT_ERR(0x26) +#define AUDCLNT_E_RAW_MODE_UNSUPPORTED AUDCLNT_ERR(0x027) +#define AUDCLNT_E_ENGINE_PERIODICITY_LOCKED AUDCLNT_ERR(0x028) +#define AUDCLNT_E_ENGINE_FORMAT_LOCKED AUDCLNT_ERR(0x029) +#define AUDCLNT_E_HEADTRACKING_ENABLED AUDCLNT_ERR(0x030) +#define AUDCLNT_E_HEADTRACKING_UNSUPPORTED AUDCLNT_ERR(0x040) #define AUDCLNT_S_BUFFER_EMPTY AUDCLNT_SUCCESS(0x1) #define AUDCLNT_S_THREAD_ALREADY_REGISTERED AUDCLNT_SUCCESS(0x2) #define AUDCLNT_S_POSITION_STALLED AUDCLNT_SUCCESS(0x3)