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__ 22 typedef interface IAudioClient IAudioClient; 23 #endif 24 25 #ifndef __IAudioRenderClient_FWD_DEFINED__ 26 #define __IAudioRenderClient_FWD_DEFINED__ 27 typedef interface IAudioRenderClient IAudioRenderClient; 28 #endif 29 30 #ifndef __IAudioCaptureClient_FWD_DEFINED__ 31 #define __IAudioCaptureClient_FWD_DEFINED__ 32 typedef interface IAudioCaptureClient IAudioCaptureClient; 33 #endif 34 35 #ifndef __IAudioClock_FWD_DEFINED__ 36 #define __IAudioClock_FWD_DEFINED__ 37 typedef interface IAudioClock IAudioClock; 38 #endif 39 40 #ifndef __IAudioClock2_FWD_DEFINED__ 41 #define __IAudioClock2_FWD_DEFINED__ 42 typedef interface IAudioClock2 IAudioClock2; 43 #endif 44 45 #ifndef __IAudioClockAdjustment_FWD_DEFINED__ 46 #define __IAudioClockAdjustment_FWD_DEFINED__ 47 typedef interface IAudioClockAdjustment IAudioClockAdjustment; 48 #endif 49 50 #ifndef __ISimpleAudioVolume_FWD_DEFINED__ 51 #define __ISimpleAudioVolume_FWD_DEFINED__ 52 typedef interface ISimpleAudioVolume ISimpleAudioVolume; 53 #endif 54 55 #ifndef __IAudioStreamVolume_FWD_DEFINED__ 56 #define __IAudioStreamVolume_FWD_DEFINED__ 57 typedef interface IAudioStreamVolume IAudioStreamVolume; 58 #endif 59 60 #ifndef __IChannelAudioVolume_FWD_DEFINED__ 61 #define __IChannelAudioVolume_FWD_DEFINED__ 62 typedef 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 72 extern "C" { 73 #endif 74 75 #ifndef __IAudioClient_FWD_DEFINED__ 76 #define __IAudioClient_FWD_DEFINED__ 77 typedef interface IAudioClient IAudioClient; 78 #endif 79 80 #ifndef __IAudioRenderClient_FWD_DEFINED__ 81 #define __IAudioRenderClient_FWD_DEFINED__ 82 typedef interface IAudioRenderClient IAudioRenderClient; 83 #endif 84 85 #ifndef __IAudioCaptureClient_FWD_DEFINED__ 86 #define __IAudioCaptureClient_FWD_DEFINED__ 87 typedef interface IAudioCaptureClient IAudioCaptureClient; 88 #endif 89 90 #ifndef __IAudioClock_FWD_DEFINED__ 91 #define __IAudioClock_FWD_DEFINED__ 92 typedef interface IAudioClock IAudioClock; 93 #endif 94 95 #ifndef __IAudioClock2_FWD_DEFINED__ 96 #define __IAudioClock2_FWD_DEFINED__ 97 typedef interface IAudioClock2 IAudioClock2; 98 #endif 99 100 #ifndef __IAudioClockAdjustment_FWD_DEFINED__ 101 #define __IAudioClockAdjustment_FWD_DEFINED__ 102 typedef interface IAudioClockAdjustment IAudioClockAdjustment; 103 #endif 104 105 #ifndef __ISimpleAudioVolume_FWD_DEFINED__ 106 #define __ISimpleAudioVolume_FWD_DEFINED__ 107 typedef interface ISimpleAudioVolume ISimpleAudioVolume; 108 #endif 109 110 #ifndef __IAudioStreamVolume_FWD_DEFINED__ 111 #define __IAudioStreamVolume_FWD_DEFINED__ 112 typedef interface IAudioStreamVolume IAudioStreamVolume; 113 #endif 114 115 #ifndef __IChannelAudioVolume_FWD_DEFINED__ 116 #define __IChannelAudioVolume_FWD_DEFINED__ 117 typedef interface IChannelAudioVolume IChannelAudioVolume; 118 #endif 119 120 #if 0 121 typedef 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 134 typedef LONGLONG REFERENCE_TIME; 135 #else 136 #define _IKsControl_ 137 #include <ks.h> 138 #include <ksmedia.h> 139 #endif 140 enum _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 152 DEFINE_GUID(IID_IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1,0x78, 0xc2,0xf5,0x68,0xa7,0x03,0xb2); 153 #if defined(__cplusplus) && !defined(CINTERFACE) 154 MIDL_INTERFACE("1cb9ad4c-dbfa-4c32-b178-c2f568a703b2") 155 IAudioClient : 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 207 typedef 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; 279 interface 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 ***/ 304 static FORCEINLINE HRESULT IAudioClient_QueryInterface(IAudioClient* This,REFIID riid,void **ppvObject) { 305 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 306 } 307 static FORCEINLINE ULONG IAudioClient_AddRef(IAudioClient* This) { 308 return This->lpVtbl->AddRef(This); 309 } 310 static FORCEINLINE ULONG IAudioClient_Release(IAudioClient* This) { 311 return This->lpVtbl->Release(This); 312 } 313 /*** IAudioClient methods ***/ 314 static 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 } 317 static FORCEINLINE HRESULT IAudioClient_GetBufferSize(IAudioClient* This,UINT32 *pNumBufferFrames) { 318 return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); 319 } 320 static FORCEINLINE HRESULT IAudioClient_GetStreamLatency(IAudioClient* This,REFERENCE_TIME *phnsLatency) { 321 return This->lpVtbl->GetStreamLatency(This,phnsLatency); 322 } 323 static FORCEINLINE HRESULT IAudioClient_GetCurrentPadding(IAudioClient* This,UINT32 *pNumPaddingFrames) { 324 return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); 325 } 326 static FORCEINLINE HRESULT IAudioClient_IsFormatSupported(IAudioClient* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { 327 return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); 328 } 329 static FORCEINLINE HRESULT IAudioClient_GetMixFormat(IAudioClient* This,WAVEFORMATEX **ppDeviceFormat) { 330 return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); 331 } 332 static FORCEINLINE HRESULT IAudioClient_GetDevicePeriod(IAudioClient* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { 333 return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); 334 } 335 static FORCEINLINE HRESULT IAudioClient_Start(IAudioClient* This) { 336 return This->lpVtbl->Start(This); 337 } 338 static FORCEINLINE HRESULT IAudioClient_Stop(IAudioClient* This) { 339 return This->lpVtbl->Stop(This); 340 } 341 static FORCEINLINE HRESULT IAudioClient_Reset(IAudioClient* This) { 342 return This->lpVtbl->Reset(This); 343 } 344 static FORCEINLINE HRESULT IAudioClient_SetEventHandle(IAudioClient* This,HANDLE eventHandle) { 345 return This->lpVtbl->SetEventHandle(This,eventHandle); 346 } 347 static 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 355 HRESULT 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); 363 void __RPC_STUB IAudioClient_Initialize_Stub( 364 IRpcStubBuffer* This, 365 IRpcChannelBuffer* pRpcChannelBuffer, 366 PRPC_MESSAGE pRpcMessage, 367 DWORD* pdwStubPhase); 368 HRESULT STDMETHODCALLTYPE IAudioClient_GetBufferSize_Proxy( 369 IAudioClient* This, 370 UINT32 *pNumBufferFrames); 371 void __RPC_STUB IAudioClient_GetBufferSize_Stub( 372 IRpcStubBuffer* This, 373 IRpcChannelBuffer* pRpcChannelBuffer, 374 PRPC_MESSAGE pRpcMessage, 375 DWORD* pdwStubPhase); 376 HRESULT STDMETHODCALLTYPE IAudioClient_GetStreamLatency_Proxy( 377 IAudioClient* This, 378 REFERENCE_TIME *phnsLatency); 379 void __RPC_STUB IAudioClient_GetStreamLatency_Stub( 380 IRpcStubBuffer* This, 381 IRpcChannelBuffer* pRpcChannelBuffer, 382 PRPC_MESSAGE pRpcMessage, 383 DWORD* pdwStubPhase); 384 HRESULT STDMETHODCALLTYPE IAudioClient_GetCurrentPadding_Proxy( 385 IAudioClient* This, 386 UINT32 *pNumPaddingFrames); 387 void __RPC_STUB IAudioClient_GetCurrentPadding_Stub( 388 IRpcStubBuffer* This, 389 IRpcChannelBuffer* pRpcChannelBuffer, 390 PRPC_MESSAGE pRpcMessage, 391 DWORD* pdwStubPhase); 392 HRESULT STDMETHODCALLTYPE IAudioClient_IsFormatSupported_Proxy( 393 IAudioClient* This, 394 AUDCLNT_SHAREMODE ShareMode, 395 const WAVEFORMATEX *pFormat, 396 WAVEFORMATEX **ppClosestMatch); 397 void __RPC_STUB IAudioClient_IsFormatSupported_Stub( 398 IRpcStubBuffer* This, 399 IRpcChannelBuffer* pRpcChannelBuffer, 400 PRPC_MESSAGE pRpcMessage, 401 DWORD* pdwStubPhase); 402 HRESULT STDMETHODCALLTYPE IAudioClient_GetMixFormat_Proxy( 403 IAudioClient* This, 404 WAVEFORMATEX **ppDeviceFormat); 405 void __RPC_STUB IAudioClient_GetMixFormat_Stub( 406 IRpcStubBuffer* This, 407 IRpcChannelBuffer* pRpcChannelBuffer, 408 PRPC_MESSAGE pRpcMessage, 409 DWORD* pdwStubPhase); 410 HRESULT STDMETHODCALLTYPE IAudioClient_GetDevicePeriod_Proxy( 411 IAudioClient* This, 412 REFERENCE_TIME *phnsDefaultDevicePeriod, 413 REFERENCE_TIME *phnsMinimumDevicePeriod); 414 void __RPC_STUB IAudioClient_GetDevicePeriod_Stub( 415 IRpcStubBuffer* This, 416 IRpcChannelBuffer* pRpcChannelBuffer, 417 PRPC_MESSAGE pRpcMessage, 418 DWORD* pdwStubPhase); 419 HRESULT STDMETHODCALLTYPE IAudioClient_Start_Proxy( 420 IAudioClient* This); 421 void __RPC_STUB IAudioClient_Start_Stub( 422 IRpcStubBuffer* This, 423 IRpcChannelBuffer* pRpcChannelBuffer, 424 PRPC_MESSAGE pRpcMessage, 425 DWORD* pdwStubPhase); 426 HRESULT STDMETHODCALLTYPE IAudioClient_Stop_Proxy( 427 IAudioClient* This); 428 void __RPC_STUB IAudioClient_Stop_Stub( 429 IRpcStubBuffer* This, 430 IRpcChannelBuffer* pRpcChannelBuffer, 431 PRPC_MESSAGE pRpcMessage, 432 DWORD* pdwStubPhase); 433 HRESULT STDMETHODCALLTYPE IAudioClient_Reset_Proxy( 434 IAudioClient* This); 435 void __RPC_STUB IAudioClient_Reset_Stub( 436 IRpcStubBuffer* This, 437 IRpcChannelBuffer* pRpcChannelBuffer, 438 PRPC_MESSAGE pRpcMessage, 439 DWORD* pdwStubPhase); 440 HRESULT STDMETHODCALLTYPE IAudioClient_SetEventHandle_Proxy( 441 IAudioClient* This, 442 HANDLE eventHandle); 443 void __RPC_STUB IAudioClient_SetEventHandle_Stub( 444 IRpcStubBuffer* This, 445 IRpcChannelBuffer* pRpcChannelBuffer, 446 PRPC_MESSAGE pRpcMessage, 447 DWORD* pdwStubPhase); 448 HRESULT STDMETHODCALLTYPE IAudioClient_GetService_Proxy( 449 IAudioClient* This, 450 REFIID riid, 451 void **ppv); 452 void __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 466 DEFINE_GUID(IID_IAudioRenderClient, 0xf294acfc, 0x3146, 0x4483, 0xa7,0xbf, 0xad,0xdc,0xa7,0xc2,0x60,0xe2); 467 #if defined(__cplusplus) && !defined(CINTERFACE) 468 MIDL_INTERFACE("f294acfc-3146-4483-a7bf-addca7c260e2") 469 IAudioRenderClient : 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 484 typedef 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; 512 interface 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 ***/ 527 static FORCEINLINE HRESULT IAudioRenderClient_QueryInterface(IAudioRenderClient* This,REFIID riid,void **ppvObject) { 528 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 529 } 530 static FORCEINLINE ULONG IAudioRenderClient_AddRef(IAudioRenderClient* This) { 531 return This->lpVtbl->AddRef(This); 532 } 533 static FORCEINLINE ULONG IAudioRenderClient_Release(IAudioRenderClient* This) { 534 return This->lpVtbl->Release(This); 535 } 536 /*** IAudioRenderClient methods ***/ 537 static FORCEINLINE HRESULT IAudioRenderClient_GetBuffer(IAudioRenderClient* This,UINT32 NumFramesRequested,BYTE **ppData) { 538 return This->lpVtbl->GetBuffer(This,NumFramesRequested,ppData); 539 } 540 static 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 548 HRESULT STDMETHODCALLTYPE IAudioRenderClient_GetBuffer_Proxy( 549 IAudioRenderClient* This, 550 UINT32 NumFramesRequested, 551 BYTE **ppData); 552 void __RPC_STUB IAudioRenderClient_GetBuffer_Stub( 553 IRpcStubBuffer* This, 554 IRpcChannelBuffer* pRpcChannelBuffer, 555 PRPC_MESSAGE pRpcMessage, 556 DWORD* pdwStubPhase); 557 HRESULT STDMETHODCALLTYPE IAudioRenderClient_ReleaseBuffer_Proxy( 558 IAudioRenderClient* This, 559 UINT32 NumFramesWritten, 560 DWORD dwFlags); 561 void __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 575 DEFINE_GUID(IID_IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4,0xde, 0x18,0x5c,0x39,0x5c,0xd3,0x17); 576 #if defined(__cplusplus) && !defined(CINTERFACE) 577 MIDL_INTERFACE("c8adbd64-e71e-48a0-a4de-185c395cd317") 578 IAudioCaptureClient : 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 598 typedef 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; 632 interface 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 ***/ 648 static FORCEINLINE HRESULT IAudioCaptureClient_QueryInterface(IAudioCaptureClient* This,REFIID riid,void **ppvObject) { 649 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 650 } 651 static FORCEINLINE ULONG IAudioCaptureClient_AddRef(IAudioCaptureClient* This) { 652 return This->lpVtbl->AddRef(This); 653 } 654 static FORCEINLINE ULONG IAudioCaptureClient_Release(IAudioCaptureClient* This) { 655 return This->lpVtbl->Release(This); 656 } 657 /*** IAudioCaptureClient methods ***/ 658 static 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 } 661 static FORCEINLINE HRESULT IAudioCaptureClient_ReleaseBuffer(IAudioCaptureClient* This,UINT32 NumFramesRead) { 662 return This->lpVtbl->ReleaseBuffer(This,NumFramesRead); 663 } 664 static FORCEINLINE HRESULT IAudioCaptureClient_GetNextPacketSize(IAudioCaptureClient* This,UINT32 *pNumFramesInNextPacket) { 665 return This->lpVtbl->GetNextPacketSize(This,pNumFramesInNextPacket); 666 } 667 #endif 668 #endif 669 670 #endif 671 672 HRESULT STDMETHODCALLTYPE IAudioCaptureClient_GetBuffer_Proxy( 673 IAudioCaptureClient* This, 674 BYTE **ppData, 675 UINT32 *pNumFramesToRead, 676 DWORD *pdwFlags, 677 UINT64 *pu64DevicePosition, 678 UINT64 *pu64QPCPosition); 679 void __RPC_STUB IAudioCaptureClient_GetBuffer_Stub( 680 IRpcStubBuffer* This, 681 IRpcChannelBuffer* pRpcChannelBuffer, 682 PRPC_MESSAGE pRpcMessage, 683 DWORD* pdwStubPhase); 684 HRESULT STDMETHODCALLTYPE IAudioCaptureClient_ReleaseBuffer_Proxy( 685 IAudioCaptureClient* This, 686 UINT32 NumFramesRead); 687 void __RPC_STUB IAudioCaptureClient_ReleaseBuffer_Stub( 688 IRpcStubBuffer* This, 689 IRpcChannelBuffer* pRpcChannelBuffer, 690 PRPC_MESSAGE pRpcMessage, 691 DWORD* pdwStubPhase); 692 HRESULT STDMETHODCALLTYPE IAudioCaptureClient_GetNextPacketSize_Proxy( 693 IAudioCaptureClient* This, 694 UINT32 *pNumFramesInNextPacket); 695 void __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 710 DEFINE_GUID(IID_IAudioClock, 0xcd63314f, 0x3fba, 0x4a1b, 0x81,0x2c, 0xef,0x96,0x35,0x87,0x28,0xe7); 711 #if defined(__cplusplus) && !defined(CINTERFACE) 712 MIDL_INTERFACE("cd63314f-3fba-4a1b-812c-ef96358728e7") 713 IAudioClock : 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 730 typedef 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; 761 interface 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 ***/ 777 static FORCEINLINE HRESULT IAudioClock_QueryInterface(IAudioClock* This,REFIID riid,void **ppvObject) { 778 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 779 } 780 static FORCEINLINE ULONG IAudioClock_AddRef(IAudioClock* This) { 781 return This->lpVtbl->AddRef(This); 782 } 783 static FORCEINLINE ULONG IAudioClock_Release(IAudioClock* This) { 784 return This->lpVtbl->Release(This); 785 } 786 /*** IAudioClock methods ***/ 787 static FORCEINLINE HRESULT IAudioClock_GetFrequency(IAudioClock* This,UINT64 *pu64Frequency) { 788 return This->lpVtbl->GetFrequency(This,pu64Frequency); 789 } 790 static FORCEINLINE HRESULT IAudioClock_GetPosition(IAudioClock* This,UINT64 *pu64Position,UINT64 *pu64QPCPosition) { 791 return This->lpVtbl->GetPosition(This,pu64Position,pu64QPCPosition); 792 } 793 static FORCEINLINE HRESULT IAudioClock_GetCharacteristics(IAudioClock* This,DWORD *pdwCharacteristics) { 794 return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); 795 } 796 #endif 797 #endif 798 799 #endif 800 801 HRESULT STDMETHODCALLTYPE IAudioClock_GetFrequency_Proxy( 802 IAudioClock* This, 803 UINT64 *pu64Frequency); 804 void __RPC_STUB IAudioClock_GetFrequency_Stub( 805 IRpcStubBuffer* This, 806 IRpcChannelBuffer* pRpcChannelBuffer, 807 PRPC_MESSAGE pRpcMessage, 808 DWORD* pdwStubPhase); 809 HRESULT STDMETHODCALLTYPE IAudioClock_GetPosition_Proxy( 810 IAudioClock* This, 811 UINT64 *pu64Position, 812 UINT64 *pu64QPCPosition); 813 void __RPC_STUB IAudioClock_GetPosition_Stub( 814 IRpcStubBuffer* This, 815 IRpcChannelBuffer* pRpcChannelBuffer, 816 PRPC_MESSAGE pRpcMessage, 817 DWORD* pdwStubPhase); 818 HRESULT STDMETHODCALLTYPE IAudioClock_GetCharacteristics_Proxy( 819 IAudioClock* This, 820 DWORD *pdwCharacteristics); 821 void __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 835 DEFINE_GUID(IID_IAudioClock2, 0x6f49ff73, 0x6727, 0x49ac, 0xa0,0x08, 0xd9,0x8c,0xf5,0xe7,0x00,0x48); 836 #if defined(__cplusplus) && !defined(CINTERFACE) 837 MIDL_INTERFACE("6f49ff73-6727-49ac-a008-d98cf5e70048") 838 IAudioClock2 : 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 849 typedef 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; 872 interface 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 ***/ 886 static FORCEINLINE HRESULT IAudioClock2_QueryInterface(IAudioClock2* This,REFIID riid,void **ppvObject) { 887 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 888 } 889 static FORCEINLINE ULONG IAudioClock2_AddRef(IAudioClock2* This) { 890 return This->lpVtbl->AddRef(This); 891 } 892 static FORCEINLINE ULONG IAudioClock2_Release(IAudioClock2* This) { 893 return This->lpVtbl->Release(This); 894 } 895 /*** IAudioClock2 methods ***/ 896 static 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 904 HRESULT STDMETHODCALLTYPE IAudioClock2_GetPosition_Proxy( 905 IAudioClock2* This, 906 UINT64 *DevicePosition, 907 UINT64 *QPCPosition); 908 void __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 922 DEFINE_GUID(IID_IAudioClockAdjustment, 0xf6e4c0a0, 0x46d9, 0x4fb9, 0xbe,0x21, 0x57,0xa3,0xef,0x2b,0x62,0x6c); 923 #if defined(__cplusplus) && !defined(CINTERFACE) 924 MIDL_INTERFACE("f6e4c0a0-46d9-4fb9-be21-57a3ef2b626c") 925 IAudioClockAdjustment : 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 935 typedef 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; 957 interface 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 ***/ 971 static FORCEINLINE HRESULT IAudioClockAdjustment_QueryInterface(IAudioClockAdjustment* This,REFIID riid,void **ppvObject) { 972 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 973 } 974 static FORCEINLINE ULONG IAudioClockAdjustment_AddRef(IAudioClockAdjustment* This) { 975 return This->lpVtbl->AddRef(This); 976 } 977 static FORCEINLINE ULONG IAudioClockAdjustment_Release(IAudioClockAdjustment* This) { 978 return This->lpVtbl->Release(This); 979 } 980 /*** IAudioClockAdjustment methods ***/ 981 static FORCEINLINE HRESULT IAudioClockAdjustment_SetSampleRate(IAudioClockAdjustment* This,float flSampleRate) { 982 return This->lpVtbl->SetSampleRate(This,flSampleRate); 983 } 984 #endif 985 #endif 986 987 #endif 988 989 HRESULT STDMETHODCALLTYPE IAudioClockAdjustment_SetSampleRate_Proxy( 990 IAudioClockAdjustment* This, 991 float flSampleRate); 992 void __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 1006 DEFINE_GUID(IID_ISimpleAudioVolume, 0x87ce5498, 0x68d6, 0x44e5, 0x92,0x15, 0x6d,0xa4,0x7e,0xf8,0x83,0xd8); 1007 #if defined(__cplusplus) && !defined(CINTERFACE) 1008 MIDL_INTERFACE("87ce5498-68d6-44e5-9215-6da47ef883d8") 1009 ISimpleAudioVolume : 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 1030 typedef 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; 1066 interface 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 ***/ 1083 static FORCEINLINE HRESULT ISimpleAudioVolume_QueryInterface(ISimpleAudioVolume* This,REFIID riid,void **ppvObject) { 1084 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1085 } 1086 static FORCEINLINE ULONG ISimpleAudioVolume_AddRef(ISimpleAudioVolume* This) { 1087 return This->lpVtbl->AddRef(This); 1088 } 1089 static FORCEINLINE ULONG ISimpleAudioVolume_Release(ISimpleAudioVolume* This) { 1090 return This->lpVtbl->Release(This); 1091 } 1092 /*** ISimpleAudioVolume methods ***/ 1093 static FORCEINLINE HRESULT ISimpleAudioVolume_SetMasterVolume(ISimpleAudioVolume* This,float fLevel,LPCGUID EventContext) { 1094 return This->lpVtbl->SetMasterVolume(This,fLevel,EventContext); 1095 } 1096 static FORCEINLINE HRESULT ISimpleAudioVolume_GetMasterVolume(ISimpleAudioVolume* This,float *pfLevel) { 1097 return This->lpVtbl->GetMasterVolume(This,pfLevel); 1098 } 1099 static FORCEINLINE HRESULT ISimpleAudioVolume_SetMute(ISimpleAudioVolume* This,const WINBOOL bMute,LPCGUID EventContext) { 1100 return This->lpVtbl->SetMute(This,bMute,EventContext); 1101 } 1102 static FORCEINLINE HRESULT ISimpleAudioVolume_GetMute(ISimpleAudioVolume* This,WINBOOL *pbMute) { 1103 return This->lpVtbl->GetMute(This,pbMute); 1104 } 1105 #endif 1106 #endif 1107 1108 #endif 1109 1110 HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_SetMasterVolume_Proxy( 1111 ISimpleAudioVolume* This, 1112 float fLevel, 1113 LPCGUID EventContext); 1114 void __RPC_STUB ISimpleAudioVolume_SetMasterVolume_Stub( 1115 IRpcStubBuffer* This, 1116 IRpcChannelBuffer* pRpcChannelBuffer, 1117 PRPC_MESSAGE pRpcMessage, 1118 DWORD* pdwStubPhase); 1119 HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_GetMasterVolume_Proxy( 1120 ISimpleAudioVolume* This, 1121 float *pfLevel); 1122 void __RPC_STUB ISimpleAudioVolume_GetMasterVolume_Stub( 1123 IRpcStubBuffer* This, 1124 IRpcChannelBuffer* pRpcChannelBuffer, 1125 PRPC_MESSAGE pRpcMessage, 1126 DWORD* pdwStubPhase); 1127 HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_SetMute_Proxy( 1128 ISimpleAudioVolume* This, 1129 const WINBOOL bMute, 1130 LPCGUID EventContext); 1131 void __RPC_STUB ISimpleAudioVolume_SetMute_Stub( 1132 IRpcStubBuffer* This, 1133 IRpcChannelBuffer* pRpcChannelBuffer, 1134 PRPC_MESSAGE pRpcMessage, 1135 DWORD* pdwStubPhase); 1136 HRESULT STDMETHODCALLTYPE ISimpleAudioVolume_GetMute_Proxy( 1137 ISimpleAudioVolume* This, 1138 WINBOOL *pbMute); 1139 void __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 1153 DEFINE_GUID(IID_IAudioStreamVolume, 0x93014887, 0x242d, 0x4068, 0x8a,0x15, 0xcf,0x5e,0x93,0xb9,0x0f,0xe3); 1154 #if defined(__cplusplus) && !defined(CINTERFACE) 1155 MIDL_INTERFACE("93014887-242d-4068-8a15-cf5e93b90fe3") 1156 IAudioStreamVolume : 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 1182 typedef 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; 1224 interface 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 ***/ 1242 static FORCEINLINE HRESULT IAudioStreamVolume_QueryInterface(IAudioStreamVolume* This,REFIID riid,void **ppvObject) { 1243 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1244 } 1245 static FORCEINLINE ULONG IAudioStreamVolume_AddRef(IAudioStreamVolume* This) { 1246 return This->lpVtbl->AddRef(This); 1247 } 1248 static FORCEINLINE ULONG IAudioStreamVolume_Release(IAudioStreamVolume* This) { 1249 return This->lpVtbl->Release(This); 1250 } 1251 /*** IAudioStreamVolume methods ***/ 1252 static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelCount(IAudioStreamVolume* This,UINT32 *pdwCount) { 1253 return This->lpVtbl->GetChannelCount(This,pdwCount); 1254 } 1255 static FORCEINLINE HRESULT IAudioStreamVolume_SetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,const float fLevel) { 1256 return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel); 1257 } 1258 static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,float *pfLevel) { 1259 return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); 1260 } 1261 static FORCEINLINE HRESULT IAudioStreamVolume_SetAllVolumes(IAudioStreamVolume* This,UINT32 dwCount,const float *pfVolumes) { 1262 return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes); 1263 } 1264 static 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 1272 HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetChannelCount_Proxy( 1273 IAudioStreamVolume* This, 1274 UINT32 *pdwCount); 1275 void __RPC_STUB IAudioStreamVolume_GetChannelCount_Stub( 1276 IRpcStubBuffer* This, 1277 IRpcChannelBuffer* pRpcChannelBuffer, 1278 PRPC_MESSAGE pRpcMessage, 1279 DWORD* pdwStubPhase); 1280 HRESULT STDMETHODCALLTYPE IAudioStreamVolume_SetChannelVolume_Proxy( 1281 IAudioStreamVolume* This, 1282 UINT32 dwIndex, 1283 const float fLevel); 1284 void __RPC_STUB IAudioStreamVolume_SetChannelVolume_Stub( 1285 IRpcStubBuffer* This, 1286 IRpcChannelBuffer* pRpcChannelBuffer, 1287 PRPC_MESSAGE pRpcMessage, 1288 DWORD* pdwStubPhase); 1289 HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetChannelVolume_Proxy( 1290 IAudioStreamVolume* This, 1291 UINT32 dwIndex, 1292 float *pfLevel); 1293 void __RPC_STUB IAudioStreamVolume_GetChannelVolume_Stub( 1294 IRpcStubBuffer* This, 1295 IRpcChannelBuffer* pRpcChannelBuffer, 1296 PRPC_MESSAGE pRpcMessage, 1297 DWORD* pdwStubPhase); 1298 HRESULT STDMETHODCALLTYPE IAudioStreamVolume_SetAllVolumes_Proxy( 1299 IAudioStreamVolume* This, 1300 UINT32 dwCount, 1301 const float *pfVolumes); 1302 void __RPC_STUB IAudioStreamVolume_SetAllVolumes_Stub( 1303 IRpcStubBuffer* This, 1304 IRpcChannelBuffer* pRpcChannelBuffer, 1305 PRPC_MESSAGE pRpcMessage, 1306 DWORD* pdwStubPhase); 1307 HRESULT STDMETHODCALLTYPE IAudioStreamVolume_GetAllVolumes_Proxy( 1308 IAudioStreamVolume* This, 1309 UINT32 dwCount, 1310 float *pfVolumes); 1311 void __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 1325 DEFINE_GUID(IID_IChannelAudioVolume, 0x1c158861, 0xb533, 0x4b30, 0xb1,0xcf, 0xe8,0x53,0xe5,0x1c,0x59,0xb8); 1326 #if defined(__cplusplus) && !defined(CINTERFACE) 1327 MIDL_INTERFACE("1c158861-b533-4b30-b1cf-e853e51c59b8") 1328 IChannelAudioVolume : 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 1356 typedef 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; 1400 interface 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 ***/ 1418 static FORCEINLINE HRESULT IChannelAudioVolume_QueryInterface(IChannelAudioVolume* This,REFIID riid,void **ppvObject) { 1419 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1420 } 1421 static FORCEINLINE ULONG IChannelAudioVolume_AddRef(IChannelAudioVolume* This) { 1422 return This->lpVtbl->AddRef(This); 1423 } 1424 static FORCEINLINE ULONG IChannelAudioVolume_Release(IChannelAudioVolume* This) { 1425 return This->lpVtbl->Release(This); 1426 } 1427 /*** IChannelAudioVolume methods ***/ 1428 static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelCount(IChannelAudioVolume* This,UINT32 *pdwCount) { 1429 return This->lpVtbl->GetChannelCount(This,pdwCount); 1430 } 1431 static FORCEINLINE HRESULT IChannelAudioVolume_SetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,const float fLevel,LPCGUID EventContext) { 1432 return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel,EventContext); 1433 } 1434 static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,float *pfLevel) { 1435 return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); 1436 } 1437 static FORCEINLINE HRESULT IChannelAudioVolume_SetAllVolumes(IChannelAudioVolume* This,UINT32 dwCount,const float *pfVolumes,LPCGUID EventContext) { 1438 return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes,EventContext); 1439 } 1440 static 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 1448 HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetChannelCount_Proxy( 1449 IChannelAudioVolume* This, 1450 UINT32 *pdwCount); 1451 void __RPC_STUB IChannelAudioVolume_GetChannelCount_Stub( 1452 IRpcStubBuffer* This, 1453 IRpcChannelBuffer* pRpcChannelBuffer, 1454 PRPC_MESSAGE pRpcMessage, 1455 DWORD* pdwStubPhase); 1456 HRESULT STDMETHODCALLTYPE IChannelAudioVolume_SetChannelVolume_Proxy( 1457 IChannelAudioVolume* This, 1458 UINT32 dwIndex, 1459 const float fLevel, 1460 LPCGUID EventContext); 1461 void __RPC_STUB IChannelAudioVolume_SetChannelVolume_Stub( 1462 IRpcStubBuffer* This, 1463 IRpcChannelBuffer* pRpcChannelBuffer, 1464 PRPC_MESSAGE pRpcMessage, 1465 DWORD* pdwStubPhase); 1466 HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetChannelVolume_Proxy( 1467 IChannelAudioVolume* This, 1468 UINT32 dwIndex, 1469 float *pfLevel); 1470 void __RPC_STUB IChannelAudioVolume_GetChannelVolume_Stub( 1471 IRpcStubBuffer* This, 1472 IRpcChannelBuffer* pRpcChannelBuffer, 1473 PRPC_MESSAGE pRpcMessage, 1474 DWORD* pdwStubPhase); 1475 HRESULT STDMETHODCALLTYPE IChannelAudioVolume_SetAllVolumes_Proxy( 1476 IChannelAudioVolume* This, 1477 UINT32 dwCount, 1478 const float *pfVolumes, 1479 LPCGUID EventContext); 1480 void __RPC_STUB IChannelAudioVolume_SetAllVolumes_Stub( 1481 IRpcStubBuffer* This, 1482 IRpcChannelBuffer* pRpcChannelBuffer, 1483 PRPC_MESSAGE pRpcMessage, 1484 DWORD* pdwStubPhase); 1485 HRESULT STDMETHODCALLTYPE IChannelAudioVolume_GetAllVolumes_Proxy( 1486 IChannelAudioVolume* This, 1487 UINT32 dwCount, 1488 float *pfVolumes); 1489 void __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