/*** Autogenerated by WIDL 6.4 from include/spatialaudioclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __spatialaudioclient_h__ #define __spatialaudioclient_h__ /* Forward declarations */ #ifndef __ISpatialAudioObjectRenderStreamNotify_FWD_DEFINED__ #define __ISpatialAudioObjectRenderStreamNotify_FWD_DEFINED__ typedef interface ISpatialAudioObjectRenderStreamNotify ISpatialAudioObjectRenderStreamNotify; #ifdef __cplusplus interface ISpatialAudioObjectRenderStreamNotify; #endif /* __cplusplus */ #endif #ifndef __IAudioFormatEnumerator_FWD_DEFINED__ #define __IAudioFormatEnumerator_FWD_DEFINED__ typedef interface IAudioFormatEnumerator IAudioFormatEnumerator; #ifdef __cplusplus interface IAudioFormatEnumerator; #endif /* __cplusplus */ #endif #ifndef __ISpatialAudioClient_FWD_DEFINED__ #define __ISpatialAudioClient_FWD_DEFINED__ typedef interface ISpatialAudioClient ISpatialAudioClient; #ifdef __cplusplus interface ISpatialAudioClient; #endif /* __cplusplus */ #endif #ifndef __ISpatialAudioObjectBase_FWD_DEFINED__ #define __ISpatialAudioObjectBase_FWD_DEFINED__ typedef interface ISpatialAudioObjectBase ISpatialAudioObjectBase; #ifdef __cplusplus interface ISpatialAudioObjectBase; #endif /* __cplusplus */ #endif #ifndef __ISpatialAudioObject_FWD_DEFINED__ #define __ISpatialAudioObject_FWD_DEFINED__ typedef interface ISpatialAudioObject ISpatialAudioObject; #ifdef __cplusplus interface ISpatialAudioObject; #endif /* __cplusplus */ #endif #ifndef __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ #define __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase; #ifdef __cplusplus interface ISpatialAudioObjectRenderStreamBase; #endif /* __cplusplus */ #endif #ifndef __ISpatialAudioObjectRenderStream_FWD_DEFINED__ #define __ISpatialAudioObjectRenderStream_FWD_DEFINED__ typedef interface ISpatialAudioObjectRenderStream ISpatialAudioObjectRenderStream; #ifdef __cplusplus interface ISpatialAudioObjectRenderStream; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum AudioObjectType { AudioObjectType_None = 0, AudioObjectType_Dynamic = 0x1, AudioObjectType_FrontLeft = 0x2, AudioObjectType_FrontRight = 0x4, AudioObjectType_FrontCenter = 0x8, AudioObjectType_LowFrequency = 0x10, AudioObjectType_SideLeft = 0x20, AudioObjectType_SideRight = 0x40, AudioObjectType_BackLeft = 0x80, AudioObjectType_BackRight = 0x100, AudioObjectType_TopFrontLeft = 0x200, AudioObjectType_TopFrontRight = 0x400, AudioObjectType_TopBackLeft = 0x800, AudioObjectType_TopBackRight = 0x1000, AudioObjectType_BottomFrontLeft = 0x2000, AudioObjectType_BottomFrontRight = 0x4000, AudioObjectType_BottomBackLeft = 0x8000, AudioObjectType_BottomBackRight = 0x10000, AudioObjectType_BackCenter = 0x20000 } AudioObjectType; #define SPTLAUDCLNT_E_DESTROYED AUDCLNT_ERR(0x100) #define SPTLAUDCLNT_E_OUT_OF_ORDER AUDCLNT_ERR(0x101) #define SPTLAUDCLNT_E_RESOURCES_INVALIDATED AUDCLNT_ERR(0x102) #define SPTLAUDCLNT_E_NO_MORE_OBJECTS AUDCLNT_ERR(0x103) #define SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED AUDCLNT_ERR(0x104) #define SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS AUDCLNT_ERR(0x105) #define SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED AUDCLNT_ERR(0x106) #define SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE AUDCLNT_ERR(0x107) #define SPTLAUDCLNT_E_INVALID_LICENSE AUDCLNT_ERR(0x108) #define SPTLAUDCLNT_E_STREAM_NOT_STOPPED AUDCLNT_ERR(0x10a) #define SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE AUDCLNT_ERR(0x10b) #define SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE AUDCLNT_ERR(0x10c) #define SPTLAUDCLNT_E_INTERNAL AUDCLNT_ERR(0x10d) #ifndef __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ #define __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase; #ifdef __cplusplus interface ISpatialAudioObjectRenderStreamBase; #endif /* __cplusplus */ #endif /***************************************************************************** * ISpatialAudioObjectRenderStreamNotify interface */ #ifndef __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ #define __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamNotify, 0xdddf83e6, 0x68d7, 0x4c70, 0x88,0x3f, 0xa1,0x83,0x6a,0xfb,0x4a,0x50); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dddf83e6-68d7-4c70-883f-a1836afb4a50") ISpatialAudioObjectRenderStreamNotify : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnAvailableDynamicObjectCountChange( ISpatialAudioObjectRenderStreamBase *stream, LONGLONG deadline, UINT32 object_count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioObjectRenderStreamNotify, 0xdddf83e6, 0x68d7, 0x4c70, 0x88,0x3f, 0xa1,0x83,0x6a,0xfb,0x4a,0x50) #endif #else typedef struct ISpatialAudioObjectRenderStreamNotifyVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioObjectRenderStreamNotify *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioObjectRenderStreamNotify *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioObjectRenderStreamNotify *This); /*** ISpatialAudioObjectRenderStreamNotify methods ***/ HRESULT (STDMETHODCALLTYPE *OnAvailableDynamicObjectCountChange)( ISpatialAudioObjectRenderStreamNotify *This, ISpatialAudioObjectRenderStreamBase *stream, LONGLONG deadline, UINT32 object_count); END_INTERFACE } ISpatialAudioObjectRenderStreamNotifyVtbl; interface ISpatialAudioObjectRenderStreamNotify { CONST_VTBL ISpatialAudioObjectRenderStreamNotifyVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioObjectRenderStreamNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioObjectRenderStreamNotify_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioObjectRenderStreamNotify_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioObjectRenderStreamNotify methods ***/ #define ISpatialAudioObjectRenderStreamNotify_OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count) (This)->lpVtbl->OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamNotify_QueryInterface(ISpatialAudioObjectRenderStreamNotify* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStreamNotify_AddRef(ISpatialAudioObjectRenderStreamNotify* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStreamNotify_Release(ISpatialAudioObjectRenderStreamNotify* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioObjectRenderStreamNotify methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamNotify_OnAvailableDynamicObjectCountChange(ISpatialAudioObjectRenderStreamNotify* This,ISpatialAudioObjectRenderStreamBase *stream,LONGLONG deadline,UINT32 object_count) { return This->lpVtbl->OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count); } #endif #endif #endif #endif /* __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ */ typedef struct tagSpatialAudioObjectRenderStreamActivationParams { const WAVEFORMATEX *ObjectFormat; AudioObjectType StaticObjectTypeMask; UINT32 MinDynamicObjectCount; UINT32 MaxDynamicObjectCount; AUDIO_STREAM_CATEGORY Category; HANDLE EventHandle; ISpatialAudioObjectRenderStreamNotify *NotifyObject; } SpatialAudioObjectRenderStreamActivationParams; /***************************************************************************** * IAudioFormatEnumerator interface */ #ifndef __IAudioFormatEnumerator_INTERFACE_DEFINED__ #define __IAudioFormatEnumerator_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dcdaa858-895a-4a22-a5eb-67bda506096d") IAudioFormatEnumerator : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetCount( UINT32 *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetFormat( UINT32 index, WAVEFORMATEX **format) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d) #endif #else typedef struct IAudioFormatEnumeratorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IAudioFormatEnumerator *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IAudioFormatEnumerator *This); ULONG (STDMETHODCALLTYPE *Release)( IAudioFormatEnumerator *This); /*** IAudioFormatEnumerator methods ***/ HRESULT (STDMETHODCALLTYPE *GetCount)( IAudioFormatEnumerator *This, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetFormat)( IAudioFormatEnumerator *This, UINT32 index, WAVEFORMATEX **format); END_INTERFACE } IAudioFormatEnumeratorVtbl; interface IAudioFormatEnumerator { CONST_VTBL IAudioFormatEnumeratorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IAudioFormatEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IAudioFormatEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) #define IAudioFormatEnumerator_Release(This) (This)->lpVtbl->Release(This) /*** IAudioFormatEnumerator methods ***/ #define IAudioFormatEnumerator_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) #define IAudioFormatEnumerator_GetFormat(This,index,format) (This)->lpVtbl->GetFormat(This,index,format) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IAudioFormatEnumerator_QueryInterface(IAudioFormatEnumerator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IAudioFormatEnumerator_AddRef(IAudioFormatEnumerator* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IAudioFormatEnumerator_Release(IAudioFormatEnumerator* This) { return This->lpVtbl->Release(This); } /*** IAudioFormatEnumerator methods ***/ static FORCEINLINE HRESULT IAudioFormatEnumerator_GetCount(IAudioFormatEnumerator* This,UINT32 *count) { return This->lpVtbl->GetCount(This,count); } static FORCEINLINE HRESULT IAudioFormatEnumerator_GetFormat(IAudioFormatEnumerator* This,UINT32 index,WAVEFORMATEX **format) { return This->lpVtbl->GetFormat(This,index,format); } #endif #endif #endif #endif /* __IAudioFormatEnumerator_INTERFACE_DEFINED__ */ /***************************************************************************** * ISpatialAudioClient interface */ #ifndef __ISpatialAudioClient_INTERFACE_DEFINED__ #define __ISpatialAudioClient_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bbf8e066-aaaa-49be-9a4d-fd2a858ea27f") ISpatialAudioClient : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetStaticObjectPosition( AudioObjectType type, float *x, float *y, float *z) = 0; virtual HRESULT STDMETHODCALLTYPE GetNativeStaticObjectTypeMask( AudioObjectType *mask) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxDynamicObjectCount( UINT32 *value) = 0; virtual HRESULT STDMETHODCALLTYPE GetSupportedAudioObjectFormatEnumerator( IAudioFormatEnumerator **enumerator) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxFrameCount( const WAVEFORMATEX *format, UINT32 *count) = 0; virtual HRESULT STDMETHODCALLTYPE IsAudioObjectFormatSupported( const WAVEFORMATEX *format) = 0; virtual HRESULT STDMETHODCALLTYPE IsSpatialAudioStreamAvailable( REFIID stream_uuid, const PROPVARIANT *info) = 0; virtual HRESULT STDMETHODCALLTYPE ActivateSpatialAudioStream( const PROPVARIANT *params, REFIID riid, void **stream) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f) #endif #else typedef struct ISpatialAudioClientVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioClient *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioClient *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioClient *This); /*** ISpatialAudioClient methods ***/ HRESULT (STDMETHODCALLTYPE *GetStaticObjectPosition)( ISpatialAudioClient *This, AudioObjectType type, float *x, float *y, float *z); HRESULT (STDMETHODCALLTYPE *GetNativeStaticObjectTypeMask)( ISpatialAudioClient *This, AudioObjectType *mask); HRESULT (STDMETHODCALLTYPE *GetMaxDynamicObjectCount)( ISpatialAudioClient *This, UINT32 *value); HRESULT (STDMETHODCALLTYPE *GetSupportedAudioObjectFormatEnumerator)( ISpatialAudioClient *This, IAudioFormatEnumerator **enumerator); HRESULT (STDMETHODCALLTYPE *GetMaxFrameCount)( ISpatialAudioClient *This, const WAVEFORMATEX *format, UINT32 *count); HRESULT (STDMETHODCALLTYPE *IsAudioObjectFormatSupported)( ISpatialAudioClient *This, const WAVEFORMATEX *format); HRESULT (STDMETHODCALLTYPE *IsSpatialAudioStreamAvailable)( ISpatialAudioClient *This, REFIID stream_uuid, const PROPVARIANT *info); HRESULT (STDMETHODCALLTYPE *ActivateSpatialAudioStream)( ISpatialAudioClient *This, const PROPVARIANT *params, REFIID riid, void **stream); END_INTERFACE } ISpatialAudioClientVtbl; interface ISpatialAudioClient { CONST_VTBL ISpatialAudioClientVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioClient_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioClient_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioClient methods ***/ #define ISpatialAudioClient_GetStaticObjectPosition(This,type,x,y,z) (This)->lpVtbl->GetStaticObjectPosition(This,type,x,y,z) #define ISpatialAudioClient_GetNativeStaticObjectTypeMask(This,mask) (This)->lpVtbl->GetNativeStaticObjectTypeMask(This,mask) #define ISpatialAudioClient_GetMaxDynamicObjectCount(This,value) (This)->lpVtbl->GetMaxDynamicObjectCount(This,value) #define ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(This,enumerator) (This)->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator) #define ISpatialAudioClient_GetMaxFrameCount(This,format,count) (This)->lpVtbl->GetMaxFrameCount(This,format,count) #define ISpatialAudioClient_IsAudioObjectFormatSupported(This,format) (This)->lpVtbl->IsAudioObjectFormatSupported(This,format) #define ISpatialAudioClient_IsSpatialAudioStreamAvailable(This,stream_uuid,info) (This)->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info) #define ISpatialAudioClient_ActivateSpatialAudioStream(This,params,riid,stream) (This)->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioClient_QueryInterface(ISpatialAudioClient* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioClient_AddRef(ISpatialAudioClient* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioClient_Release(ISpatialAudioClient* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioClient methods ***/ static FORCEINLINE HRESULT ISpatialAudioClient_GetStaticObjectPosition(ISpatialAudioClient* This,AudioObjectType type,float *x,float *y,float *z) { return This->lpVtbl->GetStaticObjectPosition(This,type,x,y,z); } static FORCEINLINE HRESULT ISpatialAudioClient_GetNativeStaticObjectTypeMask(ISpatialAudioClient* This,AudioObjectType *mask) { return This->lpVtbl->GetNativeStaticObjectTypeMask(This,mask); } static FORCEINLINE HRESULT ISpatialAudioClient_GetMaxDynamicObjectCount(ISpatialAudioClient* This,UINT32 *value) { return This->lpVtbl->GetMaxDynamicObjectCount(This,value); } static FORCEINLINE HRESULT ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(ISpatialAudioClient* This,IAudioFormatEnumerator **enumerator) { return This->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator); } static FORCEINLINE HRESULT ISpatialAudioClient_GetMaxFrameCount(ISpatialAudioClient* This,const WAVEFORMATEX *format,UINT32 *count) { return This->lpVtbl->GetMaxFrameCount(This,format,count); } static FORCEINLINE HRESULT ISpatialAudioClient_IsAudioObjectFormatSupported(ISpatialAudioClient* This,const WAVEFORMATEX *format) { return This->lpVtbl->IsAudioObjectFormatSupported(This,format); } static FORCEINLINE HRESULT ISpatialAudioClient_IsSpatialAudioStreamAvailable(ISpatialAudioClient* This,REFIID stream_uuid,const PROPVARIANT *info) { return This->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info); } static FORCEINLINE HRESULT ISpatialAudioClient_ActivateSpatialAudioStream(ISpatialAudioClient* This,const PROPVARIANT *params,REFIID riid,void **stream) { return This->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream); } #endif #endif #endif #endif /* __ISpatialAudioClient_INTERFACE_DEFINED__ */ /***************************************************************************** * ISpatialAudioObjectBase interface */ #ifndef __ISpatialAudioObjectBase_INTERFACE_DEFINED__ #define __ISpatialAudioObjectBase_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioObjectBase, 0xcce0b8f2, 0x8d4d, 0x4efb, 0xa8,0xcf, 0x3d,0x6e,0xcf,0x1c,0x30,0xe0); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("cce0b8f2-8d4d-4efb-a8cf-3d6ecf1c30e0") ISpatialAudioObjectBase : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetBuffer( BYTE **buffer, UINT32 *bytes) = 0; virtual HRESULT STDMETHODCALLTYPE SetEndOfStream( UINT32 frames) = 0; virtual HRESULT STDMETHODCALLTYPE IsActive( WINBOOL *active) = 0; virtual HRESULT STDMETHODCALLTYPE GetAudioObjectType( AudioObjectType *type) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioObjectBase, 0xcce0b8f2, 0x8d4d, 0x4efb, 0xa8,0xcf, 0x3d,0x6e,0xcf,0x1c,0x30,0xe0) #endif #else typedef struct ISpatialAudioObjectBaseVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioObjectBase *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioObjectBase *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioObjectBase *This); /*** ISpatialAudioObjectBase methods ***/ HRESULT (STDMETHODCALLTYPE *GetBuffer)( ISpatialAudioObjectBase *This, BYTE **buffer, UINT32 *bytes); HRESULT (STDMETHODCALLTYPE *SetEndOfStream)( ISpatialAudioObjectBase *This, UINT32 frames); HRESULT (STDMETHODCALLTYPE *IsActive)( ISpatialAudioObjectBase *This, WINBOOL *active); HRESULT (STDMETHODCALLTYPE *GetAudioObjectType)( ISpatialAudioObjectBase *This, AudioObjectType *type); END_INTERFACE } ISpatialAudioObjectBaseVtbl; interface ISpatialAudioObjectBase { CONST_VTBL ISpatialAudioObjectBaseVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioObjectBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioObjectBase_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioObjectBase_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioObjectBase methods ***/ #define ISpatialAudioObjectBase_GetBuffer(This,buffer,bytes) (This)->lpVtbl->GetBuffer(This,buffer,bytes) #define ISpatialAudioObjectBase_SetEndOfStream(This,frames) (This)->lpVtbl->SetEndOfStream(This,frames) #define ISpatialAudioObjectBase_IsActive(This,active) (This)->lpVtbl->IsActive(This,active) #define ISpatialAudioObjectBase_GetAudioObjectType(This,type) (This)->lpVtbl->GetAudioObjectType(This,type) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectBase_QueryInterface(ISpatialAudioObjectBase* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioObjectBase_AddRef(ISpatialAudioObjectBase* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioObjectBase_Release(ISpatialAudioObjectBase* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioObjectBase methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectBase_GetBuffer(ISpatialAudioObjectBase* This,BYTE **buffer,UINT32 *bytes) { return This->lpVtbl->GetBuffer(This,buffer,bytes); } static FORCEINLINE HRESULT ISpatialAudioObjectBase_SetEndOfStream(ISpatialAudioObjectBase* This,UINT32 frames) { return This->lpVtbl->SetEndOfStream(This,frames); } static FORCEINLINE HRESULT ISpatialAudioObjectBase_IsActive(ISpatialAudioObjectBase* This,WINBOOL *active) { return This->lpVtbl->IsActive(This,active); } static FORCEINLINE HRESULT ISpatialAudioObjectBase_GetAudioObjectType(ISpatialAudioObjectBase* This,AudioObjectType *type) { return This->lpVtbl->GetAudioObjectType(This,type); } #endif #endif #endif #endif /* __ISpatialAudioObjectBase_INTERFACE_DEFINED__ */ /***************************************************************************** * ISpatialAudioObject interface */ #ifndef __ISpatialAudioObject_INTERFACE_DEFINED__ #define __ISpatialAudioObject_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioObject, 0xdde28967, 0x521b, 0x46e5, 0x8f,0x00, 0xbd,0x6f,0x2b,0xc8,0xab,0x1d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dde28967-521b-46e5-8f00-bd6f2bc8ab1d") ISpatialAudioObject : public ISpatialAudioObjectBase { virtual HRESULT STDMETHODCALLTYPE SetPosition( float x, float y, float z) = 0; virtual HRESULT STDMETHODCALLTYPE SetVolume( float vol) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioObject, 0xdde28967, 0x521b, 0x46e5, 0x8f,0x00, 0xbd,0x6f,0x2b,0xc8,0xab,0x1d) #endif #else typedef struct ISpatialAudioObjectVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioObject *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioObject *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioObject *This); /*** ISpatialAudioObjectBase methods ***/ HRESULT (STDMETHODCALLTYPE *GetBuffer)( ISpatialAudioObject *This, BYTE **buffer, UINT32 *bytes); HRESULT (STDMETHODCALLTYPE *SetEndOfStream)( ISpatialAudioObject *This, UINT32 frames); HRESULT (STDMETHODCALLTYPE *IsActive)( ISpatialAudioObject *This, WINBOOL *active); HRESULT (STDMETHODCALLTYPE *GetAudioObjectType)( ISpatialAudioObject *This, AudioObjectType *type); /*** ISpatialAudioObject methods ***/ HRESULT (STDMETHODCALLTYPE *SetPosition)( ISpatialAudioObject *This, float x, float y, float z); HRESULT (STDMETHODCALLTYPE *SetVolume)( ISpatialAudioObject *This, float vol); END_INTERFACE } ISpatialAudioObjectVtbl; interface ISpatialAudioObject { CONST_VTBL ISpatialAudioObjectVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioObject_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioObject_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioObjectBase methods ***/ #define ISpatialAudioObject_GetBuffer(This,buffer,bytes) (This)->lpVtbl->GetBuffer(This,buffer,bytes) #define ISpatialAudioObject_SetEndOfStream(This,frames) (This)->lpVtbl->SetEndOfStream(This,frames) #define ISpatialAudioObject_IsActive(This,active) (This)->lpVtbl->IsActive(This,active) #define ISpatialAudioObject_GetAudioObjectType(This,type) (This)->lpVtbl->GetAudioObjectType(This,type) /*** ISpatialAudioObject methods ***/ #define ISpatialAudioObject_SetPosition(This,x,y,z) (This)->lpVtbl->SetPosition(This,x,y,z) #define ISpatialAudioObject_SetVolume(This,vol) (This)->lpVtbl->SetVolume(This,vol) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioObject_QueryInterface(ISpatialAudioObject* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioObject_AddRef(ISpatialAudioObject* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioObject_Release(ISpatialAudioObject* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioObjectBase methods ***/ static FORCEINLINE HRESULT ISpatialAudioObject_GetBuffer(ISpatialAudioObject* This,BYTE **buffer,UINT32 *bytes) { return This->lpVtbl->GetBuffer(This,buffer,bytes); } static FORCEINLINE HRESULT ISpatialAudioObject_SetEndOfStream(ISpatialAudioObject* This,UINT32 frames) { return This->lpVtbl->SetEndOfStream(This,frames); } static FORCEINLINE HRESULT ISpatialAudioObject_IsActive(ISpatialAudioObject* This,WINBOOL *active) { return This->lpVtbl->IsActive(This,active); } static FORCEINLINE HRESULT ISpatialAudioObject_GetAudioObjectType(ISpatialAudioObject* This,AudioObjectType *type) { return This->lpVtbl->GetAudioObjectType(This,type); } /*** ISpatialAudioObject methods ***/ static FORCEINLINE HRESULT ISpatialAudioObject_SetPosition(ISpatialAudioObject* This,float x,float y,float z) { return This->lpVtbl->SetPosition(This,x,y,z); } static FORCEINLINE HRESULT ISpatialAudioObject_SetVolume(ISpatialAudioObject* This,float vol) { return This->lpVtbl->SetVolume(This,vol); } #endif #endif #endif #endif /* __ISpatialAudioObject_INTERFACE_DEFINED__ */ /***************************************************************************** * ISpatialAudioObjectRenderStreamBase interface */ #ifndef __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__ #define __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamBase, 0xfeaaf403, 0xc1d8, 0x450d, 0xaa,0x05, 0xe0,0xcc,0xee,0x75,0x02,0xa8); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("feaaf403-c1d8-450d-aa05-e0ccee7502a8") ISpatialAudioObjectRenderStreamBase : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetAvailableDynamicObjectCount( UINT32 *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetService( REFIID riid, void **service) = 0; virtual HRESULT STDMETHODCALLTYPE Start( ) = 0; virtual HRESULT STDMETHODCALLTYPE Stop( ) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( ) = 0; virtual HRESULT STDMETHODCALLTYPE BeginUpdatingAudioObjects( UINT32 *count, UINT32 *frames) = 0; virtual HRESULT STDMETHODCALLTYPE EndUpdatingAudioObjects( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioObjectRenderStreamBase, 0xfeaaf403, 0xc1d8, 0x450d, 0xaa,0x05, 0xe0,0xcc,0xee,0x75,0x02,0xa8) #endif #else typedef struct ISpatialAudioObjectRenderStreamBaseVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioObjectRenderStreamBase *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioObjectRenderStreamBase *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioObjectRenderStreamBase *This); /*** ISpatialAudioObjectRenderStreamBase methods ***/ HRESULT (STDMETHODCALLTYPE *GetAvailableDynamicObjectCount)( ISpatialAudioObjectRenderStreamBase *This, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetService)( ISpatialAudioObjectRenderStreamBase *This, REFIID riid, void **service); HRESULT (STDMETHODCALLTYPE *Start)( ISpatialAudioObjectRenderStreamBase *This); HRESULT (STDMETHODCALLTYPE *Stop)( ISpatialAudioObjectRenderStreamBase *This); HRESULT (STDMETHODCALLTYPE *Reset)( ISpatialAudioObjectRenderStreamBase *This); HRESULT (STDMETHODCALLTYPE *BeginUpdatingAudioObjects)( ISpatialAudioObjectRenderStreamBase *This, UINT32 *count, UINT32 *frames); HRESULT (STDMETHODCALLTYPE *EndUpdatingAudioObjects)( ISpatialAudioObjectRenderStreamBase *This); END_INTERFACE } ISpatialAudioObjectRenderStreamBaseVtbl; interface ISpatialAudioObjectRenderStreamBase { CONST_VTBL ISpatialAudioObjectRenderStreamBaseVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioObjectRenderStreamBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioObjectRenderStreamBase_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioObjectRenderStreamBase_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioObjectRenderStreamBase methods ***/ #define ISpatialAudioObjectRenderStreamBase_GetAvailableDynamicObjectCount(This,count) (This)->lpVtbl->GetAvailableDynamicObjectCount(This,count) #define ISpatialAudioObjectRenderStreamBase_GetService(This,riid,service) (This)->lpVtbl->GetService(This,riid,service) #define ISpatialAudioObjectRenderStreamBase_Start(This) (This)->lpVtbl->Start(This) #define ISpatialAudioObjectRenderStreamBase_Stop(This) (This)->lpVtbl->Stop(This) #define ISpatialAudioObjectRenderStreamBase_Reset(This) (This)->lpVtbl->Reset(This) #define ISpatialAudioObjectRenderStreamBase_BeginUpdatingAudioObjects(This,count,frames) (This)->lpVtbl->BeginUpdatingAudioObjects(This,count,frames) #define ISpatialAudioObjectRenderStreamBase_EndUpdatingAudioObjects(This) (This)->lpVtbl->EndUpdatingAudioObjects(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_QueryInterface(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStreamBase_AddRef(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStreamBase_Release(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioObjectRenderStreamBase methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count) { return This->lpVtbl->GetAvailableDynamicObjectCount(This,count); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_GetService(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **service) { return This->lpVtbl->GetService(This,riid,service); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_Start(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->Start(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_Stop(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->Stop(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_Reset(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->Reset(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count,UINT32 *frames) { return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStreamBase_EndUpdatingAudioObjects(ISpatialAudioObjectRenderStreamBase* This) { return This->lpVtbl->EndUpdatingAudioObjects(This); } #endif #endif #endif #endif /* __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__ */ /***************************************************************************** * ISpatialAudioObjectRenderStream interface */ #ifndef __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__ #define __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISpatialAudioObjectRenderStream, 0xbab5f473, 0xb423, 0x477b, 0x85,0xf5, 0xb5,0xa3,0x32,0xa0,0x41,0x53); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bab5f473-b423-477b-85f5-b5a332a04153") ISpatialAudioObjectRenderStream : public ISpatialAudioObjectRenderStreamBase { virtual HRESULT STDMETHODCALLTYPE ActivateSpatialAudioObject( AudioObjectType type, ISpatialAudioObject **object) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISpatialAudioObjectRenderStream, 0xbab5f473, 0xb423, 0x477b, 0x85,0xf5, 0xb5,0xa3,0x32,0xa0,0x41,0x53) #endif #else typedef struct ISpatialAudioObjectRenderStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISpatialAudioObjectRenderStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISpatialAudioObjectRenderStream *This); ULONG (STDMETHODCALLTYPE *Release)( ISpatialAudioObjectRenderStream *This); /*** ISpatialAudioObjectRenderStreamBase methods ***/ HRESULT (STDMETHODCALLTYPE *GetAvailableDynamicObjectCount)( ISpatialAudioObjectRenderStream *This, UINT32 *count); HRESULT (STDMETHODCALLTYPE *GetService)( ISpatialAudioObjectRenderStream *This, REFIID riid, void **service); HRESULT (STDMETHODCALLTYPE *Start)( ISpatialAudioObjectRenderStream *This); HRESULT (STDMETHODCALLTYPE *Stop)( ISpatialAudioObjectRenderStream *This); HRESULT (STDMETHODCALLTYPE *Reset)( ISpatialAudioObjectRenderStream *This); HRESULT (STDMETHODCALLTYPE *BeginUpdatingAudioObjects)( ISpatialAudioObjectRenderStream *This, UINT32 *count, UINT32 *frames); HRESULT (STDMETHODCALLTYPE *EndUpdatingAudioObjects)( ISpatialAudioObjectRenderStream *This); /*** ISpatialAudioObjectRenderStream methods ***/ HRESULT (STDMETHODCALLTYPE *ActivateSpatialAudioObject)( ISpatialAudioObjectRenderStream *This, AudioObjectType type, ISpatialAudioObject **object); END_INTERFACE } ISpatialAudioObjectRenderStreamVtbl; interface ISpatialAudioObjectRenderStream { CONST_VTBL ISpatialAudioObjectRenderStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISpatialAudioObjectRenderStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISpatialAudioObjectRenderStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISpatialAudioObjectRenderStream_Release(This) (This)->lpVtbl->Release(This) /*** ISpatialAudioObjectRenderStreamBase methods ***/ #define ISpatialAudioObjectRenderStream_GetAvailableDynamicObjectCount(This,count) (This)->lpVtbl->GetAvailableDynamicObjectCount(This,count) #define ISpatialAudioObjectRenderStream_GetService(This,riid,service) (This)->lpVtbl->GetService(This,riid,service) #define ISpatialAudioObjectRenderStream_Start(This) (This)->lpVtbl->Start(This) #define ISpatialAudioObjectRenderStream_Stop(This) (This)->lpVtbl->Stop(This) #define ISpatialAudioObjectRenderStream_Reset(This) (This)->lpVtbl->Reset(This) #define ISpatialAudioObjectRenderStream_BeginUpdatingAudioObjects(This,count,frames) (This)->lpVtbl->BeginUpdatingAudioObjects(This,count,frames) #define ISpatialAudioObjectRenderStream_EndUpdatingAudioObjects(This) (This)->lpVtbl->EndUpdatingAudioObjects(This) /*** ISpatialAudioObjectRenderStream methods ***/ #define ISpatialAudioObjectRenderStream_ActivateSpatialAudioObject(This,type,object) (This)->lpVtbl->ActivateSpatialAudioObject(This,type,object) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_QueryInterface(ISpatialAudioObjectRenderStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStream_AddRef(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ISpatialAudioObjectRenderStream_Release(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->Release(This); } /*** ISpatialAudioObjectRenderStreamBase methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStream* This,UINT32 *count) { return This->lpVtbl->GetAvailableDynamicObjectCount(This,count); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_GetService(ISpatialAudioObjectRenderStream* This,REFIID riid,void **service) { return This->lpVtbl->GetService(This,riid,service); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_Start(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->Start(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_Stop(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->Stop(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_Reset(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->Reset(This); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This,UINT32 *count,UINT32 *frames) { return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames); } static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_EndUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This) { return This->lpVtbl->EndUpdatingAudioObjects(This); } /*** ISpatialAudioObjectRenderStream methods ***/ static FORCEINLINE HRESULT ISpatialAudioObjectRenderStream_ActivateSpatialAudioObject(ISpatialAudioObjectRenderStream* This,AudioObjectType type,ISpatialAudioObject **object) { return This->lpVtbl->ActivateSpatialAudioObject(This,type,object); } #endif #endif #endif #endif /* __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __spatialaudioclient_h__ */