master
   1/*** Autogenerated by WIDL 10.4 from include/spatialaudioclient.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __spatialaudioclient_h__
  17#define __spatialaudioclient_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __ISpatialAudioObjectRenderStreamNotify_FWD_DEFINED__
  22#define __ISpatialAudioObjectRenderStreamNotify_FWD_DEFINED__
  23typedef interface ISpatialAudioObjectRenderStreamNotify ISpatialAudioObjectRenderStreamNotify;
  24#ifdef __cplusplus
  25interface ISpatialAudioObjectRenderStreamNotify;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IAudioFormatEnumerator_FWD_DEFINED__
  30#define __IAudioFormatEnumerator_FWD_DEFINED__
  31typedef interface IAudioFormatEnumerator IAudioFormatEnumerator;
  32#ifdef __cplusplus
  33interface IAudioFormatEnumerator;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __ISpatialAudioClient_FWD_DEFINED__
  38#define __ISpatialAudioClient_FWD_DEFINED__
  39typedef interface ISpatialAudioClient ISpatialAudioClient;
  40#ifdef __cplusplus
  41interface ISpatialAudioClient;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ISpatialAudioObjectBase_FWD_DEFINED__
  46#define __ISpatialAudioObjectBase_FWD_DEFINED__
  47typedef interface ISpatialAudioObjectBase ISpatialAudioObjectBase;
  48#ifdef __cplusplus
  49interface ISpatialAudioObjectBase;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __ISpatialAudioObject_FWD_DEFINED__
  54#define __ISpatialAudioObject_FWD_DEFINED__
  55typedef interface ISpatialAudioObject ISpatialAudioObject;
  56#ifdef __cplusplus
  57interface ISpatialAudioObject;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__
  62#define __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__
  63typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase;
  64#ifdef __cplusplus
  65interface ISpatialAudioObjectRenderStreamBase;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ISpatialAudioObjectRenderStream_FWD_DEFINED__
  70#define __ISpatialAudioObjectRenderStream_FWD_DEFINED__
  71typedef interface ISpatialAudioObjectRenderStream ISpatialAudioObjectRenderStream;
  72#ifdef __cplusplus
  73interface ISpatialAudioObjectRenderStream;
  74#endif /* __cplusplus */
  75#endif
  76
  77/* Headers for imported files */
  78
  79#include <unknwn.h>
  80#include <audioclient.h>
  81#include <propsys.h>
  82
  83#ifdef __cplusplus
  84extern "C" {
  85#endif
  86
  87typedef enum AudioObjectType {
  88    AudioObjectType_None = 0,
  89    AudioObjectType_Dynamic = 0x1,
  90    AudioObjectType_FrontLeft = 0x2,
  91    AudioObjectType_FrontRight = 0x4,
  92    AudioObjectType_FrontCenter = 0x8,
  93    AudioObjectType_LowFrequency = 0x10,
  94    AudioObjectType_SideLeft = 0x20,
  95    AudioObjectType_SideRight = 0x40,
  96    AudioObjectType_BackLeft = 0x80,
  97    AudioObjectType_BackRight = 0x100,
  98    AudioObjectType_TopFrontLeft = 0x200,
  99    AudioObjectType_TopFrontRight = 0x400,
 100    AudioObjectType_TopBackLeft = 0x800,
 101    AudioObjectType_TopBackRight = 0x1000,
 102    AudioObjectType_BottomFrontLeft = 0x2000,
 103    AudioObjectType_BottomFrontRight = 0x4000,
 104    AudioObjectType_BottomBackLeft = 0x8000,
 105    AudioObjectType_BottomBackRight = 0x10000,
 106    AudioObjectType_BackCenter = 0x20000
 107} AudioObjectType;
 108#define SPTLAUDCLNT_E_DESTROYED                     AUDCLNT_ERR(0x100)
 109#define SPTLAUDCLNT_E_OUT_OF_ORDER                  AUDCLNT_ERR(0x101)
 110#define SPTLAUDCLNT_E_RESOURCES_INVALIDATED         AUDCLNT_ERR(0x102)
 111#define SPTLAUDCLNT_E_NO_MORE_OBJECTS               AUDCLNT_ERR(0x103)
 112#define SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED        AUDCLNT_ERR(0x104)
 113#define SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS        AUDCLNT_ERR(0x105)
 114#define SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED AUDCLNT_ERR(0x106)
 115#define SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE          AUDCLNT_ERR(0x107)
 116#define SPTLAUDCLNT_E_INVALID_LICENSE               AUDCLNT_ERR(0x108)
 117#define SPTLAUDCLNT_E_STREAM_NOT_STOPPED            AUDCLNT_ERR(0x10a)
 118#define SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE   AUDCLNT_ERR(0x10b)
 119#define SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE         AUDCLNT_ERR(0x10c)
 120#define SPTLAUDCLNT_E_INTERNAL                      AUDCLNT_ERR(0x10d)
 121#ifndef __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__
 122#define __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__
 123typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase;
 124#ifdef __cplusplus
 125interface ISpatialAudioObjectRenderStreamBase;
 126#endif /* __cplusplus */
 127#endif
 128
 129/*****************************************************************************
 130 * ISpatialAudioObjectRenderStreamNotify interface
 131 */
 132#ifndef __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__
 133#define __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__
 134
 135DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamNotify, 0xdddf83e6, 0x68d7, 0x4c70, 0x88,0x3f, 0xa1,0x83,0x6a,0xfb,0x4a,0x50);
 136#if defined(__cplusplus) && !defined(CINTERFACE)
 137MIDL_INTERFACE("dddf83e6-68d7-4c70-883f-a1836afb4a50")
 138ISpatialAudioObjectRenderStreamNotify : public IUnknown
 139{
 140    virtual HRESULT STDMETHODCALLTYPE OnAvailableDynamicObjectCountChange(
 141        ISpatialAudioObjectRenderStreamBase *stream,
 142        LONGLONG deadline,
 143        UINT32 object_count) = 0;
 144
 145};
 146#ifdef __CRT_UUID_DECL
 147__CRT_UUID_DECL(ISpatialAudioObjectRenderStreamNotify, 0xdddf83e6, 0x68d7, 0x4c70, 0x88,0x3f, 0xa1,0x83,0x6a,0xfb,0x4a,0x50)
 148#endif
 149#else
 150typedef struct ISpatialAudioObjectRenderStreamNotifyVtbl {
 151    BEGIN_INTERFACE
 152
 153    /*** IUnknown methods ***/
 154    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 155        ISpatialAudioObjectRenderStreamNotify *This,
 156        REFIID riid,
 157        void **ppvObject);
 158
 159    ULONG (STDMETHODCALLTYPE *AddRef)(
 160        ISpatialAudioObjectRenderStreamNotify *This);
 161
 162    ULONG (STDMETHODCALLTYPE *Release)(
 163        ISpatialAudioObjectRenderStreamNotify *This);
 164
 165    /*** ISpatialAudioObjectRenderStreamNotify methods ***/
 166    HRESULT (STDMETHODCALLTYPE *OnAvailableDynamicObjectCountChange)(
 167        ISpatialAudioObjectRenderStreamNotify *This,
 168        ISpatialAudioObjectRenderStreamBase *stream,
 169        LONGLONG deadline,
 170        UINT32 object_count);
 171
 172    END_INTERFACE
 173} ISpatialAudioObjectRenderStreamNotifyVtbl;
 174
 175interface ISpatialAudioObjectRenderStreamNotify {
 176    CONST_VTBL ISpatialAudioObjectRenderStreamNotifyVtbl* lpVtbl;
 177};
 178
 179#ifdef COBJMACROS
 180#ifndef WIDL_C_INLINE_WRAPPERS
 181/*** IUnknown methods ***/
 182#define ISpatialAudioObjectRenderStreamNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 183#define ISpatialAudioObjectRenderStreamNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
 184#define ISpatialAudioObjectRenderStreamNotify_Release(This) (This)->lpVtbl->Release(This)
 185/*** ISpatialAudioObjectRenderStreamNotify methods ***/
 186#define ISpatialAudioObjectRenderStreamNotify_OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count) (This)->lpVtbl->OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count)
 187#else
 188/*** IUnknown methods ***/
 189static inline HRESULT ISpatialAudioObjectRenderStreamNotify_QueryInterface(ISpatialAudioObjectRenderStreamNotify* This,REFIID riid,void **ppvObject) {
 190    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 191}
 192static inline ULONG ISpatialAudioObjectRenderStreamNotify_AddRef(ISpatialAudioObjectRenderStreamNotify* This) {
 193    return This->lpVtbl->AddRef(This);
 194}
 195static inline ULONG ISpatialAudioObjectRenderStreamNotify_Release(ISpatialAudioObjectRenderStreamNotify* This) {
 196    return This->lpVtbl->Release(This);
 197}
 198/*** ISpatialAudioObjectRenderStreamNotify methods ***/
 199static inline HRESULT ISpatialAudioObjectRenderStreamNotify_OnAvailableDynamicObjectCountChange(ISpatialAudioObjectRenderStreamNotify* This,ISpatialAudioObjectRenderStreamBase *stream,LONGLONG deadline,UINT32 object_count) {
 200    return This->lpVtbl->OnAvailableDynamicObjectCountChange(This,stream,deadline,object_count);
 201}
 202#endif
 203#endif
 204
 205#endif
 206
 207
 208#endif  /* __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ */
 209
 210typedef struct tagSpatialAudioObjectRenderStreamActivationParams {
 211    const WAVEFORMATEX *ObjectFormat;
 212    AudioObjectType StaticObjectTypeMask;
 213    UINT32 MinDynamicObjectCount;
 214    UINT32 MaxDynamicObjectCount;
 215    AUDIO_STREAM_CATEGORY Category;
 216    HANDLE EventHandle;
 217    ISpatialAudioObjectRenderStreamNotify *NotifyObject;
 218} SpatialAudioObjectRenderStreamActivationParams;
 219/*****************************************************************************
 220 * IAudioFormatEnumerator interface
 221 */
 222#ifndef __IAudioFormatEnumerator_INTERFACE_DEFINED__
 223#define __IAudioFormatEnumerator_INTERFACE_DEFINED__
 224
 225DEFINE_GUID(IID_IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d);
 226#if defined(__cplusplus) && !defined(CINTERFACE)
 227MIDL_INTERFACE("dcdaa858-895a-4a22-a5eb-67bda506096d")
 228IAudioFormatEnumerator : public IUnknown
 229{
 230    virtual HRESULT STDMETHODCALLTYPE GetCount(
 231        UINT32 *count) = 0;
 232
 233    virtual HRESULT STDMETHODCALLTYPE GetFormat(
 234        UINT32 index,
 235        WAVEFORMATEX **format) = 0;
 236
 237};
 238#ifdef __CRT_UUID_DECL
 239__CRT_UUID_DECL(IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d)
 240#endif
 241#else
 242typedef struct IAudioFormatEnumeratorVtbl {
 243    BEGIN_INTERFACE
 244
 245    /*** IUnknown methods ***/
 246    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 247        IAudioFormatEnumerator *This,
 248        REFIID riid,
 249        void **ppvObject);
 250
 251    ULONG (STDMETHODCALLTYPE *AddRef)(
 252        IAudioFormatEnumerator *This);
 253
 254    ULONG (STDMETHODCALLTYPE *Release)(
 255        IAudioFormatEnumerator *This);
 256
 257    /*** IAudioFormatEnumerator methods ***/
 258    HRESULT (STDMETHODCALLTYPE *GetCount)(
 259        IAudioFormatEnumerator *This,
 260        UINT32 *count);
 261
 262    HRESULT (STDMETHODCALLTYPE *GetFormat)(
 263        IAudioFormatEnumerator *This,
 264        UINT32 index,
 265        WAVEFORMATEX **format);
 266
 267    END_INTERFACE
 268} IAudioFormatEnumeratorVtbl;
 269
 270interface IAudioFormatEnumerator {
 271    CONST_VTBL IAudioFormatEnumeratorVtbl* lpVtbl;
 272};
 273
 274#ifdef COBJMACROS
 275#ifndef WIDL_C_INLINE_WRAPPERS
 276/*** IUnknown methods ***/
 277#define IAudioFormatEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 278#define IAudioFormatEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
 279#define IAudioFormatEnumerator_Release(This) (This)->lpVtbl->Release(This)
 280/*** IAudioFormatEnumerator methods ***/
 281#define IAudioFormatEnumerator_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
 282#define IAudioFormatEnumerator_GetFormat(This,index,format) (This)->lpVtbl->GetFormat(This,index,format)
 283#else
 284/*** IUnknown methods ***/
 285static inline HRESULT IAudioFormatEnumerator_QueryInterface(IAudioFormatEnumerator* This,REFIID riid,void **ppvObject) {
 286    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 287}
 288static inline ULONG IAudioFormatEnumerator_AddRef(IAudioFormatEnumerator* This) {
 289    return This->lpVtbl->AddRef(This);
 290}
 291static inline ULONG IAudioFormatEnumerator_Release(IAudioFormatEnumerator* This) {
 292    return This->lpVtbl->Release(This);
 293}
 294/*** IAudioFormatEnumerator methods ***/
 295static inline HRESULT IAudioFormatEnumerator_GetCount(IAudioFormatEnumerator* This,UINT32 *count) {
 296    return This->lpVtbl->GetCount(This,count);
 297}
 298static inline HRESULT IAudioFormatEnumerator_GetFormat(IAudioFormatEnumerator* This,UINT32 index,WAVEFORMATEX **format) {
 299    return This->lpVtbl->GetFormat(This,index,format);
 300}
 301#endif
 302#endif
 303
 304#endif
 305
 306
 307#endif  /* __IAudioFormatEnumerator_INTERFACE_DEFINED__ */
 308
 309/*****************************************************************************
 310 * ISpatialAudioClient interface
 311 */
 312#ifndef __ISpatialAudioClient_INTERFACE_DEFINED__
 313#define __ISpatialAudioClient_INTERFACE_DEFINED__
 314
 315DEFINE_GUID(IID_ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f);
 316#if defined(__cplusplus) && !defined(CINTERFACE)
 317MIDL_INTERFACE("bbf8e066-aaaa-49be-9a4d-fd2a858ea27f")
 318ISpatialAudioClient : public IUnknown
 319{
 320    virtual HRESULT STDMETHODCALLTYPE GetStaticObjectPosition(
 321        AudioObjectType type,
 322        float *x,
 323        float *y,
 324        float *z) = 0;
 325
 326    virtual HRESULT STDMETHODCALLTYPE GetNativeStaticObjectTypeMask(
 327        AudioObjectType *mask) = 0;
 328
 329    virtual HRESULT STDMETHODCALLTYPE GetMaxDynamicObjectCount(
 330        UINT32 *value) = 0;
 331
 332    virtual HRESULT STDMETHODCALLTYPE GetSupportedAudioObjectFormatEnumerator(
 333        IAudioFormatEnumerator **enumerator) = 0;
 334
 335    virtual HRESULT STDMETHODCALLTYPE GetMaxFrameCount(
 336        const WAVEFORMATEX *format,
 337        UINT32 *count) = 0;
 338
 339    virtual HRESULT STDMETHODCALLTYPE IsAudioObjectFormatSupported(
 340        const WAVEFORMATEX *format) = 0;
 341
 342    virtual HRESULT STDMETHODCALLTYPE IsSpatialAudioStreamAvailable(
 343        REFIID stream_uuid,
 344        const PROPVARIANT *info) = 0;
 345
 346    virtual HRESULT STDMETHODCALLTYPE ActivateSpatialAudioStream(
 347        const PROPVARIANT *params,
 348        REFIID riid,
 349        void **stream) = 0;
 350
 351};
 352#ifdef __CRT_UUID_DECL
 353__CRT_UUID_DECL(ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f)
 354#endif
 355#else
 356typedef struct ISpatialAudioClientVtbl {
 357    BEGIN_INTERFACE
 358
 359    /*** IUnknown methods ***/
 360    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 361        ISpatialAudioClient *This,
 362        REFIID riid,
 363        void **ppvObject);
 364
 365    ULONG (STDMETHODCALLTYPE *AddRef)(
 366        ISpatialAudioClient *This);
 367
 368    ULONG (STDMETHODCALLTYPE *Release)(
 369        ISpatialAudioClient *This);
 370
 371    /*** ISpatialAudioClient methods ***/
 372    HRESULT (STDMETHODCALLTYPE *GetStaticObjectPosition)(
 373        ISpatialAudioClient *This,
 374        AudioObjectType type,
 375        float *x,
 376        float *y,
 377        float *z);
 378
 379    HRESULT (STDMETHODCALLTYPE *GetNativeStaticObjectTypeMask)(
 380        ISpatialAudioClient *This,
 381        AudioObjectType *mask);
 382
 383    HRESULT (STDMETHODCALLTYPE *GetMaxDynamicObjectCount)(
 384        ISpatialAudioClient *This,
 385        UINT32 *value);
 386
 387    HRESULT (STDMETHODCALLTYPE *GetSupportedAudioObjectFormatEnumerator)(
 388        ISpatialAudioClient *This,
 389        IAudioFormatEnumerator **enumerator);
 390
 391    HRESULT (STDMETHODCALLTYPE *GetMaxFrameCount)(
 392        ISpatialAudioClient *This,
 393        const WAVEFORMATEX *format,
 394        UINT32 *count);
 395
 396    HRESULT (STDMETHODCALLTYPE *IsAudioObjectFormatSupported)(
 397        ISpatialAudioClient *This,
 398        const WAVEFORMATEX *format);
 399
 400    HRESULT (STDMETHODCALLTYPE *IsSpatialAudioStreamAvailable)(
 401        ISpatialAudioClient *This,
 402        REFIID stream_uuid,
 403        const PROPVARIANT *info);
 404
 405    HRESULT (STDMETHODCALLTYPE *ActivateSpatialAudioStream)(
 406        ISpatialAudioClient *This,
 407        const PROPVARIANT *params,
 408        REFIID riid,
 409        void **stream);
 410
 411    END_INTERFACE
 412} ISpatialAudioClientVtbl;
 413
 414interface ISpatialAudioClient {
 415    CONST_VTBL ISpatialAudioClientVtbl* lpVtbl;
 416};
 417
 418#ifdef COBJMACROS
 419#ifndef WIDL_C_INLINE_WRAPPERS
 420/*** IUnknown methods ***/
 421#define ISpatialAudioClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 422#define ISpatialAudioClient_AddRef(This) (This)->lpVtbl->AddRef(This)
 423#define ISpatialAudioClient_Release(This) (This)->lpVtbl->Release(This)
 424/*** ISpatialAudioClient methods ***/
 425#define ISpatialAudioClient_GetStaticObjectPosition(This,type,x,y,z) (This)->lpVtbl->GetStaticObjectPosition(This,type,x,y,z)
 426#define ISpatialAudioClient_GetNativeStaticObjectTypeMask(This,mask) (This)->lpVtbl->GetNativeStaticObjectTypeMask(This,mask)
 427#define ISpatialAudioClient_GetMaxDynamicObjectCount(This,value) (This)->lpVtbl->GetMaxDynamicObjectCount(This,value)
 428#define ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(This,enumerator) (This)->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator)
 429#define ISpatialAudioClient_GetMaxFrameCount(This,format,count) (This)->lpVtbl->GetMaxFrameCount(This,format,count)
 430#define ISpatialAudioClient_IsAudioObjectFormatSupported(This,format) (This)->lpVtbl->IsAudioObjectFormatSupported(This,format)
 431#define ISpatialAudioClient_IsSpatialAudioStreamAvailable(This,stream_uuid,info) (This)->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info)
 432#define ISpatialAudioClient_ActivateSpatialAudioStream(This,params,riid,stream) (This)->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream)
 433#else
 434/*** IUnknown methods ***/
 435static inline HRESULT ISpatialAudioClient_QueryInterface(ISpatialAudioClient* This,REFIID riid,void **ppvObject) {
 436    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 437}
 438static inline ULONG ISpatialAudioClient_AddRef(ISpatialAudioClient* This) {
 439    return This->lpVtbl->AddRef(This);
 440}
 441static inline ULONG ISpatialAudioClient_Release(ISpatialAudioClient* This) {
 442    return This->lpVtbl->Release(This);
 443}
 444/*** ISpatialAudioClient methods ***/
 445static inline HRESULT ISpatialAudioClient_GetStaticObjectPosition(ISpatialAudioClient* This,AudioObjectType type,float *x,float *y,float *z) {
 446    return This->lpVtbl->GetStaticObjectPosition(This,type,x,y,z);
 447}
 448static inline HRESULT ISpatialAudioClient_GetNativeStaticObjectTypeMask(ISpatialAudioClient* This,AudioObjectType *mask) {
 449    return This->lpVtbl->GetNativeStaticObjectTypeMask(This,mask);
 450}
 451static inline HRESULT ISpatialAudioClient_GetMaxDynamicObjectCount(ISpatialAudioClient* This,UINT32 *value) {
 452    return This->lpVtbl->GetMaxDynamicObjectCount(This,value);
 453}
 454static inline HRESULT ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(ISpatialAudioClient* This,IAudioFormatEnumerator **enumerator) {
 455    return This->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator);
 456}
 457static inline HRESULT ISpatialAudioClient_GetMaxFrameCount(ISpatialAudioClient* This,const WAVEFORMATEX *format,UINT32 *count) {
 458    return This->lpVtbl->GetMaxFrameCount(This,format,count);
 459}
 460static inline HRESULT ISpatialAudioClient_IsAudioObjectFormatSupported(ISpatialAudioClient* This,const WAVEFORMATEX *format) {
 461    return This->lpVtbl->IsAudioObjectFormatSupported(This,format);
 462}
 463static inline HRESULT ISpatialAudioClient_IsSpatialAudioStreamAvailable(ISpatialAudioClient* This,REFIID stream_uuid,const PROPVARIANT *info) {
 464    return This->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info);
 465}
 466static inline HRESULT ISpatialAudioClient_ActivateSpatialAudioStream(ISpatialAudioClient* This,const PROPVARIANT *params,REFIID riid,void **stream) {
 467    return This->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream);
 468}
 469#endif
 470#endif
 471
 472#endif
 473
 474
 475#endif  /* __ISpatialAudioClient_INTERFACE_DEFINED__ */
 476
 477/*****************************************************************************
 478 * ISpatialAudioObjectBase interface
 479 */
 480#ifndef __ISpatialAudioObjectBase_INTERFACE_DEFINED__
 481#define __ISpatialAudioObjectBase_INTERFACE_DEFINED__
 482
 483DEFINE_GUID(IID_ISpatialAudioObjectBase, 0xcce0b8f2, 0x8d4d, 0x4efb, 0xa8,0xcf, 0x3d,0x6e,0xcf,0x1c,0x30,0xe0);
 484#if defined(__cplusplus) && !defined(CINTERFACE)
 485MIDL_INTERFACE("cce0b8f2-8d4d-4efb-a8cf-3d6ecf1c30e0")
 486ISpatialAudioObjectBase : public IUnknown
 487{
 488    virtual HRESULT STDMETHODCALLTYPE GetBuffer(
 489        BYTE **buffer,
 490        UINT32 *bytes) = 0;
 491
 492    virtual HRESULT STDMETHODCALLTYPE SetEndOfStream(
 493        UINT32 frames) = 0;
 494
 495    virtual HRESULT STDMETHODCALLTYPE IsActive(
 496        WINBOOL *active) = 0;
 497
 498    virtual HRESULT STDMETHODCALLTYPE GetAudioObjectType(
 499        AudioObjectType *type) = 0;
 500
 501};
 502#ifdef __CRT_UUID_DECL
 503__CRT_UUID_DECL(ISpatialAudioObjectBase, 0xcce0b8f2, 0x8d4d, 0x4efb, 0xa8,0xcf, 0x3d,0x6e,0xcf,0x1c,0x30,0xe0)
 504#endif
 505#else
 506typedef struct ISpatialAudioObjectBaseVtbl {
 507    BEGIN_INTERFACE
 508
 509    /*** IUnknown methods ***/
 510    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 511        ISpatialAudioObjectBase *This,
 512        REFIID riid,
 513        void **ppvObject);
 514
 515    ULONG (STDMETHODCALLTYPE *AddRef)(
 516        ISpatialAudioObjectBase *This);
 517
 518    ULONG (STDMETHODCALLTYPE *Release)(
 519        ISpatialAudioObjectBase *This);
 520
 521    /*** ISpatialAudioObjectBase methods ***/
 522    HRESULT (STDMETHODCALLTYPE *GetBuffer)(
 523        ISpatialAudioObjectBase *This,
 524        BYTE **buffer,
 525        UINT32 *bytes);
 526
 527    HRESULT (STDMETHODCALLTYPE *SetEndOfStream)(
 528        ISpatialAudioObjectBase *This,
 529        UINT32 frames);
 530
 531    HRESULT (STDMETHODCALLTYPE *IsActive)(
 532        ISpatialAudioObjectBase *This,
 533        WINBOOL *active);
 534
 535    HRESULT (STDMETHODCALLTYPE *GetAudioObjectType)(
 536        ISpatialAudioObjectBase *This,
 537        AudioObjectType *type);
 538
 539    END_INTERFACE
 540} ISpatialAudioObjectBaseVtbl;
 541
 542interface ISpatialAudioObjectBase {
 543    CONST_VTBL ISpatialAudioObjectBaseVtbl* lpVtbl;
 544};
 545
 546#ifdef COBJMACROS
 547#ifndef WIDL_C_INLINE_WRAPPERS
 548/*** IUnknown methods ***/
 549#define ISpatialAudioObjectBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 550#define ISpatialAudioObjectBase_AddRef(This) (This)->lpVtbl->AddRef(This)
 551#define ISpatialAudioObjectBase_Release(This) (This)->lpVtbl->Release(This)
 552/*** ISpatialAudioObjectBase methods ***/
 553#define ISpatialAudioObjectBase_GetBuffer(This,buffer,bytes) (This)->lpVtbl->GetBuffer(This,buffer,bytes)
 554#define ISpatialAudioObjectBase_SetEndOfStream(This,frames) (This)->lpVtbl->SetEndOfStream(This,frames)
 555#define ISpatialAudioObjectBase_IsActive(This,active) (This)->lpVtbl->IsActive(This,active)
 556#define ISpatialAudioObjectBase_GetAudioObjectType(This,type) (This)->lpVtbl->GetAudioObjectType(This,type)
 557#else
 558/*** IUnknown methods ***/
 559static inline HRESULT ISpatialAudioObjectBase_QueryInterface(ISpatialAudioObjectBase* This,REFIID riid,void **ppvObject) {
 560    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 561}
 562static inline ULONG ISpatialAudioObjectBase_AddRef(ISpatialAudioObjectBase* This) {
 563    return This->lpVtbl->AddRef(This);
 564}
 565static inline ULONG ISpatialAudioObjectBase_Release(ISpatialAudioObjectBase* This) {
 566    return This->lpVtbl->Release(This);
 567}
 568/*** ISpatialAudioObjectBase methods ***/
 569static inline HRESULT ISpatialAudioObjectBase_GetBuffer(ISpatialAudioObjectBase* This,BYTE **buffer,UINT32 *bytes) {
 570    return This->lpVtbl->GetBuffer(This,buffer,bytes);
 571}
 572static inline HRESULT ISpatialAudioObjectBase_SetEndOfStream(ISpatialAudioObjectBase* This,UINT32 frames) {
 573    return This->lpVtbl->SetEndOfStream(This,frames);
 574}
 575static inline HRESULT ISpatialAudioObjectBase_IsActive(ISpatialAudioObjectBase* This,WINBOOL *active) {
 576    return This->lpVtbl->IsActive(This,active);
 577}
 578static inline HRESULT ISpatialAudioObjectBase_GetAudioObjectType(ISpatialAudioObjectBase* This,AudioObjectType *type) {
 579    return This->lpVtbl->GetAudioObjectType(This,type);
 580}
 581#endif
 582#endif
 583
 584#endif
 585
 586
 587#endif  /* __ISpatialAudioObjectBase_INTERFACE_DEFINED__ */
 588
 589/*****************************************************************************
 590 * ISpatialAudioObject interface
 591 */
 592#ifndef __ISpatialAudioObject_INTERFACE_DEFINED__
 593#define __ISpatialAudioObject_INTERFACE_DEFINED__
 594
 595DEFINE_GUID(IID_ISpatialAudioObject, 0xdde28967, 0x521b, 0x46e5, 0x8f,0x00, 0xbd,0x6f,0x2b,0xc8,0xab,0x1d);
 596#if defined(__cplusplus) && !defined(CINTERFACE)
 597MIDL_INTERFACE("dde28967-521b-46e5-8f00-bd6f2bc8ab1d")
 598ISpatialAudioObject : public ISpatialAudioObjectBase
 599{
 600    virtual HRESULT STDMETHODCALLTYPE SetPosition(
 601        float x,
 602        float y,
 603        float z) = 0;
 604
 605    virtual HRESULT STDMETHODCALLTYPE SetVolume(
 606        float vol) = 0;
 607
 608};
 609#ifdef __CRT_UUID_DECL
 610__CRT_UUID_DECL(ISpatialAudioObject, 0xdde28967, 0x521b, 0x46e5, 0x8f,0x00, 0xbd,0x6f,0x2b,0xc8,0xab,0x1d)
 611#endif
 612#else
 613typedef struct ISpatialAudioObjectVtbl {
 614    BEGIN_INTERFACE
 615
 616    /*** IUnknown methods ***/
 617    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 618        ISpatialAudioObject *This,
 619        REFIID riid,
 620        void **ppvObject);
 621
 622    ULONG (STDMETHODCALLTYPE *AddRef)(
 623        ISpatialAudioObject *This);
 624
 625    ULONG (STDMETHODCALLTYPE *Release)(
 626        ISpatialAudioObject *This);
 627
 628    /*** ISpatialAudioObjectBase methods ***/
 629    HRESULT (STDMETHODCALLTYPE *GetBuffer)(
 630        ISpatialAudioObject *This,
 631        BYTE **buffer,
 632        UINT32 *bytes);
 633
 634    HRESULT (STDMETHODCALLTYPE *SetEndOfStream)(
 635        ISpatialAudioObject *This,
 636        UINT32 frames);
 637
 638    HRESULT (STDMETHODCALLTYPE *IsActive)(
 639        ISpatialAudioObject *This,
 640        WINBOOL *active);
 641
 642    HRESULT (STDMETHODCALLTYPE *GetAudioObjectType)(
 643        ISpatialAudioObject *This,
 644        AudioObjectType *type);
 645
 646    /*** ISpatialAudioObject methods ***/
 647    HRESULT (STDMETHODCALLTYPE *SetPosition)(
 648        ISpatialAudioObject *This,
 649        float x,
 650        float y,
 651        float z);
 652
 653    HRESULT (STDMETHODCALLTYPE *SetVolume)(
 654        ISpatialAudioObject *This,
 655        float vol);
 656
 657    END_INTERFACE
 658} ISpatialAudioObjectVtbl;
 659
 660interface ISpatialAudioObject {
 661    CONST_VTBL ISpatialAudioObjectVtbl* lpVtbl;
 662};
 663
 664#ifdef COBJMACROS
 665#ifndef WIDL_C_INLINE_WRAPPERS
 666/*** IUnknown methods ***/
 667#define ISpatialAudioObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 668#define ISpatialAudioObject_AddRef(This) (This)->lpVtbl->AddRef(This)
 669#define ISpatialAudioObject_Release(This) (This)->lpVtbl->Release(This)
 670/*** ISpatialAudioObjectBase methods ***/
 671#define ISpatialAudioObject_GetBuffer(This,buffer,bytes) (This)->lpVtbl->GetBuffer(This,buffer,bytes)
 672#define ISpatialAudioObject_SetEndOfStream(This,frames) (This)->lpVtbl->SetEndOfStream(This,frames)
 673#define ISpatialAudioObject_IsActive(This,active) (This)->lpVtbl->IsActive(This,active)
 674#define ISpatialAudioObject_GetAudioObjectType(This,type) (This)->lpVtbl->GetAudioObjectType(This,type)
 675/*** ISpatialAudioObject methods ***/
 676#define ISpatialAudioObject_SetPosition(This,x,y,z) (This)->lpVtbl->SetPosition(This,x,y,z)
 677#define ISpatialAudioObject_SetVolume(This,vol) (This)->lpVtbl->SetVolume(This,vol)
 678#else
 679/*** IUnknown methods ***/
 680static inline HRESULT ISpatialAudioObject_QueryInterface(ISpatialAudioObject* This,REFIID riid,void **ppvObject) {
 681    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 682}
 683static inline ULONG ISpatialAudioObject_AddRef(ISpatialAudioObject* This) {
 684    return This->lpVtbl->AddRef(This);
 685}
 686static inline ULONG ISpatialAudioObject_Release(ISpatialAudioObject* This) {
 687    return This->lpVtbl->Release(This);
 688}
 689/*** ISpatialAudioObjectBase methods ***/
 690static inline HRESULT ISpatialAudioObject_GetBuffer(ISpatialAudioObject* This,BYTE **buffer,UINT32 *bytes) {
 691    return This->lpVtbl->GetBuffer(This,buffer,bytes);
 692}
 693static inline HRESULT ISpatialAudioObject_SetEndOfStream(ISpatialAudioObject* This,UINT32 frames) {
 694    return This->lpVtbl->SetEndOfStream(This,frames);
 695}
 696static inline HRESULT ISpatialAudioObject_IsActive(ISpatialAudioObject* This,WINBOOL *active) {
 697    return This->lpVtbl->IsActive(This,active);
 698}
 699static inline HRESULT ISpatialAudioObject_GetAudioObjectType(ISpatialAudioObject* This,AudioObjectType *type) {
 700    return This->lpVtbl->GetAudioObjectType(This,type);
 701}
 702/*** ISpatialAudioObject methods ***/
 703static inline HRESULT ISpatialAudioObject_SetPosition(ISpatialAudioObject* This,float x,float y,float z) {
 704    return This->lpVtbl->SetPosition(This,x,y,z);
 705}
 706static inline HRESULT ISpatialAudioObject_SetVolume(ISpatialAudioObject* This,float vol) {
 707    return This->lpVtbl->SetVolume(This,vol);
 708}
 709#endif
 710#endif
 711
 712#endif
 713
 714
 715#endif  /* __ISpatialAudioObject_INTERFACE_DEFINED__ */
 716
 717/*****************************************************************************
 718 * ISpatialAudioObjectRenderStreamBase interface
 719 */
 720#ifndef __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__
 721#define __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__
 722
 723DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamBase, 0xfeaaf403, 0xc1d8, 0x450d, 0xaa,0x05, 0xe0,0xcc,0xee,0x75,0x02,0xa8);
 724#if defined(__cplusplus) && !defined(CINTERFACE)
 725MIDL_INTERFACE("feaaf403-c1d8-450d-aa05-e0ccee7502a8")
 726ISpatialAudioObjectRenderStreamBase : public IUnknown
 727{
 728    virtual HRESULT STDMETHODCALLTYPE GetAvailableDynamicObjectCount(
 729        UINT32 *count) = 0;
 730
 731    virtual HRESULT STDMETHODCALLTYPE GetService(
 732        REFIID riid,
 733        void **service) = 0;
 734
 735    virtual HRESULT STDMETHODCALLTYPE Start(
 736        ) = 0;
 737
 738    virtual HRESULT STDMETHODCALLTYPE Stop(
 739        ) = 0;
 740
 741    virtual HRESULT STDMETHODCALLTYPE Reset(
 742        ) = 0;
 743
 744    virtual HRESULT STDMETHODCALLTYPE BeginUpdatingAudioObjects(
 745        UINT32 *count,
 746        UINT32 *frames) = 0;
 747
 748    virtual HRESULT STDMETHODCALLTYPE EndUpdatingAudioObjects(
 749        ) = 0;
 750
 751};
 752#ifdef __CRT_UUID_DECL
 753__CRT_UUID_DECL(ISpatialAudioObjectRenderStreamBase, 0xfeaaf403, 0xc1d8, 0x450d, 0xaa,0x05, 0xe0,0xcc,0xee,0x75,0x02,0xa8)
 754#endif
 755#else
 756typedef struct ISpatialAudioObjectRenderStreamBaseVtbl {
 757    BEGIN_INTERFACE
 758
 759    /*** IUnknown methods ***/
 760    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 761        ISpatialAudioObjectRenderStreamBase *This,
 762        REFIID riid,
 763        void **ppvObject);
 764
 765    ULONG (STDMETHODCALLTYPE *AddRef)(
 766        ISpatialAudioObjectRenderStreamBase *This);
 767
 768    ULONG (STDMETHODCALLTYPE *Release)(
 769        ISpatialAudioObjectRenderStreamBase *This);
 770
 771    /*** ISpatialAudioObjectRenderStreamBase methods ***/
 772    HRESULT (STDMETHODCALLTYPE *GetAvailableDynamicObjectCount)(
 773        ISpatialAudioObjectRenderStreamBase *This,
 774        UINT32 *count);
 775
 776    HRESULT (STDMETHODCALLTYPE *GetService)(
 777        ISpatialAudioObjectRenderStreamBase *This,
 778        REFIID riid,
 779        void **service);
 780
 781    HRESULT (STDMETHODCALLTYPE *Start)(
 782        ISpatialAudioObjectRenderStreamBase *This);
 783
 784    HRESULT (STDMETHODCALLTYPE *Stop)(
 785        ISpatialAudioObjectRenderStreamBase *This);
 786
 787    HRESULT (STDMETHODCALLTYPE *Reset)(
 788        ISpatialAudioObjectRenderStreamBase *This);
 789
 790    HRESULT (STDMETHODCALLTYPE *BeginUpdatingAudioObjects)(
 791        ISpatialAudioObjectRenderStreamBase *This,
 792        UINT32 *count,
 793        UINT32 *frames);
 794
 795    HRESULT (STDMETHODCALLTYPE *EndUpdatingAudioObjects)(
 796        ISpatialAudioObjectRenderStreamBase *This);
 797
 798    END_INTERFACE
 799} ISpatialAudioObjectRenderStreamBaseVtbl;
 800
 801interface ISpatialAudioObjectRenderStreamBase {
 802    CONST_VTBL ISpatialAudioObjectRenderStreamBaseVtbl* lpVtbl;
 803};
 804
 805#ifdef COBJMACROS
 806#ifndef WIDL_C_INLINE_WRAPPERS
 807/*** IUnknown methods ***/
 808#define ISpatialAudioObjectRenderStreamBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 809#define ISpatialAudioObjectRenderStreamBase_AddRef(This) (This)->lpVtbl->AddRef(This)
 810#define ISpatialAudioObjectRenderStreamBase_Release(This) (This)->lpVtbl->Release(This)
 811/*** ISpatialAudioObjectRenderStreamBase methods ***/
 812#define ISpatialAudioObjectRenderStreamBase_GetAvailableDynamicObjectCount(This,count) (This)->lpVtbl->GetAvailableDynamicObjectCount(This,count)
 813#define ISpatialAudioObjectRenderStreamBase_GetService(This,riid,service) (This)->lpVtbl->GetService(This,riid,service)
 814#define ISpatialAudioObjectRenderStreamBase_Start(This) (This)->lpVtbl->Start(This)
 815#define ISpatialAudioObjectRenderStreamBase_Stop(This) (This)->lpVtbl->Stop(This)
 816#define ISpatialAudioObjectRenderStreamBase_Reset(This) (This)->lpVtbl->Reset(This)
 817#define ISpatialAudioObjectRenderStreamBase_BeginUpdatingAudioObjects(This,count,frames) (This)->lpVtbl->BeginUpdatingAudioObjects(This,count,frames)
 818#define ISpatialAudioObjectRenderStreamBase_EndUpdatingAudioObjects(This) (This)->lpVtbl->EndUpdatingAudioObjects(This)
 819#else
 820/*** IUnknown methods ***/
 821static inline HRESULT ISpatialAudioObjectRenderStreamBase_QueryInterface(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **ppvObject) {
 822    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 823}
 824static inline ULONG ISpatialAudioObjectRenderStreamBase_AddRef(ISpatialAudioObjectRenderStreamBase* This) {
 825    return This->lpVtbl->AddRef(This);
 826}
 827static inline ULONG ISpatialAudioObjectRenderStreamBase_Release(ISpatialAudioObjectRenderStreamBase* This) {
 828    return This->lpVtbl->Release(This);
 829}
 830/*** ISpatialAudioObjectRenderStreamBase methods ***/
 831static inline HRESULT ISpatialAudioObjectRenderStreamBase_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count) {
 832    return This->lpVtbl->GetAvailableDynamicObjectCount(This,count);
 833}
 834static inline HRESULT ISpatialAudioObjectRenderStreamBase_GetService(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **service) {
 835    return This->lpVtbl->GetService(This,riid,service);
 836}
 837static inline HRESULT ISpatialAudioObjectRenderStreamBase_Start(ISpatialAudioObjectRenderStreamBase* This) {
 838    return This->lpVtbl->Start(This);
 839}
 840static inline HRESULT ISpatialAudioObjectRenderStreamBase_Stop(ISpatialAudioObjectRenderStreamBase* This) {
 841    return This->lpVtbl->Stop(This);
 842}
 843static inline HRESULT ISpatialAudioObjectRenderStreamBase_Reset(ISpatialAudioObjectRenderStreamBase* This) {
 844    return This->lpVtbl->Reset(This);
 845}
 846static inline HRESULT ISpatialAudioObjectRenderStreamBase_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count,UINT32 *frames) {
 847    return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames);
 848}
 849static inline HRESULT ISpatialAudioObjectRenderStreamBase_EndUpdatingAudioObjects(ISpatialAudioObjectRenderStreamBase* This) {
 850    return This->lpVtbl->EndUpdatingAudioObjects(This);
 851}
 852#endif
 853#endif
 854
 855#endif
 856
 857
 858#endif  /* __ISpatialAudioObjectRenderStreamBase_INTERFACE_DEFINED__ */
 859
 860/*****************************************************************************
 861 * ISpatialAudioObjectRenderStream interface
 862 */
 863#ifndef __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__
 864#define __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__
 865
 866DEFINE_GUID(IID_ISpatialAudioObjectRenderStream, 0xbab5f473, 0xb423, 0x477b, 0x85,0xf5, 0xb5,0xa3,0x32,0xa0,0x41,0x53);
 867#if defined(__cplusplus) && !defined(CINTERFACE)
 868MIDL_INTERFACE("bab5f473-b423-477b-85f5-b5a332a04153")
 869ISpatialAudioObjectRenderStream : public ISpatialAudioObjectRenderStreamBase
 870{
 871    virtual HRESULT STDMETHODCALLTYPE ActivateSpatialAudioObject(
 872        AudioObjectType type,
 873        ISpatialAudioObject **object) = 0;
 874
 875};
 876#ifdef __CRT_UUID_DECL
 877__CRT_UUID_DECL(ISpatialAudioObjectRenderStream, 0xbab5f473, 0xb423, 0x477b, 0x85,0xf5, 0xb5,0xa3,0x32,0xa0,0x41,0x53)
 878#endif
 879#else
 880typedef struct ISpatialAudioObjectRenderStreamVtbl {
 881    BEGIN_INTERFACE
 882
 883    /*** IUnknown methods ***/
 884    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 885        ISpatialAudioObjectRenderStream *This,
 886        REFIID riid,
 887        void **ppvObject);
 888
 889    ULONG (STDMETHODCALLTYPE *AddRef)(
 890        ISpatialAudioObjectRenderStream *This);
 891
 892    ULONG (STDMETHODCALLTYPE *Release)(
 893        ISpatialAudioObjectRenderStream *This);
 894
 895    /*** ISpatialAudioObjectRenderStreamBase methods ***/
 896    HRESULT (STDMETHODCALLTYPE *GetAvailableDynamicObjectCount)(
 897        ISpatialAudioObjectRenderStream *This,
 898        UINT32 *count);
 899
 900    HRESULT (STDMETHODCALLTYPE *GetService)(
 901        ISpatialAudioObjectRenderStream *This,
 902        REFIID riid,
 903        void **service);
 904
 905    HRESULT (STDMETHODCALLTYPE *Start)(
 906        ISpatialAudioObjectRenderStream *This);
 907
 908    HRESULT (STDMETHODCALLTYPE *Stop)(
 909        ISpatialAudioObjectRenderStream *This);
 910
 911    HRESULT (STDMETHODCALLTYPE *Reset)(
 912        ISpatialAudioObjectRenderStream *This);
 913
 914    HRESULT (STDMETHODCALLTYPE *BeginUpdatingAudioObjects)(
 915        ISpatialAudioObjectRenderStream *This,
 916        UINT32 *count,
 917        UINT32 *frames);
 918
 919    HRESULT (STDMETHODCALLTYPE *EndUpdatingAudioObjects)(
 920        ISpatialAudioObjectRenderStream *This);
 921
 922    /*** ISpatialAudioObjectRenderStream methods ***/
 923    HRESULT (STDMETHODCALLTYPE *ActivateSpatialAudioObject)(
 924        ISpatialAudioObjectRenderStream *This,
 925        AudioObjectType type,
 926        ISpatialAudioObject **object);
 927
 928    END_INTERFACE
 929} ISpatialAudioObjectRenderStreamVtbl;
 930
 931interface ISpatialAudioObjectRenderStream {
 932    CONST_VTBL ISpatialAudioObjectRenderStreamVtbl* lpVtbl;
 933};
 934
 935#ifdef COBJMACROS
 936#ifndef WIDL_C_INLINE_WRAPPERS
 937/*** IUnknown methods ***/
 938#define ISpatialAudioObjectRenderStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 939#define ISpatialAudioObjectRenderStream_AddRef(This) (This)->lpVtbl->AddRef(This)
 940#define ISpatialAudioObjectRenderStream_Release(This) (This)->lpVtbl->Release(This)
 941/*** ISpatialAudioObjectRenderStreamBase methods ***/
 942#define ISpatialAudioObjectRenderStream_GetAvailableDynamicObjectCount(This,count) (This)->lpVtbl->GetAvailableDynamicObjectCount(This,count)
 943#define ISpatialAudioObjectRenderStream_GetService(This,riid,service) (This)->lpVtbl->GetService(This,riid,service)
 944#define ISpatialAudioObjectRenderStream_Start(This) (This)->lpVtbl->Start(This)
 945#define ISpatialAudioObjectRenderStream_Stop(This) (This)->lpVtbl->Stop(This)
 946#define ISpatialAudioObjectRenderStream_Reset(This) (This)->lpVtbl->Reset(This)
 947#define ISpatialAudioObjectRenderStream_BeginUpdatingAudioObjects(This,count,frames) (This)->lpVtbl->BeginUpdatingAudioObjects(This,count,frames)
 948#define ISpatialAudioObjectRenderStream_EndUpdatingAudioObjects(This) (This)->lpVtbl->EndUpdatingAudioObjects(This)
 949/*** ISpatialAudioObjectRenderStream methods ***/
 950#define ISpatialAudioObjectRenderStream_ActivateSpatialAudioObject(This,type,object) (This)->lpVtbl->ActivateSpatialAudioObject(This,type,object)
 951#else
 952/*** IUnknown methods ***/
 953static inline HRESULT ISpatialAudioObjectRenderStream_QueryInterface(ISpatialAudioObjectRenderStream* This,REFIID riid,void **ppvObject) {
 954    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 955}
 956static inline ULONG ISpatialAudioObjectRenderStream_AddRef(ISpatialAudioObjectRenderStream* This) {
 957    return This->lpVtbl->AddRef(This);
 958}
 959static inline ULONG ISpatialAudioObjectRenderStream_Release(ISpatialAudioObjectRenderStream* This) {
 960    return This->lpVtbl->Release(This);
 961}
 962/*** ISpatialAudioObjectRenderStreamBase methods ***/
 963static inline HRESULT ISpatialAudioObjectRenderStream_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStream* This,UINT32 *count) {
 964    return This->lpVtbl->GetAvailableDynamicObjectCount(This,count);
 965}
 966static inline HRESULT ISpatialAudioObjectRenderStream_GetService(ISpatialAudioObjectRenderStream* This,REFIID riid,void **service) {
 967    return This->lpVtbl->GetService(This,riid,service);
 968}
 969static inline HRESULT ISpatialAudioObjectRenderStream_Start(ISpatialAudioObjectRenderStream* This) {
 970    return This->lpVtbl->Start(This);
 971}
 972static inline HRESULT ISpatialAudioObjectRenderStream_Stop(ISpatialAudioObjectRenderStream* This) {
 973    return This->lpVtbl->Stop(This);
 974}
 975static inline HRESULT ISpatialAudioObjectRenderStream_Reset(ISpatialAudioObjectRenderStream* This) {
 976    return This->lpVtbl->Reset(This);
 977}
 978static inline HRESULT ISpatialAudioObjectRenderStream_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This,UINT32 *count,UINT32 *frames) {
 979    return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames);
 980}
 981static inline HRESULT ISpatialAudioObjectRenderStream_EndUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This) {
 982    return This->lpVtbl->EndUpdatingAudioObjects(This);
 983}
 984/*** ISpatialAudioObjectRenderStream methods ***/
 985static inline HRESULT ISpatialAudioObjectRenderStream_ActivateSpatialAudioObject(ISpatialAudioObjectRenderStream* This,AudioObjectType type,ISpatialAudioObject **object) {
 986    return This->lpVtbl->ActivateSpatialAudioObject(This,type,object);
 987}
 988#endif
 989#endif
 990
 991#endif
 992
 993
 994#endif  /* __ISpatialAudioObjectRenderStream_INTERFACE_DEFINED__ */
 995
 996/* Begin additional prototypes for all interfaces */
 997
 998
 999/* End additional prototypes */
1000
1001#ifdef __cplusplus
1002}
1003#endif
1004
1005#endif /* __spatialaudioclient_h__ */