spatialaudioclient.h (39562B) - Raw
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__ 23 typedef interface ISpatialAudioObjectRenderStreamNotify ISpatialAudioObjectRenderStreamNotify; 24 #ifdef __cplusplus 25 interface ISpatialAudioObjectRenderStreamNotify; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IAudioFormatEnumerator_FWD_DEFINED__ 30 #define __IAudioFormatEnumerator_FWD_DEFINED__ 31 typedef interface IAudioFormatEnumerator IAudioFormatEnumerator; 32 #ifdef __cplusplus 33 interface IAudioFormatEnumerator; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __ISpatialAudioClient_FWD_DEFINED__ 38 #define __ISpatialAudioClient_FWD_DEFINED__ 39 typedef interface ISpatialAudioClient ISpatialAudioClient; 40 #ifdef __cplusplus 41 interface ISpatialAudioClient; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __ISpatialAudioObjectBase_FWD_DEFINED__ 46 #define __ISpatialAudioObjectBase_FWD_DEFINED__ 47 typedef interface ISpatialAudioObjectBase ISpatialAudioObjectBase; 48 #ifdef __cplusplus 49 interface ISpatialAudioObjectBase; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __ISpatialAudioObject_FWD_DEFINED__ 54 #define __ISpatialAudioObject_FWD_DEFINED__ 55 typedef interface ISpatialAudioObject ISpatialAudioObject; 56 #ifdef __cplusplus 57 interface ISpatialAudioObject; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ 62 #define __ISpatialAudioObjectRenderStreamBase_FWD_DEFINED__ 63 typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase; 64 #ifdef __cplusplus 65 interface ISpatialAudioObjectRenderStreamBase; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __ISpatialAudioObjectRenderStream_FWD_DEFINED__ 70 #define __ISpatialAudioObjectRenderStream_FWD_DEFINED__ 71 typedef interface ISpatialAudioObjectRenderStream ISpatialAudioObjectRenderStream; 72 #ifdef __cplusplus 73 interface 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 84 extern "C" { 85 #endif 86 87 typedef 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__ 123 typedef interface ISpatialAudioObjectRenderStreamBase ISpatialAudioObjectRenderStreamBase; 124 #ifdef __cplusplus 125 interface ISpatialAudioObjectRenderStreamBase; 126 #endif /* __cplusplus */ 127 #endif 128 129 /***************************************************************************** 130 * ISpatialAudioObjectRenderStreamNotify interface 131 */ 132 #ifndef __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ 133 #define __ISpatialAudioObjectRenderStreamNotify_INTERFACE_DEFINED__ 134 135 DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamNotify, 0xdddf83e6, 0x68d7, 0x4c70, 0x88,0x3f, 0xa1,0x83,0x6a,0xfb,0x4a,0x50); 136 #if defined(__cplusplus) && !defined(CINTERFACE) 137 MIDL_INTERFACE("dddf83e6-68d7-4c70-883f-a1836afb4a50") 138 ISpatialAudioObjectRenderStreamNotify : 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 150 typedef 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 175 interface 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 ***/ 189 static inline HRESULT ISpatialAudioObjectRenderStreamNotify_QueryInterface(ISpatialAudioObjectRenderStreamNotify* This,REFIID riid,void **ppvObject) { 190 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 191 } 192 static inline ULONG ISpatialAudioObjectRenderStreamNotify_AddRef(ISpatialAudioObjectRenderStreamNotify* This) { 193 return This->lpVtbl->AddRef(This); 194 } 195 static inline ULONG ISpatialAudioObjectRenderStreamNotify_Release(ISpatialAudioObjectRenderStreamNotify* This) { 196 return This->lpVtbl->Release(This); 197 } 198 /*** ISpatialAudioObjectRenderStreamNotify methods ***/ 199 static 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 210 typedef 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 225 DEFINE_GUID(IID_IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d); 226 #if defined(__cplusplus) && !defined(CINTERFACE) 227 MIDL_INTERFACE("dcdaa858-895a-4a22-a5eb-67bda506096d") 228 IAudioFormatEnumerator : 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 242 typedef 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 270 interface 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 ***/ 285 static inline HRESULT IAudioFormatEnumerator_QueryInterface(IAudioFormatEnumerator* This,REFIID riid,void **ppvObject) { 286 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 287 } 288 static inline ULONG IAudioFormatEnumerator_AddRef(IAudioFormatEnumerator* This) { 289 return This->lpVtbl->AddRef(This); 290 } 291 static inline ULONG IAudioFormatEnumerator_Release(IAudioFormatEnumerator* This) { 292 return This->lpVtbl->Release(This); 293 } 294 /*** IAudioFormatEnumerator methods ***/ 295 static inline HRESULT IAudioFormatEnumerator_GetCount(IAudioFormatEnumerator* This,UINT32 *count) { 296 return This->lpVtbl->GetCount(This,count); 297 } 298 static 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 315 DEFINE_GUID(IID_ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f); 316 #if defined(__cplusplus) && !defined(CINTERFACE) 317 MIDL_INTERFACE("bbf8e066-aaaa-49be-9a4d-fd2a858ea27f") 318 ISpatialAudioClient : 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 356 typedef 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 414 interface 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 ***/ 435 static inline HRESULT ISpatialAudioClient_QueryInterface(ISpatialAudioClient* This,REFIID riid,void **ppvObject) { 436 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 437 } 438 static inline ULONG ISpatialAudioClient_AddRef(ISpatialAudioClient* This) { 439 return This->lpVtbl->AddRef(This); 440 } 441 static inline ULONG ISpatialAudioClient_Release(ISpatialAudioClient* This) { 442 return This->lpVtbl->Release(This); 443 } 444 /*** ISpatialAudioClient methods ***/ 445 static 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 } 448 static inline HRESULT ISpatialAudioClient_GetNativeStaticObjectTypeMask(ISpatialAudioClient* This,AudioObjectType *mask) { 449 return This->lpVtbl->GetNativeStaticObjectTypeMask(This,mask); 450 } 451 static inline HRESULT ISpatialAudioClient_GetMaxDynamicObjectCount(ISpatialAudioClient* This,UINT32 *value) { 452 return This->lpVtbl->GetMaxDynamicObjectCount(This,value); 453 } 454 static inline HRESULT ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(ISpatialAudioClient* This,IAudioFormatEnumerator **enumerator) { 455 return This->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator); 456 } 457 static inline HRESULT ISpatialAudioClient_GetMaxFrameCount(ISpatialAudioClient* This,const WAVEFORMATEX *format,UINT32 *count) { 458 return This->lpVtbl->GetMaxFrameCount(This,format,count); 459 } 460 static inline HRESULT ISpatialAudioClient_IsAudioObjectFormatSupported(ISpatialAudioClient* This,const WAVEFORMATEX *format) { 461 return This->lpVtbl->IsAudioObjectFormatSupported(This,format); 462 } 463 static inline HRESULT ISpatialAudioClient_IsSpatialAudioStreamAvailable(ISpatialAudioClient* This,REFIID stream_uuid,const PROPVARIANT *info) { 464 return This->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info); 465 } 466 static 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 483 DEFINE_GUID(IID_ISpatialAudioObjectBase, 0xcce0b8f2, 0x8d4d, 0x4efb, 0xa8,0xcf, 0x3d,0x6e,0xcf,0x1c,0x30,0xe0); 484 #if defined(__cplusplus) && !defined(CINTERFACE) 485 MIDL_INTERFACE("cce0b8f2-8d4d-4efb-a8cf-3d6ecf1c30e0") 486 ISpatialAudioObjectBase : 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 506 typedef 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 542 interface 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 ***/ 559 static inline HRESULT ISpatialAudioObjectBase_QueryInterface(ISpatialAudioObjectBase* This,REFIID riid,void **ppvObject) { 560 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 561 } 562 static inline ULONG ISpatialAudioObjectBase_AddRef(ISpatialAudioObjectBase* This) { 563 return This->lpVtbl->AddRef(This); 564 } 565 static inline ULONG ISpatialAudioObjectBase_Release(ISpatialAudioObjectBase* This) { 566 return This->lpVtbl->Release(This); 567 } 568 /*** ISpatialAudioObjectBase methods ***/ 569 static inline HRESULT ISpatialAudioObjectBase_GetBuffer(ISpatialAudioObjectBase* This,BYTE **buffer,UINT32 *bytes) { 570 return This->lpVtbl->GetBuffer(This,buffer,bytes); 571 } 572 static inline HRESULT ISpatialAudioObjectBase_SetEndOfStream(ISpatialAudioObjectBase* This,UINT32 frames) { 573 return This->lpVtbl->SetEndOfStream(This,frames); 574 } 575 static inline HRESULT ISpatialAudioObjectBase_IsActive(ISpatialAudioObjectBase* This,WINBOOL *active) { 576 return This->lpVtbl->IsActive(This,active); 577 } 578 static 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 595 DEFINE_GUID(IID_ISpatialAudioObject, 0xdde28967, 0x521b, 0x46e5, 0x8f,0x00, 0xbd,0x6f,0x2b,0xc8,0xab,0x1d); 596 #if defined(__cplusplus) && !defined(CINTERFACE) 597 MIDL_INTERFACE("dde28967-521b-46e5-8f00-bd6f2bc8ab1d") 598 ISpatialAudioObject : 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 613 typedef 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 660 interface 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 ***/ 680 static inline HRESULT ISpatialAudioObject_QueryInterface(ISpatialAudioObject* This,REFIID riid,void **ppvObject) { 681 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 682 } 683 static inline ULONG ISpatialAudioObject_AddRef(ISpatialAudioObject* This) { 684 return This->lpVtbl->AddRef(This); 685 } 686 static inline ULONG ISpatialAudioObject_Release(ISpatialAudioObject* This) { 687 return This->lpVtbl->Release(This); 688 } 689 /*** ISpatialAudioObjectBase methods ***/ 690 static inline HRESULT ISpatialAudioObject_GetBuffer(ISpatialAudioObject* This,BYTE **buffer,UINT32 *bytes) { 691 return This->lpVtbl->GetBuffer(This,buffer,bytes); 692 } 693 static inline HRESULT ISpatialAudioObject_SetEndOfStream(ISpatialAudioObject* This,UINT32 frames) { 694 return This->lpVtbl->SetEndOfStream(This,frames); 695 } 696 static inline HRESULT ISpatialAudioObject_IsActive(ISpatialAudioObject* This,WINBOOL *active) { 697 return This->lpVtbl->IsActive(This,active); 698 } 699 static inline HRESULT ISpatialAudioObject_GetAudioObjectType(ISpatialAudioObject* This,AudioObjectType *type) { 700 return This->lpVtbl->GetAudioObjectType(This,type); 701 } 702 /*** ISpatialAudioObject methods ***/ 703 static inline HRESULT ISpatialAudioObject_SetPosition(ISpatialAudioObject* This,float x,float y,float z) { 704 return This->lpVtbl->SetPosition(This,x,y,z); 705 } 706 static 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 723 DEFINE_GUID(IID_ISpatialAudioObjectRenderStreamBase, 0xfeaaf403, 0xc1d8, 0x450d, 0xaa,0x05, 0xe0,0xcc,0xee,0x75,0x02,0xa8); 724 #if defined(__cplusplus) && !defined(CINTERFACE) 725 MIDL_INTERFACE("feaaf403-c1d8-450d-aa05-e0ccee7502a8") 726 ISpatialAudioObjectRenderStreamBase : 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 756 typedef 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 801 interface 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 ***/ 821 static inline HRESULT ISpatialAudioObjectRenderStreamBase_QueryInterface(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **ppvObject) { 822 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 823 } 824 static inline ULONG ISpatialAudioObjectRenderStreamBase_AddRef(ISpatialAudioObjectRenderStreamBase* This) { 825 return This->lpVtbl->AddRef(This); 826 } 827 static inline ULONG ISpatialAudioObjectRenderStreamBase_Release(ISpatialAudioObjectRenderStreamBase* This) { 828 return This->lpVtbl->Release(This); 829 } 830 /*** ISpatialAudioObjectRenderStreamBase methods ***/ 831 static inline HRESULT ISpatialAudioObjectRenderStreamBase_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count) { 832 return This->lpVtbl->GetAvailableDynamicObjectCount(This,count); 833 } 834 static inline HRESULT ISpatialAudioObjectRenderStreamBase_GetService(ISpatialAudioObjectRenderStreamBase* This,REFIID riid,void **service) { 835 return This->lpVtbl->GetService(This,riid,service); 836 } 837 static inline HRESULT ISpatialAudioObjectRenderStreamBase_Start(ISpatialAudioObjectRenderStreamBase* This) { 838 return This->lpVtbl->Start(This); 839 } 840 static inline HRESULT ISpatialAudioObjectRenderStreamBase_Stop(ISpatialAudioObjectRenderStreamBase* This) { 841 return This->lpVtbl->Stop(This); 842 } 843 static inline HRESULT ISpatialAudioObjectRenderStreamBase_Reset(ISpatialAudioObjectRenderStreamBase* This) { 844 return This->lpVtbl->Reset(This); 845 } 846 static inline HRESULT ISpatialAudioObjectRenderStreamBase_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStreamBase* This,UINT32 *count,UINT32 *frames) { 847 return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames); 848 } 849 static 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 866 DEFINE_GUID(IID_ISpatialAudioObjectRenderStream, 0xbab5f473, 0xb423, 0x477b, 0x85,0xf5, 0xb5,0xa3,0x32,0xa0,0x41,0x53); 867 #if defined(__cplusplus) && !defined(CINTERFACE) 868 MIDL_INTERFACE("bab5f473-b423-477b-85f5-b5a332a04153") 869 ISpatialAudioObjectRenderStream : 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 880 typedef 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 931 interface 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 ***/ 953 static inline HRESULT ISpatialAudioObjectRenderStream_QueryInterface(ISpatialAudioObjectRenderStream* This,REFIID riid,void **ppvObject) { 954 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 955 } 956 static inline ULONG ISpatialAudioObjectRenderStream_AddRef(ISpatialAudioObjectRenderStream* This) { 957 return This->lpVtbl->AddRef(This); 958 } 959 static inline ULONG ISpatialAudioObjectRenderStream_Release(ISpatialAudioObjectRenderStream* This) { 960 return This->lpVtbl->Release(This); 961 } 962 /*** ISpatialAudioObjectRenderStreamBase methods ***/ 963 static inline HRESULT ISpatialAudioObjectRenderStream_GetAvailableDynamicObjectCount(ISpatialAudioObjectRenderStream* This,UINT32 *count) { 964 return This->lpVtbl->GetAvailableDynamicObjectCount(This,count); 965 } 966 static inline HRESULT ISpatialAudioObjectRenderStream_GetService(ISpatialAudioObjectRenderStream* This,REFIID riid,void **service) { 967 return This->lpVtbl->GetService(This,riid,service); 968 } 969 static inline HRESULT ISpatialAudioObjectRenderStream_Start(ISpatialAudioObjectRenderStream* This) { 970 return This->lpVtbl->Start(This); 971 } 972 static inline HRESULT ISpatialAudioObjectRenderStream_Stop(ISpatialAudioObjectRenderStream* This) { 973 return This->lpVtbl->Stop(This); 974 } 975 static inline HRESULT ISpatialAudioObjectRenderStream_Reset(ISpatialAudioObjectRenderStream* This) { 976 return This->lpVtbl->Reset(This); 977 } 978 static inline HRESULT ISpatialAudioObjectRenderStream_BeginUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This,UINT32 *count,UINT32 *frames) { 979 return This->lpVtbl->BeginUpdatingAudioObjects(This,count,frames); 980 } 981 static inline HRESULT ISpatialAudioObjectRenderStream_EndUpdatingAudioObjects(ISpatialAudioObjectRenderStream* This) { 982 return This->lpVtbl->EndUpdatingAudioObjects(This); 983 } 984 /*** ISpatialAudioObjectRenderStream methods ***/ 985 static 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__ */