1/*** Autogenerated by WIDL 1.5.25 from include/audioclient.idl - Do not edit ***/ 2 3#ifndef __REQUIRED_RPCNDR_H_VERSION__ 4#define __REQUIRED_RPCNDR_H_VERSION__ 475 5#endif 6 7#include <rpc.h> 8#include <rpcndr.h> 9 10#ifndef COM_NO_WINDOWS_H 11#include <windows.h> 12#include <ole2.h> 13#endif 14 15#ifndef __audioclient_h__ 16#define __audioclient_h__ 17 18/* Forward declarations */ 19 20#ifndef __IAudioClient_FWD_DEFINED__ 21#define __IAudioClient_FWD_DEFINED__ 22typedef interface IAudioClient IAudioClient; 23#endif 24 25#ifndef __IAudioRenderClient_FWD_DEFINED__ 26#define __IAudioRenderClient_FWD_DEFINED__ 27typedef interface IAudioRenderClient IAudioRenderClient; 28#endif 29 30#ifndef __IAudioCaptureClient_FWD_DEFINED__ 31#define __IAudioCaptureClient_FWD_DEFINED__ 32typedef interface IAudioCaptureClient IAudioCaptureClient; 33#endif 34 35#ifndef __IAudioClock_FWD_DEFINED__ 36#define __IAudioClock_FWD_DEFINED__ 37typedef interface IAudioClock IAudioClock; 38#endif 39 40#ifndef __IAudioClock2_FWD_DEFINED__ 41#define __IAudioClock2_FWD_DEFINED__ 42typedef interface IAudioClock2 IAudioClock2; 43#endif 44 45#ifndef __IAudioClockAdjustment_FWD_DEFINED__ 46#define __IAudioClockAdjustment_FWD_DEFINED__ 47typedef interface IAudioClockAdjustment IAudioClockAdjustment; 48#endif 49 50#ifndef __ISimpleAudioVolume_FWD_DEFINED__ 51#define __ISimpleAudioVolume_FWD_DEFINED__ 52typedef interface ISimpleAudioVolume ISimpleAudioVolume; 53#endif 54 55#ifndef __IAudioStreamVolume_FWD_DEFINED__ 56#define __IAudioStreamVolume_FWD_DEFINED__ 57typedef interface IAudioStreamVolume IAudioStreamVolume; 58#endif 59 60#ifndef __IChannelAudioVolume_FWD_DEFINED__ 61#define __IChannelAudioVolume_FWD_DEFINED__ 62typedef interface IChannelAudioVolume IChannelAudioVolume; 63#endif 64 65/* Headers for imported files */ 66 67#include <wtypes.h> 68#include <unknwn.h> 69#include <audiosessiontypes.h> 70 71#ifdef __cplusplus 72extern "C" { 73#endif 74 75#ifndef __IAudioClient_FWD_DEFINED__ 76#define __IAudioClient_FWD_DEFINED__ 77typedef interface IAudioClient IAudioClient; 78#endif 79 80#ifndef __IAudioRenderClient_FWD_DEFINED__ 81#define __IAudioRenderClient_FWD_DEFINED__ 82typedef interface IAudioRenderClient IAudioRenderClient; 83#endif 84 85#ifndef __IAudioCaptureClient_FWD_DEFINED__ 86#define __IAudioCaptureClient_FWD_DEFINED__ 87typedef interface IAudioCaptureClient IAudioCaptureClient; 88#endif 89 90#ifndef __IAudioClock_FWD_DEFINED__ 91#define __IAudioClock_FWD_DEFINED__ 92typedef interface IAudioClock IAudioClock; 93#endif 94 95#ifndef __IAudioClock2_FWD_DEFINED__ 96#define __IAudioClock2_FWD_DEFINED__ 97typedef interface IAudioClock2 IAudioClock2; 98#endif 99 100#ifndef __IAudioClockAdjustment_FWD_DEFINED__ 101#define __IAudioClockAdjustment_FWD_DEFINED__ 102typedef interface IAudioClockAdjustment IAudioClockAdjustment; 103#endif 104 105#ifndef __ISimpleAudioVolume_FWD_DEFINED__ 106#define __ISimpleAudioVolume_FWD_DEFINED__ 107typedef interface ISimpleAudioVolume ISimpleAudioVolume; 108#endif 109 110#ifndef __IAudioStreamVolume_FWD_DEFINED__ 111#define __IAudioStreamVolume_FWD_DEFINED__ 112typedef interface IAudioStreamVolume IAudioStreamVolume; 113#endif 114 115#ifndef __IChannelAudioVolume_FWD_DEFINED__ 116#define __IChannelAudioVolume_FWD_DEFINED__ 117typedef interface IChannelAudioVolume IChannelAudioVolume; 118#endif 119 120#if 0 121typedef struct WAVEFORMATEX { 122 WORD wFormatTag; 123 WORD nChannels; 124 DWORD nSamplesPerSec; 125 DWORD nAvgBytesPerSec; 126 WORD nBlockAlign; 127 WORD wBitsPerSample; 128 WORD cbSize; 129} WAVEFORMATEX; 130#else 131#include <mmreg.h> 132#endif 133#if 0 134typedef LONGLONG REFERENCE_TIME; 135#else 136#define _IKsControl_ 137#include <ks.h> 138#include <ksmedia.h> 139#endif 140enum _AUDCLNT_BUFFERFLAGS { 141 AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 0x1, 142 AUDCLNT_BUFFERFLAGS_SILENT = 0x2, 143 AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR = 0x4 144}; 145 146/***************************************************************************** 147 * IAudioClient interface 148 */ 149#ifndef __IAudioClient_INTERFACE_DEFINED__ 150#define __IAudioClient_INTERFACE_DEFINED__ 151 152DEFINE_GUID(IID_IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1,0x78, 0xc2,0xf5,0x68,0xa7,0x03,0xb2); 153#if defined(__cplusplus) && !defined(CINTERFACE) 154MIDL_INTERFACE("1cb9ad4c-dbfa-4c32-b178-c2f568a703b2") 155IAudioClient : public IUnknown 156{ 157 virtual HRESULT STDMETHODCALLTYPE Initialize( 158 AUDCLNT_SHAREMODE ShareMode, 159 DWORD StreamFlags, 160 REFERENCE_TIME hnsBufferDuration, 161 REFERENCE_TIME hnsPeriodicity, 162 const WAVEFORMATEX *pFormat, 163 LPCGUID AudioSessionGuid) = 0; 164 165 virtual HRESULT STDMETHODCALLTYPE GetBufferSize( 166 UINT32 *pNumBufferFrames) = 0; 167 168 virtual HRESULT STDMETHODCALLTYPE GetStreamLatency( 169 REFERENCE_TIME *phnsLatency) = 0; 170 171 virtual HRESULT STDMETHODCALLTYPE GetCurrentPadding( 172 UINT32 *pNumPaddingFrames) = 0; 173 174 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 175 AUDCLNT_SHAREMODE ShareMode, 176 const WAVEFORMATEX *pFormat, 177 WAVEFORMATEX **ppClosestMatch) = 0; 178 179 virtual HRESULT STDMETHODCALLTYPE GetMixFormat( 180 WAVEFORMATEX **ppDeviceFormat) = 0; 181 182 virtual HRESULT STDMETHODCALLTYPE GetDevicePeriod( 183 REFERENCE_TIME *phnsDefaultDevicePeriod, 184 REFERENCE_TIME *phnsMinimumDevicePeriod) = 0; 185 186 virtual HRESULT STDMETHODCALLTYPE Start( 187 ) = 0; 188 189 virtual HRESULT STDMETHODCALLTYPE Stop( 190 ) = 0; 191 192 virtual HRESULT STDMETHODCALLTYPE Reset( 193 ) = 0; 194 195 virtual HRESULT STDMETHODCALLTYPE SetEventHandle( 196 HANDLE eventHandle) = 0; 197 198 virtual HRESULT STDMETHODCALLTYPE GetService( 199 REFIID riid, 200 void **ppv) = 0; 201 202}; 203#ifdef __CRT_UUID_DECL 204__CRT_UUID_DECL(IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1,0x78, 0xc2,0xf5,0x68,0xa7,0x03,0xb2) 205#endif 206#else 207typedef struct IAudioClientVtbl { 208 BEGIN_INTERFACE 209 210 /*** IUnknown methods ***/ 211 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 212 IAudioClient* This, 213 REFIID riid, 214 void **ppvObject); 215 216 ULONG (STDMETHODCALLTYPE *AddRef)( 217 IAudioClient* This); 218 219 ULONG (STDMETHODCALLTYPE *Release)( 220 IAudioClient* This); 221 222 /*** IAudioClient methods ***/ 223 HRESULT (STDMETHODCALLTYPE *Initialize)( 224 IAudioClient* This, 225 AUDCLNT_SHAREMODE ShareMode, 226 DWORD StreamFlags, 227 REFERENCE_TIME hnsBufferDuration, 228 REFERENCE_TIME hnsPeriodicity, 229 const WAVEFORMATEX *pFormat, 230 LPCGUID AudioSessionGuid); 231 232 HRESULT (STDMETHODCALLTYPE *GetBufferSize)( 233 IAudioClient* This, 234 UINT32 *pNumBufferFrames); 235 236 HRESULT (STDMETHODCALLTYPE *GetStreamLatency)( 237 IAudioClient* This, 238 REFERENCE_TIME *phnsLatency); 239 240 HRESULT (STDMETHODCALLTYPE *GetCurrentPadding)( 241 IAudioClient* This, 242 UINT32 *pNumPaddingFrames); 243 244 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( 245 IAudioClient* This, 246 AUDCLNT_SHAREMODE ShareMode, 247 const WAVEFORMATEX *pFormat, 248 WAVEFORMATEX **ppClosestMatch); 249 250 HRESULT (STDMETHODCALLTYPE *GetMixFormat)( 251 IAudioClient* This, 252 WAVEFORMATEX **ppDeviceFormat); 253 254 HRESULT (STDMETHODCALLTYPE *GetDevicePeriod)( 255 IAudioClient* This, 256 REFERENCE_TIME *phnsDefaultDevicePeriod, 257 REFERENCE_TIME *phnsMinimumDevicePeriod); 258 259 HRESULT (STDMETHODCALLTYPE *Start)( 260 IAudioClient* This); 261 262 HRESULT (STDMETHODCALLTYPE *Stop)( 263 IAudioClient* This); 264 265 HRESULT (STDMETHODCALLTYPE *Reset)( 266 IAudioClient* This); 267 268 HRESULT (STDMETHODCALLTYPE *SetEventHandle)( 269 IAudioClient* This, 270 HANDLE eventHandle); 271 272 HRESULT (STDMETHODCALLTYPE *GetService)( 273 IAudioClient* This, 274 REFIID riid, 275 void **ppv); 276 277 END_INTERFACE 278} IAudioClientVtbl; 279interface IAudioClient { 280 CONST_VTBL IAudioClientVtbl* lpVtbl; 281}; 282 283#ifdef COBJMACROS 284#ifndef WIDL_C_INLINE_WRAPPERS 285/*** IUnknown methods ***/ 286#define IAudioClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 287#define IAudioClient_AddRef(This) (This)->lpVtbl->AddRef(This) 288#define IAudioClient_Release(This) (This)->lpVtbl->Release(This) 289/*** IAudioClient methods ***/ 290#define IAudioClient_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) (This)->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) 291#define IAudioClient_GetBufferSize(This,pNumBufferFrames) (This)->lpVtbl->GetBufferSize(This,pNumBufferFrames) 292#define IAudioClient_GetStreamLatency(This,phnsLatency) (This)->lpVtbl->GetStreamLatency(This,phnsLatency) 293#define IAudioClient_GetCurrentPadding(This,pNumPaddingFrames) (This)->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames) 294#define IAudioClient_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) (This)->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) 295#define IAudioClient_GetMixFormat(This,ppDeviceFormat) (This)->lpVtbl->GetMixFormat(This,ppDeviceFormat) 296#define IAudioClient_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) (This)->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) 297#define IAudioClient_Start(This) (This)->lpVtbl->Start(This) 298#define IAudioClient_Stop(This) (This)->lpVtbl->Stop(This) 299#define IAudioClient_Reset(This) (This)->lpVtbl->Reset(This) 300#define IAudioClient_SetEventHandle(This,eventHandle) (This)->lpVtbl->SetEventHandle(This,eventHandle) 301#define IAudioClient_GetService(This,riid,ppv) (This)->lpVtbl->GetService(This,riid,ppv) 302#else 303/*** IUnknown methods ***/ 304static FORCEINLINE HRESULT IAudioClient_QueryInterface(IAudioClient* This,REFIID riid,void **ppvObject) { 305 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 306} 307static FORCEINLINE ULONG IAudioClient_AddRef(IAudioClient* This) { 308 return This->lpVtbl->AddRef(This); 309} 310static FORCEINLINE ULONG IAudioClient_Release(IAudioClient* This) { 311 return This->lpVtbl->Release(This); 312} 313/*** IAudioClient methods ***/ 314static FORCEINLINE HRESULT IAudioClient_Initialize(IAudioClient* This,AUDCLNT_SHAREMODE ShareMode,DWORD StreamFlags,REFERENCE_TIME hnsBufferDuration,REFERENCE_TIME hnsPeriodicity,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { 315 return This->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid); 316} 317static FORCEINLINE HRESULT IAudioClient_GetBufferSize(IAudioClient* This,UINT32 *pNumBufferFrames) { 318 return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); 319} 320static FORCEINLINE HRESULT IAudioClient_GetStreamLatency(IAudioClient* This,REFERENCE_TIME *phnsLatency) { 321 return This->lpVtbl->GetStreamLatency(This,phnsLatency); 322} 323static FORCEINLINE HRESULT IAudioClient_GetCurrentPadding(IAudioClient* This,UINT32 *pNumPaddingFrames) { 324 return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); 325} 326static FORCEINLINE HRESULT IAudioClient_IsFormatSupported(IAudioClient* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { 327 return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); 328} 329static FORCEINLINE HRESULT IAudioClient_GetMixFormat(IAudioClient* This,WAVEFORMATEX **ppDeviceFormat) { 330 return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); 331} 332static FORCEINLINE HRESULT IAudioClient_GetDevicePeriod(IAudioClient* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { 333 return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); 334} 335static FORCEINLINE HRESULT IAudioClient_Start(IAudioClient* This) { 336 return This->lpVtbl->Start(This); 337} 338static FORCEINLINE HRESULT IAudioClient_Stop(IAudioClient* This) { 339 return This->lpVtbl->Stop(This); 340} 341static FORCEINLINE HRESULT IAudioClient_Reset(IAudioClient* This) { 342 return This->lpVtbl->Reset(This); 343} 344static FORCEINLINE HRESULT IAudioClient_SetEventHandle(IAudioClient* This,HANDLE eventHandle) { 345 return This->lpVtbl->SetEventHandle(This,eventHandle); 346} 347static FORCEINLINE HRESULT IAudioClient_GetService(IAudioClient* This,REFIID riid,void **ppv) { 348 return This->lpVtbl->GetService(This,riid,ppv); 349} 350#endif 351#endif 352 353#endif 354 355HRESULT STDMETHODCALLTYPE IAudioClient_Initialize_Proxy( 356 IAudioClient* This, 357 AUDCLNT_SHAREMODE ShareMode, 358 DWORD StreamFlags, 359 REFERENCE_TIME hnsBufferDuration, 360 REFERENCE_TIME hnsPeriodicity, 361 const WAVEFORMATEX *pFormat, 362 LPCGUID AudioSessionGuid); 363void __RPC_STUB IAudioClient_Initialize_Stub( 364 IRpcStubBuffer* This, 365 IRpcChannelBuffer* pRpcChannelBuffer, 366 PRPC_MESSAGE pRpcMessage, 367 DWORD* pdwStubPhase); 368HRESULT STDMETHODCALLTYPE IAudioClient_GetBufferSize_Proxy( 369 IAudioClient* This, 370 UINT32 *pNumBufferFrames); 371void __RPC_STUB IAudioClient_GetBufferSize_Stub( 372 IRpcStubBuffer* This, 373 IRpcChannelBuffer* pRpcChannelBuffer, 374 PRPC_MESSAGE pRpcMessage, 375 DWORD* pdwStubPhase); 376HRESULT STDMETHODCALLTYPE IAudioClient_GetStreamLatency_Proxy( 377 IAudioClient* This, 378 REFERENCE_TIME *phnsLatency); 379void __RPC_STUB IAudioClient_GetStreamLatency_Stub( 380 IRpcStubBuffer* This, 381 IRpcChannelBuffer* pRpcChannelBuffer, 382 PRPC_MESSAGE pRpcMessage, 383 DWORD* pdwStubPhase); 384HRESULT STDMETHODCALLTYPE IAudioClient_GetCurrentPadding_Proxy( 385 IAudioClient* This, 386 UINT32 *pNumPaddingFrames); 387void __RPC_STUB IAudioClient_GetCurrentPadding_Stub( 388 IRpcStubBuffer* This, 389 IRpcChannelBuffer* pRpcChannelBuffer, 390 PRPC_MESSAGE pRpcMessage, 391 DWORD* pdwStubPhase); 392HRESULT STDMETHODCALLTYPE IAudioClient_IsFormatSupported_Proxy( 393 IAudioClient* This, 394 AUDCLNT_SHAREMODE ShareMode, 395 const WAVEFORMATEX *pFormat, 396 WAVEFORMATEX **ppClosestMatch); 397void __RPC_STUB IAudioClient_IsFormatSupported_Stub( 398 IRpcStubBuffer* This, 399 IRpcChannelBuffer* pRpcChannelBuffer, 400 PRPC_MESSAGE pRpcMessage, 401 DWORD* pdwStubPhase); 402HRESULT STDMETHODCALLTYPE IAudioClient_GetMixFormat_Proxy( 403 IAudioClient* This, 404 WAVEFORMATEX **ppDeviceFormat); 405void __RPC_STUB IAudioClient_GetMixFormat_Stub( 406 IRpcStubBuffer* This, 407 IRpcChannelBuffer* pRpcChannelBuffer, 408 PRPC_MESSAGE pRpcMessage, 409 DWORD* pdwStubPhase); 410HRESULT STDMETHODCALLTYPE IAudioClient_GetDevicePeriod_Proxy( 411 IAudioClient* This, 412 REFERENCE_TIME *phnsDefaultDevicePeriod, 413 REFERENCE_TIME *phnsMinimumDevicePeriod); 414void __RPC_STUB IAudioClient_GetDevicePeriod_Stub( 415 IRpcStubBuffer* This, 416 IRpcChannelBuffer* pRpcChannelBuffer, 417 PRPC_MESSAGE pRpcMessage, 418 DWORD* pdwStubPhase); 419HRESULT STDMETHODCALLTYPE IAudioClient_Start_Proxy( 420 IAudioClient* This); 421void __RPC_STUB IAudioClient_Start_Stub( 422 IRpcStubBuffer* This, 423 IRpcChannelBuffer* pRpcChannelBuffer, 424 PRPC_MESSAGE pRpcMessage, 425 DWORD* pdwStubPhase); 426HRESULT STDMETHODCALLTYPE IAudioClient_Stop_Proxy( 427 IAudioClient* This); 428void __RPC_STUB IAudioClient_Stop_Stub( 429 IRpcStubBuffer* This, 430 IRpcChannelBuffer* pRpcChannelBuffer, 431 PRPC_MESSAGE pRpcMessage, 432 DWORD* pdwStubPhase); 433HRESULT STDMETHODCALLTYPE IAudioClient_Reset_Proxy( 434 IAudioClient* This); 435void __RPC_STUB IAudioClient_Reset_Stub( 436 IRpcStubBuffer* This, 437 IRpcChannelBuffer* pRpcChannelBuffer, 438 PRPC_MESSAGE pRpcMessage, 439 DWORD* pdwStubPhase); 440HRESULT STDMETHODCALLTYPE IAudioClient_SetEventHandle_Proxy( 441 IAudioClient* This, 442 HANDLE eventHandle); 443void __RPC_STUB IAudioClient_SetEventHandle_Stub( 444 IRpcStubBuffer* This, 445 IRpcChannelBuffer* pRpcChannelBuffer, 446 PRPC_MESSAGE pRpcMessage, 447 DWORD* pdwStubPhase); 448HRESULT STDMETHODCALLTYPE IAudioClient_GetService_Proxy( 449 IAudioClient* This, 450 REFIID riid, 451 void **ppv); 452void __RPC_STUB IAudioClient_GetService_Stub( 453 IRpcStubBuffer* This, 454 IRpcChannelBuffer* pRpcChannelBuffer, 455 PRPC_MESSAGE pRpcMessage, 456 DWORD* pdwStubPhase); 457 458#endif /* __IAudioClient_INTERFACE_DEFINED__ */ 459 460/***************************************************************************** 461 * IAudioRenderClient interface 462 */ 463#ifndef __IAudioRenderClient_INTERFACE_DEFINED__ 464#define __IAudioRenderClient_INTERFACE_DEFINED__ 465 466DEFINE_GUID(IID_IAudioRenderClient, 0xf294acfc, 0x3146, 0x4483, 0xa7,0xbf, 0xad,0xdc,0xa7,0xc2,0x60,0xe2); 467#if defined(__cplusplus) && !defined(CINTERFACE) 468MIDL_INTERFACE("f294acfc-3146-4483-a7bf-addca7c260e2") 469IAudioRenderClient : public IUnknown 470{ 471 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 472 UINT32 NumFramesRequested, 473 BYTE **ppData) = 0; 474 475 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 476 UINT32 NumFramesWritten, 477 DWORD dwFlags) = 0; 478 479}; 480#ifdef __CRT_UUID_DECL 481__CRT_UUID_DECL(IAudioRenderClient, 0xf294acfc, 0x3146, 0x4483, 0xa7,0xbf, 0xad,0xdc,0xa7,0xc2,0x60,0xe2) 482#endif 483#else 484typedef struct IAudioRenderClientVtbl { 485 BEGIN_INTERFACE 486 487 /*** IUnknown methods ***/ 488 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 489 IAudioRenderClient* This, 490 REFIID riid, 491 void **ppvObject); 492 493 ULONG (STDMETHODCALLTYPE *AddRef)( 494 IAudioRenderClient* This); 495 496 ULONG (STDMETHODCALLTYPE *Release)( 497 IAudioRenderClient* This); 498 499 /*** IAudioRenderClient methods ***/ 500 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 501 IAudioRenderClient* This, 502 UINT32 NumFramesRequested, 503 BYTE **ppData); 504 505 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 506 IAudioRenderClient* This, 507 UINT32 NumFramesWritten, 508 DWORD dwFlags); 509 510 END_INTERFACE 511} IAudioRenderClientVtbl; 512interface IAudioRenderClient { 513 CONST_VTBL IAudioRenderClientVtbl* lpVtbl; 514}; 515 516#ifdef COBJMACROS 517#ifndef WIDL_C_INLINE_WRAPPERS 518/*** IUnknown methods ***/ 519#define IAudioRenderClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 520#define IAudioRenderClient_AddRef(This) (This)->lpVtbl->AddRef(This) 521#define IAudioRenderClient_Release(This) (This)->lpVtbl->Release(This) 522/*** IAudioRenderClient methods ***/ 523#define IAudioRenderClient_GetBuffer(This,NumFramesRequested,ppData) (This)->lpVtbl->GetBuffer(This,NumFramesRequested,ppData) 524#define IAudioRenderClient_ReleaseBuffer(This,NumFramesWritten,dwFlags) (This)->lpVtbl->ReleaseBuffer(This,NumFramesWritten,dwFlags) 525#else 526/*** IUnknown methods ***/ 527static FORCEINLINE HRESULT IAudioRenderClient_QueryInterface(IAudioRenderClient* This,REFIID riid,void **ppvObject) { 528 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 529} 530static FORCEINLINE ULONG IAudioRenderClient_AddRef(IAudioRenderClient* This) { 531 return This->lpVtbl->AddRef(This); 532} 533static FORCEINLINE ULONG IAudioRenderClient_Release(IAudioRenderClient* This) { 534 return This->lpVtbl->Release(This); 535} 536/*** IAudioRenderClient methods ***/ 537static FORCEINLINE HRESULT IAudioRenderClient_GetBuffer(IAudioRenderClient* This,UINT32 NumFramesRequested,BYTE **ppData) { 538 return This->lpVtbl->GetBuffer(This,NumFramesRequested,ppData); 539} 540static FORCEINLINE HRESULT IAudioRenderClient_ReleaseBuffer(IAudioRenderClient* This,UINT32 NumFramesWritten,DWORD dwFlags) { 541 return This->lpVtbl->ReleaseBuffer(This,NumFramesWritten,dwFlags); 542} 543#endif 544#endif 545 546#endif 547 548HRESULT STDMETHODCALLTYPE IAudioRenderClient_GetBuffer_Proxy( 549 IAudioRenderClient* This, 550 UINT32 NumFramesRequested, 551 BYTE **ppData); 552void __RPC_STUB IAudioRenderClient_GetBuffer_Stub( 553 IRpcStubBuffer* This, 554 IRpcChannelBuffer* pRpcChannelBuffer, 555 PRPC_MESSAGE pRpcMessage, 556 DWORD* pdwStubPhase); 557HRESULT STDMETHODCALLTYPE IAudioRenderClient_ReleaseBuffer_Proxy( 558 IAudioRenderClient* This, 559 UINT32 NumFramesWritten, 560 DWORD dwFlags); 561void __RPC_STUB IAudioRenderClient_ReleaseBuffer_Stub( 562 IRpcStubBuffer* This, 563 IRpcChannelBuffer* pRpcChannelBuffer, 564 PRPC_MESSAGE pRpcMessage, 565 DWORD* pdwStubPhase); 566 567#endif /* __IAudioRenderClient_INTERFACE_DEFINED__ */ 568 569/***************************************************************************** 570 * IAudioCaptureClient interface 571 */ 572#ifndef __IAudioCaptureClient_INTERFACE_DEFINED__ 573#define __IAudioCaptureClient_INTERFACE_DEFINED__ 574 575DEFINE_GUID(IID_IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4,0xde, 0x18,0x5c,0x39,0x5c,0xd3,0x17); 576#if defined(__cplusplus) && !defined(CINTERFACE) 577MIDL_INTERFACE("c8adbd64-e71e-48a0-a4de-185c395cd317") 578IAudioCaptureClient : public IUnknown 579{ 580 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 581 BYTE **ppData, 582 UINT32 *pNumFramesToRead, 583 DWORD *pdwFlags, 584 UINT64 *pu64DevicePosition, 585 UINT64 *pu64QPCPosition) = 0; 586 587 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 588 UINT32 NumFramesRead) = 0; 589 590 virtual HRESULT STDMETHODCALLTYPE GetNextPacketSize( 591 UINT32 *pNumFramesInNextPacket) = 0; 592 593}; 594#ifdef __CRT_UUID_DECL 595__CRT_UUID_DECL(IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4,0xde, 0x18,0x5c,0x39,0x5c,0xd3,0x17) 596#endif 597#else 598typedef struct IAudioCaptureClientVtbl { 599 BEGIN_INTERFACE 600 601 /*** IUnknown methods ***/ 602 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 603 IAudioCaptureClient* This, 604 REFIID riid, 605 void **ppvObject); 606 607 ULONG (STDMETHODCALLTYPE *AddRef)( 608 IAudioCaptureClient* This); 609 610 ULONG (STDMETHODCALLTYPE *Release)( 611 IAudioCaptureClient* This); 612 613 /*** IAudioCaptureClient methods ***/ 614 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 615 IAudioCaptureClient* This, 616 BYTE **ppData, 617 UINT32 *pNumFramesToRead, 618 DWORD *pdwFlags, 619 UINT64 *pu64DevicePosition, 620 UINT64 *pu64QPCPosition); 621 622 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 623 IAudioCaptureClient* This, 624 UINT32 NumFramesRead); 625 626 HRESULT (STDMETHODCALLTYPE *GetNextPacketSize)( 627 IAudioCaptureClient* This, 628 UINT32 *pNumFramesInNextPacket); 629 630 END_INTERFACE 631} IAudioCaptureClientVtbl; 632interface IAudioCaptureClient { 633 CONST_VTBL IAudioCaptureClientVtbl* lpVtbl; 634}; 635 636#ifdef COBJMACROS 637#ifndef WIDL_C_INLINE_WRAPPERS 638/*** IUnknown methods ***/ 639#define IAudioCaptureClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 640#define IAudioCaptureClient_AddRef(This) (This)->lpVtbl->AddRef(This) 641#define IAudioCaptureClient_Release(This) (This)->lpVtbl->Release(This) 642/*** IAudioCaptureClient methods ***/ 643#define IAudioCaptureClient_GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) (This)->lpVtbl->GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) 644#define IAudioCaptureClient_ReleaseBuffer(This,NumFramesRead) (This)->lpVtbl->ReleaseBuffer(This,NumFramesRead) 645#define IAudioCaptureClient_GetNextPacketSize(This,pNumFramesInNextPacket) (This)->lpVtbl->GetNextPacketSize(This,pNumFramesInNextPacket) 646#else 647/*** IUnknown methods ***/ 648static FORCEINLINE HRESULT IAudioCaptureClient_QueryInterface(IAudioCaptureClient* This,REFIID riid,void **ppvObject) { 649 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 650} 651static FORCEINLINE ULONG IAudioCaptureClient_AddRef(IAudioCaptureClient* This) { 652 return This->lpVtbl->AddRef(This); 653} 654static FORCEINLINE ULONG IAudioCaptureClient_Release(IAudioCaptureClient* This) { 655 return This->lpVtbl->Release(This); 656} 657/*** IAudioCaptureClient methods ***/ 658static FORCEINLINE HRESULT IAudioCaptureClient_GetBuffer(IAudioCaptureClient* This,BYTE **ppData,UINT32 *pNumFramesToRead,DWORD *pdwFlags,UINT64 *pu64DevicePosition,UINT64 *pu64QPCPosition) { 659 return This->lpVtbl->GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition); 660} 661static FORCEINLINE HRESULT IAudioCaptureClient_ReleaseBuffer(IAudioCaptureClient* This,UINT32 NumFramesRead) { 662 return This->lpVtbl->ReleaseBuffer(This,NumFramesRead); 663} 664static FORCEINLINE HRESULT IAudioCaptureClient_GetNextPacketSize(IAudioCaptureClient* This,UINT32 *pNumFramesInNextPacket) { 665 return This->lpVtbl->GetNextPacketSize(This,pNumFramesInNextPacket); 666} 667#endif 668#endif 669 670#endif 671 672HRESULT STDMETHODCALLTYPE IAudioCaptureClient_GetBuffer_Proxy( 673 IAudioCaptureClient* This, 674 BYTE **ppData, 675 UINT32 *pNumFramesToRead, 676 DWORD *pdwFlags, 677 UINT64 *pu64DevicePosition, 678 UINT64 *pu64QPCPosition); 679void __RPC_STUB IAudioCaptureClient_GetBuffer_Stub( 680 IRpcStubBuffer* This, 681 IRpcChannelBuffer* pRpcChannelBuffer, 682 PRPC_MESSAGE pRpcMessage, 683 DWORD* pdwStubPhase); 684HRESULT STDMETHODCALLTYPE IAudioCaptureClient_ReleaseBuffer_Proxy( 685 IAudioCaptureClient* This, 686 UINT32 NumFramesRead); 687void __RPC_STUB IAudioCaptureClient_ReleaseBuffer_Stub( 688 IRpcStubBuffer* This, 689 IRpcChannelBuffer* pRpcChannelBuffer, 690 PRPC_MESSAGE pRpcMessage, 691 DWORD* pdwStubPhase); 692HRESULT STDMETHODCALLTYPE IAudioCaptureClient_GetNextPacketSize_Proxy( 693 IAudioCaptureClient* This, 694 UINT32 *pNumFramesInNextPacket); 695void __RPC_STUB IAudioCaptureClient_GetNextPacketSize_Stub( 696 IRpcStubBuffer* This, 697 IRpcChannelBuffer* pRpcChannelBuffer, 698 PRPC_MESSAGE pRpcMessage, 699 DWORD* pdwStubPhase); 700 701#endif /* __IAudioCaptureClient_INTERFACE_DEFINED__ */ 702 703#define AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ 0x00000001 704/***************************************************************************** 705 * IAudioClock interface 706 */ 707#ifndef __IAudioClock_INTERFACE_DEFINED__ 708#define __IAudioClock_INTERFACE_DEFINED__ 709 710DEFINE_GUID(IID_IAudioClock, 0xcd63314f, 0x3fba, 0x4a1b, 0x81,0x2c, 0xef,0x96,0x35,0x87,0x28,0xe7); 711#if defined(__cplusplus) && !defined(CINTERFACE) 712MIDL_INTERFACE("cd63314f-3fba-4a1b-812c-ef96358728e7") 713IAudioClock : public IUnknown 714{ 715 virtual HRESULT STDMETHODCALLTYPE GetFrequency( 716 UINT64 *pu64Frequency) = 0; 717 718 virtual HRESULT STDMETHODCALLTYPE GetPosition( 719 UINT64 *pu64Position, 720 UINT64 *pu64QPCPosition) = 0; 721 722 virtual HRESULT STDMETHODCALLTYPE GetCharacteristics( 723 DWORD *pdwCharacteristics) = 0; 724 725}; 726#ifdef __CRT_UUID_DECL 727__CRT_UUID_DECL(IAudioClock, 0xcd63314f, 0x3fba, 0x4a1b, 0x81,0x2c, 0xef,0x96,0x35,0x87,0x28,0xe7) 728#endif 729#else 730typedef struct IAudioClockVtbl { 731 BEGIN_INTERFACE 732 733 /*** IUnknown methods ***/ 734 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 735 IAudioClock* This, 736 REFIID riid, 737 void **ppvObject); 738 739 ULONG (STDMETHODCALLTYPE *AddRef)( 740 IAudioClock* This); 741 742 ULONG (STDMETHODCALLTYPE *Release)( 743 IAudioClock* This); 744 745 /*** IAudioClock methods ***/ 746 HRESULT (STDMETHODCALLTYPE *GetFrequency)( 747 IAudioClock* This, 748 UINT64 *pu64Frequency); 749 750 HRESULT (STDMETHODCALLTYPE *GetPosition)( 751 IAudioClock* This, 752 UINT64 *pu64Position, 753 UINT64 *pu64QPCPosition); 754 755 HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( 756 IAudioClock* This, 757 DWORD *pdwCharacteristics); 758 759 END_INTERFACE 760} IAudioClockVtbl; 761interface IAudioClock { 762 CONST_VTBL IAudioClockVtbl* lpVtbl; 763}; 764 765#ifdef COBJMACROS 766#ifndef WIDL_C_INLINE_WRAPPERS 767/*** IUnknown methods ***/ 768#define IAudioClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 769#define IAudioClock_AddRef(This) (This)->lpVtbl->AddRef(This) 770#define IAudioClock_Release(This) (This)->lpVtbl->Release(This) 771/*** IAudioClock methods ***/ 772#define IAudioClock_GetFrequency(This,pu64Frequency) (This)->lpVtbl->GetFrequency(This,pu64Frequency) 773#define IAudioClock_GetPosition(This,pu64Position,pu64QPCPosition) (This)->lpVtbl->GetPosition(This,pu64Position,pu64QPCPosition) 774#define IAudioClock_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) 775#else 776/*** IUnknown methods ***/ 777static FORCEINLINE HRESULT IAudioClock_QueryInterface(IAudioClock* This,REFIID riid,void **ppvObject) { 778 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 779} 780static FORCEINLINE ULONG IAudioClock_AddRef(IAudioClock* This) { 781 return This->lpVtbl->AddRef(This); 782} 783static FORCEINLINE ULONG IAudioClock_Release(IAudioClock* This) { 784 return This->lpVtbl->Release(This); 785} 786/*** IAudioClock methods ***/ 787static FORCEINLINE HRESULT IAudioClock_GetFrequency(IAudioClock* This,UINT64 *pu64Frequency) { 788 return This->lpVtbl->GetFrequency(This,pu64Frequency); 789} 790static FORCEINLINE HRESULT IAudioClock_GetPosition(IAudioClock* This,UINT64 *pu64Position,UINT64 *pu64QPCPosition) { 791 return This->lpVtbl->GetPosition(This,pu64Position,pu64QPCPosition); 792} 793static FORCEINLINE HRESULT IAudioClock_GetCharacteristics(IAudioClock* This,DWORD *pdwCharacteristics) { 794 return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); 795} 796#endif 797#endif 798 799#endif 800 801HRESULT STDMETHODCALLTYPE IAudioClock_GetFrequency_Proxy( 802 IAudioClock* This, 803 UINT64 *pu64Frequency); 804void __RPC_STUB IAudioClock_GetFrequency_Stub( 805 IRpcStubBuffer* This, 806 IRpcChannelBuffer* pRpcChannelBuffer, 807 PRPC_MESSAGE pRpcMessage, 808 DWORD* pdwStubPhase); 809HRESULT STDMETHODCALLTYPE IAudioClock_GetPosition_Proxy( 810 IAudioClock* This, 811 UINT64 *pu64Position, 812 UINT64 *pu64QPCPosition); 813void __RPC_STUB IAudioClock_GetPosition_Stub( 814 IRpcStubBuffer* This, 815 IRpcChannelBuffer* pRpcChannelBuffer, 816 PRPC_MESSAGE pRpcMessage, 817 DWORD* pdwStubPhase); 818HRESULT STDMETHODCALLTYPE IAudioClock_GetCharacteristics_Proxy( 819 IAudioClock* This, 820 DWORD *pdwCharacteristics); 821void __RPC_STUB IAudioClock_GetCharacteristics_Stub( 822 IRpcStubBuffer* This, 823 IRpcChannelBuffer* pRpcChannelBuffer, 824 PRPC_MESSAGE pRpcMessage, 825 DWORD* pdwStubPhase); 826 827#endif /* __IAudioClock_INTERFACE_DEFINED__ */ 828 829/***************************************************************************** 830 * IAudioClock2 interface 831 */ 832#ifndef __IAudioClock2_INTERFACE_DEFINED__ 833#define __IAudioClock2_INTERFACE_DEFINED__ 834 835DEFINE_GUID(IID_IAudioClock2, 0x6f49ff73, 0x6727, 0x49ac, 0xa0,0x08, 0xd9,0x8c,0xf5,0xe7,0x00,0x48); 836#if defined(__cplusplus) && !defined(CINTERFACE) 837MIDL_INTERFACE("6f49ff73-6727-49ac-a008-d98cf5e70048") 838IAudioClock2 : public IUnknown 839{ 840 virtual HRESULT STDMETHODCALLTYPE GetPosition( 841 UINT64 *DevicePosition, 842 UINT64 *QPCPosition) = 0; 843 844}; 845#ifdef __CRT_UUID_DECL 846__CRT_UUID_DECL(IAudioClock2, 0x6f49ff73, 0x6727, 0x49ac, 0xa0,0x08, 0xd9,0x8c,0xf5,0xe7,0x00,0x48) 847#endif 848#else 849typedef struct IAudioClock2Vtbl { 850 BEGIN_INTERFACE 851 852 /*** IUnknown methods ***/ 853 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 854 IAudioClock2* This, 855 REFIID riid, 856 void **ppvObject); 857 858 ULONG (STDMETHODCALLTYPE *AddRef)( 859 IAudioClock2* This); 860 861 ULONG (STDMETHODCALLTYPE *Release)( 862 IAudioClock2* This); 863 864 /*** IAudioClock2 methods ***/ 865 HRESULT (STDMETHODCALLTYPE *GetPosition)( 866 IAudioClock2* This, 867 UINT64 *DevicePosition, 868 UINT64 *QPCPosition); 869 870 END_INTERFACE 871} IAudioClock2Vtbl; 872interface IAudioClock2 { 873 CONST_VTBL IAudioClock2Vtbl* lpVtbl; 874}; 875 876#ifdef COBJMACROS 877#ifndef WIDL_C_INLINE_WRAPPERS 878/*** IUnknown methods ***/ 879#define IAudioClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 880#define IAudioClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 881#define IAudioClock2_Release(This) (This)->lpVtbl->Release(This) 882/*** IAudioClock2 methods ***/ 883#define IAudioClock2_GetPosition(This,DevicePosition,QPCPosition) (This)->lpVtbl->GetPosition(This,DevicePosition,QPCPosition) 884#else 885/*** IUnknown methods ***/ 886static FORCEINLINE HRESULT IAudioClock2_QueryInterface(IAudioClock2* This,REFIID riid,void **ppvObject) { 887 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 888} 889static FORCEINLINE ULONG IAudioClock2_AddRef(IAudioClock2* This) { 890 return This->lpVtbl->AddRef(This); 891} 892static FORCEINLINE ULONG IAudioClock2_Release(IAudioClock2* This) { 893 return This->lpVtbl->Release(This); 894} 895/*** IAudioClock2 methods ***/ 896static FORCEINLINE HRESULT IAudioClock2_GetPosition(IAudioClock2* This,UINT64 *DevicePosition,UINT64 *QPCPosition) { 897 return This->lpVtbl->GetPosition(This,DevicePosition,QPCPosition); 898} 899#endif 900#endif 901 902#endif 903 904HRESULT STDMETHODCALLTYPE IAudioClock2_GetPosition_Proxy( 905 IAudioClock2* This, 906 UINT64 *DevicePosition, 907 UINT64 *QPCPosition); 908void __RPC_STUB IAudioClock2_GetPosition_Stub( 909 IRpcStubBuffer* This, 910 IRpcChannelBuffer* pRpcChannelBuffer, 911 PRPC_MESSAGE pRpcMessage, 912 DWORD* pdwStubPhase); 913 914#endif /* __IAudioClock2_INTERFACE_DEFINED__ */ 915 916/***************************************************************************** 917 * IAudioClockAdjustment interface 918 */ 919#ifndef __IAudioClockAdjustment_INTERFACE_DEFINED__ 920#define __IAudioClockAdjustment_INTERFACE_DEFINED__ 921 922DEFINE_GUID(IID_IAudioClockAdjustment, 0xf6e4c0a0, 0x46d9, 0x4fb9, 0xbe,0x21, 0x57,0xa3,0xef,0x2b,0x62,0x6c); 923#if defined(__cplusplus) && !defined(CINTERFACE) 924MIDL_INTERFACE("f6e4c0a0-46d9-4fb9-be21-57a3ef2b626c") 925IAudioClockAdjustment : public IUnknown 926{ 927 virtual HRESULT STDMETHODCALLTYPE SetSampleRate( 928 float flSampleRate) = 0; 929 930}; 931#ifdef __CRT_UUID_DECL 932__CRT_UUID_DECL(IAudioClockAdjustment, 0xf6e4c0a0, 0x46d9, 0x4fb9, 0xbe,0x21, 0x57,0xa3,0xef,0x2b,0x62,0x6c) 933#endif 934#else 935typedef struct IAudioClockAdjustmentVtbl { 936 BEGIN_INTERFACE 937 938 /*** IUnknown methods ***/ 939 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 940 IAudioClockAdjustment* This, 941 REFIID riid, 942 void **ppvObject); 943 944 ULONG (STDMETHODCALLTYPE *AddRef)( 945 IAudioClockAdjustment* This); 946 947 ULONG (STDMETHODCALLTYPE *Release)( 948 IAudioClockAdjustment* This); 949 950 /*** IAudioClockAdjustment methods ***/ 951 HRESULT (STDMETHODCALLTYPE *SetSampleRate)( 952 IAudioClockAdjustment* This, 953 float flSampleRate); 954 955 END_INTERFACE 956} IAudioClockAdjustmentVtbl; 957interface IAudioClockAdjustment { 958 CONST_VTBL IAudioClockAdjustmentVtbl* lpVtbl; 959}; 960 961#ifdef COBJMACROS 962#ifndef WIDL_C_INLINE_WRAPPERS 963/*** IUnknown methods ***/ 964#define IAudioClockAdjustment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 965#define IAudioClockAdjustment_AddRef(This) (This)->lpVtbl->AddRef(This) 966#define IAudioClockAdjustment_Release(This) (This)->lpVtbl->Release(This) 967/*** IAudioClockAdjustment methods ***/ 968#define IAudioClockAdjustment_SetSampleRate(This,flSampleRate) (This)->lpVtbl->SetSampleRate(This,flSampleRate) 969#else 970/*** IUnknown methods ***/ 971static FORCEINLINE HRESULT IAudioClockAdjustment_QueryInterface(IAudioClockAdjustment* This,REFIID riid,void **ppvObject) { 972 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 973} 974static FORCEINLINE ULONG IAudioClockAdjustment_AddRef(IAudioClockAdjustment* This) { 975 return This->lpVtbl->AddRef(This); 976} 977static FORCEINLINE ULONG IAudioClockAdjustment_Release(IAudioClockAdjustment* This) { 978 return This->lpVtbl->Release(This); 979} 980/*** IAudioClockAdjustment methods ***/ 981static FORCEINLINE HRESULT IAudioClockAdjustment_SetSampleRate(IAudioClockAdjustment* This,float flSampleRate) { 982 return This->lpVtbl->SetSampleRate(This,flSampleRate); 983} 984#endif 985#endif 986 987#endif 988 989HRESULT STDMETHODCALLTYPE IAudioClockAdjustment_SetSampleRate_Proxy( 990 IAudioClockAdjustment* This, 991 float flSampleRate); 992void __RPC_STUB IAudioClockAdjustment_SetSampleRate_Stub( 993 IRpcStubBuffer* This, 994 IRpcChannelBuffer* pRpcChannelBuffer, 995 PRPC_MESSAGE pRpcMessage, 996 DWORD* pdwStubPhase); 997 998#endif /* __IAudioClockAdjustment_INTERFACE_DEFINED__ */ 999 1000/***************************************************************************** 1001 * ISimpleAudioVolume interface 1002 */ 1003#ifndef __ISimpleAudioVolume_INTERFACE_DEFINED__ 1004#define __ISimpleAudioVolume_INTERFACE_DEFINED__ 1005 1006DEFINE_GUID(IID_ISimpleAudioVolume, 0x87ce5498, 0x68d6, 0x44e5, 0x92,0x15, 0x6d,0xa4,0x7e,0xf8,0x83,0xd8); 1007#if defined(__cplusplus) && !defined(CINTERFACE) 1008MIDL_INTERFACE("87ce5498-68d6-44e5-9215-6da47ef883d8") 1009ISimpleAudioVolume : public IUnknown 1010{ 1011 virtual HRESULT STDMETHODCALLTYPE SetMasterVolume( 1012 float fLevel, 1013 LPCGUID EventContext) = 0; 1014 1015 virtual HRESULT STDMETHODCALLTYPE GetMasterVolume( 1016 float *pfLevel) = 0; 1017 1018 virtual HRESULT STDMETHODCALLTYPE SetMute( 1019 const WINBOOL bMute, 1020 LPCGUID EventContext) = 0; 1021 1022 virtual HRESULT STDMETHODCALLTYPE GetMute( 1023 WINBOOL *pbMute) = 0; 1024 1025}; 1026#ifdef __CRT_UUID_DECL 1027__CRT_UUID_DECL(ISimpleAudioVolume, 0x87ce5498, 0x68d6, 0x44e5, 0x92,0x15, 0x6d,0xa4,0x7e,0xf8,0x83,0xd8) 1028#endif 1029#else 1030typedef struct ISimpleAudioVolumeVtbl { 1031 BEGIN_INTERFACE 1032 1033 /*** IUnknown methods ***/ 1034 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1035 ISimpleAudioVolume* This, 1036 REFIID riid, 1037 void **ppvObject); 1038 1039 ULONG (STDMETHODCALLTYPE *AddRef)( 1040 ISimpleAudioVolume* This); 1041 1042 ULONG (STDMETHODCALLTYPE *Release)( 1043 ISimpleAudioVolume* This); 1044 1045 /*** ISimpleAudioVolume methods ***/ 1046 HRESULT (STDMETHODCALLTYPE *SetMasterVolume)( 1047 ISimpleAudioVolume* This, 1048 float fLevel, 1049 LPCGUID EventContext); 1050 1051 HRESULT (STDMETHODCALLTYPE *GetMasterVolume)( 1052 ISimpleAudioVolume* This, 1053 float *pfLevel); 1054 1055 HRESULT (STDMETHODCALLTYPE *SetMute)( 1056 ISimpleAudioVolume* This, 1057 const WINBOOL bMute, 1058 LPCGUID EventContext); 1059 1060 HRESULT (STDMETHODCALLTYPE *GetMute)( 1061 ISimpleAudioVolume* This, 1062 WINBOOL *pbMute); 1063 1064 END_INTERFACE 1065} ISimpleAudioVolumeVtbl; 1066interface ISimpleAudioVolume { 1067 CONST_VTBL ISimpleAudioVolumeVtbl* lpVtbl; 1068}; 1069 1070#ifdef COBJMACROS 1071#ifndef WIDL_C_INLINE_WRAPPERS 1072/*** IUnknown methods ***/ 1073#define ISimpleAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1074#define ISimpleAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This) 1075#define ISimpleAudioVolume_Release(This) (This)->lpVtbl->Release(This) 1076/*** ISimpleAudioVolume methods ***/ 1077#define ISimpleAudioVolume_SetMasterVolume(This,fLevel,EventContext) (This)->lpVtbl->SetMasterVolume(This,fLevel,EventContext) 1078#define ISimpleAudioVolume_GetMasterVolume(This,pfLevel) (This)->lpVtbl->GetMasterVolume(This,pfLevel) 1079#define ISimpleAudioVolume_SetMute(This,bMute,EventContext) (This)->lpVtbl->SetMute(This,bMute,EventContext) 1080#define ISimpleAudioVolume_GetMute(This,pbMute) (This)->lpVtbl->GetMute(This,pbMute) 1081#else 1082/*** IUnknown methods ***/ 1083static FORCEINLINE HRESULT ISimpleAudioVolume_QueryInterface(ISimpleAudioVolume* This,REFIID riid,void **ppvObject) { 1084 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1085} 1086static FORCEINLINE ULONG ISimpleAudioVolume_AddRef(ISimpleAudioVolume* This) { 1087 return This->lpVtbl->AddRef(This); 1088} 1089static FORCEINLINE ULONG ISimpleAudioVolume_Release(ISimpleAudioVolume* This) { 1090 return This->lpVtbl->Release(This); 1091} 1092/*** ISimpleAudioVolume methods ***/ 1093static FORCEINLINE HRESULT ISimpleAudioVolume_SetMasterVolume(ISimpleAudioVolume* This,float fLevel,LPCGUID EventContext) { 1094 return This->lpVtbl->SetMasterVolume(This,fLevel,EventContext); 1095} 1096static FORCEINLINE HRESULT ISimpleAudioVolume_GetMasterVolume(ISimpleAudioVolume* This,float *pfLevel) { 1097 return This->lpVtbl->GetMasterVolume(This,pfLevel); 1098} 1099static FORCEINLINE HRESULT ISimpleAudioVolume_SetMute(ISimpleAudioVolume* This,const WINBOOL bMute,LPCGUID EventContext) { 1100 return This->lpVtbl->SetMute(This,bMute,EventContext); 1101} 1102static FORCEINLINE HRESULT ISimpleAudioVolume_GetMute(ISimpleAudioVolume* This,WINBOOL *pbMute) { 1103 return This->lpVtbl->GetMute(This,pbMute); 1104} 1105#endif 1106#endif 1107 1108#endif 1109 1110HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_SetMasterVolume_Proxy( 1111 ISimpleAudioVolume* This, 1112 float fLevel, 1113 LPCGUID EventContext); 1114void __RPC_STUB ISimpleAudioVolume_SetMasterVolume_Stub( 1115 IRpcStubBuffer* This, 1116 IRpcChannelBuffer* pRpcChannelBuffer, 1117 PRPC_MESSAGE pRpcMessage, 1118 DWORD* pdwStubPhase); 1119HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_GetMasterVolume_Proxy( 1120 ISimpleAudioVolume* This, 1121 float *pfLevel); 1122void __RPC_STUB ISimpleAudioVolume_GetMasterVolume_Stub( 1123 IRpcStubBuffer* This, 1124 IRpcChannelBuffer* pRpcChannelBuffer, 1125 PRPC_MESSAGE pRpcMessage, 1126 DWORD* pdwStubPhase); 1127HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_SetMute_Proxy( 1128 ISimpleAudioVolume* This, 1129 const WINBOOL bMute, 1130 LPCGUID EventContext); 1131void __RPC_STUB ISimpleAudioVolume_SetMute_Stub( 1132 IRpcStubBuffer* This, 1133 IRpcChannelBuffer* pRpcChannelBuffer, 1134 PRPC_MESSAGE pRpcMessage, 1135 DWORD* pdwStubPhase); 1136HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_GetMute_Proxy( 1137 ISimpleAudioVolume* This, 1138 WINBOOL *pbMute); 1139void __RPC_STUB ISimpleAudioVolume_GetMute_Stub( 1140 IRpcStubBuffer* This, 1141 IRpcChannelBuffer* pRpcChannelBuffer, 1142 PRPC_MESSAGE pRpcMessage, 1143 DWORD* pdwStubPhase); 1144 1145#endif /* __ISimpleAudioVolume_INTERFACE_DEFINED__ */ 1146 1147/***************************************************************************** 1148 * IAudioStreamVolume interface 1149 */ 1150#ifndef __IAudioStreamVolume_INTERFACE_DEFINED__ 1151#define __IAudioStreamVolume_INTERFACE_DEFINED__ 1152 1153DEFINE_GUID(IID_IAudioStreamVolume, 0x93014887, 0x242d, 0x4068, 0x8a,0x15, 0xcf,0x5e,0x93,0xb9,0x0f,0xe3); 1154#if defined(__cplusplus) && !defined(CINTERFACE) 1155MIDL_INTERFACE("93014887-242d-4068-8a15-cf5e93b90fe3") 1156IAudioStreamVolume : public IUnknown 1157{ 1158 virtual HRESULT STDMETHODCALLTYPE GetChannelCount( 1159 UINT32 *pdwCount) = 0; 1160 1161 virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( 1162 UINT32 dwIndex, 1163 const float fLevel) = 0; 1164 1165 virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( 1166 UINT32 dwIndex, 1167 float *pfLevel) = 0; 1168 1169 virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( 1170 UINT32 dwCount, 1171 const float *pfVolumes) = 0; 1172 1173 virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( 1174 UINT32 dwCount, 1175 float *pfVolumes) = 0; 1176 1177}; 1178#ifdef __CRT_UUID_DECL 1179__CRT_UUID_DECL(IAudioStreamVolume, 0x93014887, 0x242d, 0x4068, 0x8a,0x15, 0xcf,0x5e,0x93,0xb9,0x0f,0xe3) 1180#endif 1181#else 1182typedef struct IAudioStreamVolumeVtbl { 1183 BEGIN_INTERFACE 1184 1185 /*** IUnknown methods ***/ 1186 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1187 IAudioStreamVolume* This, 1188 REFIID riid, 1189 void **ppvObject); 1190 1191 ULONG (STDMETHODCALLTYPE *AddRef)( 1192 IAudioStreamVolume* This); 1193 1194 ULONG (STDMETHODCALLTYPE *Release)( 1195 IAudioStreamVolume* This); 1196 1197 /*** IAudioStreamVolume methods ***/ 1198 HRESULT (STDMETHODCALLTYPE *GetChannelCount)( 1199 IAudioStreamVolume* This, 1200 UINT32 *pdwCount); 1201 1202 HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( 1203 IAudioStreamVolume* This, 1204 UINT32 dwIndex, 1205 const float fLevel); 1206 1207 HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( 1208 IAudioStreamVolume* This, 1209 UINT32 dwIndex, 1210 float *pfLevel); 1211 1212 HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( 1213 IAudioStreamVolume* This, 1214 UINT32 dwCount, 1215 const float *pfVolumes); 1216 1217 HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( 1218 IAudioStreamVolume* This, 1219 UINT32 dwCount, 1220 float *pfVolumes); 1221 1222 END_INTERFACE 1223} IAudioStreamVolumeVtbl; 1224interface IAudioStreamVolume { 1225 CONST_VTBL IAudioStreamVolumeVtbl* lpVtbl; 1226}; 1227 1228#ifdef COBJMACROS 1229#ifndef WIDL_C_INLINE_WRAPPERS 1230/*** IUnknown methods ***/ 1231#define IAudioStreamVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1232#define IAudioStreamVolume_AddRef(This) (This)->lpVtbl->AddRef(This) 1233#define IAudioStreamVolume_Release(This) (This)->lpVtbl->Release(This) 1234/*** IAudioStreamVolume methods ***/ 1235#define IAudioStreamVolume_GetChannelCount(This,pdwCount) (This)->lpVtbl->GetChannelCount(This,pdwCount) 1236#define IAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) (This)->lpVtbl->SetChannelVolume(This,dwIndex,fLevel) 1237#define IAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) (This)->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel) 1238#define IAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes) 1239#define IAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes) 1240#else 1241/*** IUnknown methods ***/ 1242static FORCEINLINE HRESULT IAudioStreamVolume_QueryInterface(IAudioStreamVolume* This,REFIID riid,void **ppvObject) { 1243 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1244} 1245static FORCEINLINE ULONG IAudioStreamVolume_AddRef(IAudioStreamVolume* This) { 1246 return This->lpVtbl->AddRef(This); 1247} 1248static FORCEINLINE ULONG IAudioStreamVolume_Release(IAudioStreamVolume* This) { 1249 return This->lpVtbl->Release(This); 1250} 1251/*** IAudioStreamVolume methods ***/ 1252static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelCount(IAudioStreamVolume* This,UINT32 *pdwCount) { 1253 return This->lpVtbl->GetChannelCount(This,pdwCount); 1254} 1255static FORCEINLINE HRESULT IAudioStreamVolume_SetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,const float fLevel) { 1256 return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel); 1257} 1258static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,float *pfLevel) { 1259 return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); 1260} 1261static FORCEINLINE HRESULT IAudioStreamVolume_SetAllVolumes(IAudioStreamVolume* This,UINT32 dwCount,const float *pfVolumes) { 1262 return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes); 1263} 1264static FORCEINLINE HRESULT IAudioStreamVolume_GetAllVolumes(IAudioStreamVolume* This,UINT32 dwCount,float *pfVolumes) { 1265 return This->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes); 1266} 1267#endif 1268#endif 1269 1270#endif 1271 1272HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetChannelCount_Proxy( 1273 IAudioStreamVolume* This, 1274 UINT32 *pdwCount); 1275void __RPC_STUB IAudioStreamVolume_GetChannelCount_Stub( 1276 IRpcStubBuffer* This, 1277 IRpcChannelBuffer* pRpcChannelBuffer, 1278 PRPC_MESSAGE pRpcMessage, 1279 DWORD* pdwStubPhase); 1280HRESULT STDMETHODCALLTYPE IAudioStreamVolume_SetChannelVolume_Proxy( 1281 IAudioStreamVolume* This, 1282 UINT32 dwIndex, 1283 const float fLevel); 1284void __RPC_STUB IAudioStreamVolume_SetChannelVolume_Stub( 1285 IRpcStubBuffer* This, 1286 IRpcChannelBuffer* pRpcChannelBuffer, 1287 PRPC_MESSAGE pRpcMessage, 1288 DWORD* pdwStubPhase); 1289HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetChannelVolume_Proxy( 1290 IAudioStreamVolume* This, 1291 UINT32 dwIndex, 1292 float *pfLevel); 1293void __RPC_STUB IAudioStreamVolume_GetChannelVolume_Stub( 1294 IRpcStubBuffer* This, 1295 IRpcChannelBuffer* pRpcChannelBuffer, 1296 PRPC_MESSAGE pRpcMessage, 1297 DWORD* pdwStubPhase); 1298HRESULT STDMETHODCALLTYPE IAudioStreamVolume_SetAllVolumes_Proxy( 1299 IAudioStreamVolume* This, 1300 UINT32 dwCount, 1301 const float *pfVolumes); 1302void __RPC_STUB IAudioStreamVolume_SetAllVolumes_Stub( 1303 IRpcStubBuffer* This, 1304 IRpcChannelBuffer* pRpcChannelBuffer, 1305 PRPC_MESSAGE pRpcMessage, 1306 DWORD* pdwStubPhase); 1307HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetAllVolumes_Proxy( 1308 IAudioStreamVolume* This, 1309 UINT32 dwCount, 1310 float *pfVolumes); 1311void __RPC_STUB IAudioStreamVolume_GetAllVolumes_Stub( 1312 IRpcStubBuffer* This, 1313 IRpcChannelBuffer* pRpcChannelBuffer, 1314 PRPC_MESSAGE pRpcMessage, 1315 DWORD* pdwStubPhase); 1316 1317#endif /* __IAudioStreamVolume_INTERFACE_DEFINED__ */ 1318 1319/***************************************************************************** 1320 * IChannelAudioVolume interface 1321 */ 1322#ifndef __IChannelAudioVolume_INTERFACE_DEFINED__ 1323#define __IChannelAudioVolume_INTERFACE_DEFINED__ 1324 1325DEFINE_GUID(IID_IChannelAudioVolume, 0x1c158861, 0xb533, 0x4b30, 0xb1,0xcf, 0xe8,0x53,0xe5,0x1c,0x59,0xb8); 1326#if defined(__cplusplus) && !defined(CINTERFACE) 1327MIDL_INTERFACE("1c158861-b533-4b30-b1cf-e853e51c59b8") 1328IChannelAudioVolume : public IUnknown 1329{ 1330 virtual HRESULT STDMETHODCALLTYPE GetChannelCount( 1331 UINT32 *pdwCount) = 0; 1332 1333 virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( 1334 UINT32 dwIndex, 1335 const float fLevel, 1336 LPCGUID EventContext) = 0; 1337 1338 virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( 1339 UINT32 dwIndex, 1340 float *pfLevel) = 0; 1341 1342 virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( 1343 UINT32 dwCount, 1344 const float *pfVolumes, 1345 LPCGUID EventContext) = 0; 1346 1347 virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( 1348 UINT32 dwCount, 1349 float *pfVolumes) = 0; 1350 1351}; 1352#ifdef __CRT_UUID_DECL 1353__CRT_UUID_DECL(IChannelAudioVolume, 0x1c158861, 0xb533, 0x4b30, 0xb1,0xcf, 0xe8,0x53,0xe5,0x1c,0x59,0xb8) 1354#endif 1355#else 1356typedef struct IChannelAudioVolumeVtbl { 1357 BEGIN_INTERFACE 1358 1359 /*** IUnknown methods ***/ 1360 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1361 IChannelAudioVolume* This, 1362 REFIID riid, 1363 void **ppvObject); 1364 1365 ULONG (STDMETHODCALLTYPE *AddRef)( 1366 IChannelAudioVolume* This); 1367 1368 ULONG (STDMETHODCALLTYPE *Release)( 1369 IChannelAudioVolume* This); 1370 1371 /*** IChannelAudioVolume methods ***/ 1372 HRESULT (STDMETHODCALLTYPE *GetChannelCount)( 1373 IChannelAudioVolume* This, 1374 UINT32 *pdwCount); 1375 1376 HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( 1377 IChannelAudioVolume* This, 1378 UINT32 dwIndex, 1379 const float fLevel, 1380 LPCGUID EventContext); 1381 1382 HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( 1383 IChannelAudioVolume* This, 1384 UINT32 dwIndex, 1385 float *pfLevel); 1386 1387 HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( 1388 IChannelAudioVolume* This, 1389 UINT32 dwCount, 1390 const float *pfVolumes, 1391 LPCGUID EventContext); 1392 1393 HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( 1394 IChannelAudioVolume* This, 1395 UINT32 dwCount, 1396 float *pfVolumes); 1397 1398 END_INTERFACE 1399} IChannelAudioVolumeVtbl; 1400interface IChannelAudioVolume { 1401 CONST_VTBL IChannelAudioVolumeVtbl* lpVtbl; 1402}; 1403 1404#ifdef COBJMACROS 1405#ifndef WIDL_C_INLINE_WRAPPERS 1406/*** IUnknown methods ***/ 1407#define IChannelAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1408#define IChannelAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This) 1409#define IChannelAudioVolume_Release(This) (This)->lpVtbl->Release(This) 1410/*** IChannelAudioVolume methods ***/ 1411#define IChannelAudioVolume_GetChannelCount(This,pdwCount) (This)->lpVtbl->GetChannelCount(This,pdwCount) 1412#define IChannelAudioVolume_SetChannelVolume(This,dwIndex,fLevel,EventContext) (This)->lpVtbl->SetChannelVolume(This,dwIndex,fLevel,EventContext) 1413#define IChannelAudioVolume_GetChannelVolume(This,dwIndex,pfLevel) (This)->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel) 1414#define IChannelAudioVolume_SetAllVolumes(This,dwCount,pfVolumes,EventContext) (This)->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes,EventContext) 1415#define IChannelAudioVolume_GetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes) 1416#else 1417/*** IUnknown methods ***/ 1418static FORCEINLINE HRESULT IChannelAudioVolume_QueryInterface(IChannelAudioVolume* This,REFIID riid,void **ppvObject) { 1419 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1420} 1421static FORCEINLINE ULONG IChannelAudioVolume_AddRef(IChannelAudioVolume* This) { 1422 return This->lpVtbl->AddRef(This); 1423} 1424static FORCEINLINE ULONG IChannelAudioVolume_Release(IChannelAudioVolume* This) { 1425 return This->lpVtbl->Release(This); 1426} 1427/*** IChannelAudioVolume methods ***/ 1428static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelCount(IChannelAudioVolume* This,UINT32 *pdwCount) { 1429 return This->lpVtbl->GetChannelCount(This,pdwCount); 1430} 1431static FORCEINLINE HRESULT IChannelAudioVolume_SetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,const float fLevel,LPCGUID EventContext) { 1432 return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel,EventContext); 1433} 1434static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,float *pfLevel) { 1435 return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); 1436} 1437static FORCEINLINE HRESULT IChannelAudioVolume_SetAllVolumes(IChannelAudioVolume* This,UINT32 dwCount,const float *pfVolumes,LPCGUID EventContext) { 1438 return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes,EventContext); 1439} 1440static FORCEINLINE HRESULT IChannelAudioVolume_GetAllVolumes(IChannelAudioVolume* This,UINT32 dwCount,float *pfVolumes) { 1441 return This->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes); 1442} 1443#endif 1444#endif 1445 1446#endif 1447 1448HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetChannelCount_Proxy( 1449 IChannelAudioVolume* This, 1450 UINT32 *pdwCount); 1451void __RPC_STUB IChannelAudioVolume_GetChannelCount_Stub( 1452 IRpcStubBuffer* This, 1453 IRpcChannelBuffer* pRpcChannelBuffer, 1454 PRPC_MESSAGE pRpcMessage, 1455 DWORD* pdwStubPhase); 1456HRESULT STDMETHODCALLTYPE IChannelAudioVolume_SetChannelVolume_Proxy( 1457 IChannelAudioVolume* This, 1458 UINT32 dwIndex, 1459 const float fLevel, 1460 LPCGUID EventContext); 1461void __RPC_STUB IChannelAudioVolume_SetChannelVolume_Stub( 1462 IRpcStubBuffer* This, 1463 IRpcChannelBuffer* pRpcChannelBuffer, 1464 PRPC_MESSAGE pRpcMessage, 1465 DWORD* pdwStubPhase); 1466HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetChannelVolume_Proxy( 1467 IChannelAudioVolume* This, 1468 UINT32 dwIndex, 1469 float *pfLevel); 1470void __RPC_STUB IChannelAudioVolume_GetChannelVolume_Stub( 1471 IRpcStubBuffer* This, 1472 IRpcChannelBuffer* pRpcChannelBuffer, 1473 PRPC_MESSAGE pRpcMessage, 1474 DWORD* pdwStubPhase); 1475HRESULT STDMETHODCALLTYPE IChannelAudioVolume_SetAllVolumes_Proxy( 1476 IChannelAudioVolume* This, 1477 UINT32 dwCount, 1478 const float *pfVolumes, 1479 LPCGUID EventContext); 1480void __RPC_STUB IChannelAudioVolume_SetAllVolumes_Stub( 1481 IRpcStubBuffer* This, 1482 IRpcChannelBuffer* pRpcChannelBuffer, 1483 PRPC_MESSAGE pRpcMessage, 1484 DWORD* pdwStubPhase); 1485HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetAllVolumes_Proxy( 1486 IChannelAudioVolume* This, 1487 UINT32 dwCount, 1488 float *pfVolumes); 1489void __RPC_STUB IChannelAudioVolume_GetAllVolumes_Stub( 1490 IRpcStubBuffer* This, 1491 IRpcChannelBuffer* pRpcChannelBuffer, 1492 PRPC_MESSAGE pRpcMessage, 1493 DWORD* pdwStubPhase); 1494 1495#endif /* __IChannelAudioVolume_INTERFACE_DEFINED__ */ 1496 1497#define FACILIY_AUDCLNT 0x889 1498#define AUDCLNT_ERR(n) MAKE_HRESULT(SEVERITY_ERROR, FACILIY_AUDCLNT, n) 1499#define AUDCLNT_SUCCESS(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILIY_AUDCLNT, n) 1500#define AUDCLNT_E_NOT_INITIALIZED AUDCLNT_ERR(1) 1501#define AUDCLNT_E_ALREADY_INITIALIZED AUDCLNT_ERR(2) 1502#define AUDCLNT_E_WRONG_ENDPOINT_TYPE AUDCLNT_ERR(3) 1503#define AUDCLNT_E_DEVICE_INVALIDATED AUDCLNT_ERR(4) 1504#define AUDCLNT_E_NOT_STOPPED AUDCLNT_ERR(5) 1505#define AUDCLNT_E_BUFFER_TOO_LARGE AUDCLNT_ERR(6) 1506#define AUDCLNT_E_OUT_OF_ORDER AUDCLNT_ERR(7) 1507#define AUDCLNT_E_UNSUPPORTED_FORMAT AUDCLNT_ERR(8) 1508#define AUDCLNT_E_INVALID_SIZE AUDCLNT_ERR(9) 1509#define AUDCLNT_E_DEVICE_IN_USE AUDCLNT_ERR(0x0a) 1510#define AUDCLNT_E_BUFFER_OPERATION_PENDING AUDCLNT_ERR(0x0b) 1511#define AUDCLNT_E_THREAD_NOT_REGISTERED AUDCLNT_ERR(0x0c) 1512#define AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED AUDCLNT_ERR(0x0e) 1513#define AUDCLNT_E_ENDPOINT_CREATE_FAILED AUDCLNT_ERR(0x0f) 1514#define AUDCLNT_E_SERVICE_NOT_RUNNING AUDCLNT_ERR(0x10) 1515#define AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED AUDCLNT_ERR(0x11) 1516#define AUDCLNT_E_EXCLUSIVE_MODE_ONLY AUDCLNT_ERR(0x12) 1517#define AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL AUDCLNT_ERR(0x13) 1518#define AUDCLNT_E_EVENTHANDLE_NOT_SET AUDCLNT_ERR(0x14) 1519#define AUDCLNT_E_INCORRECT_BUFFER_SIZE AUDCLNT_ERR(0x15) 1520#define AUDCLNT_E_BUFFER_SIZE_ERROR AUDCLNT_ERR(0x16) 1521#define AUDCLNT_E_CPUUSAGE_EXCEEDED AUDCLNT_ERR(0x17) 1522#define AUDCLNT_E_BUFFER_ERROR AUDCLNT_ERR(0x18) 1523#define AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED AUDCLNT_ERR(0x19) 1524#define AUDCLNT_E_INVALID_DEVICE_PERIOD AUDCLNT_ERR(0x20) 1525#define AUDCLNT_E_INVALID_STREAM_FLAG AUDCLNT_ERR(0x021) 1526#define AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE AUDCLNT_ERR(0x022) 1527#define AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES AUDCLNT_ERR(0x023) 1528#define AUDCLNT_E_OFFLOAD_MODE_ONLY AUDCLNT_ERR(0x024) 1529#define AUDCLNT_E_NONOFFLOAD_MODE_ONLY AUDCLNT_ERR(0x025) 1530#define AUDCLNT_E_RESOURCES_INVALIDATED AUDCLNT_ERR(0x026) 1531#define AUDCLNT_S_BUFFER_EMPTY AUDCLNT_SUCCESS(0x1) 1532#define AUDCLNT_S_THREAD_ALREADY_REGISTERED AUDCLNT_SUCCESS(0x2) 1533#define AUDCLNT_S_POSITION_STALLED AUDCLNT_SUCCESS(0x3) 1534/* Begin additional prototypes for all interfaces */ 1535 1536 1537/* End additional prototypes */ 1538 1539#ifdef __cplusplus 1540} 1541#endif 1542 1543#endif /* __audioclient_h__ */ 1544