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)