PortAudio  2.0
audioclient.h
Go to the documentation of this file.
1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for audioclient.idl:
8  Oicf, W1, Zp8, env=Win32 (32b run)
9  protocol : dce , ms_ext, c_ext, robust
10  error checks: allocation ref bounds_check enum stub_data
11  VC __declspec() decoration level:
12  __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13  DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING( )
16 
17 #pragma warning( disable: 4049 ) /* more than 64k source lines */
18 
19 
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
23 #endif
24 
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
29 
30 #include "rpc.h"
31 #include "rpcndr.h"
32 
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
36 
37 #ifndef COM_NO_WINDOWS_H
38 #include "windows.h"
39 #include "ole2.h"
40 #endif /*COM_NO_WINDOWS_H*/
41 
42 #ifndef __audioclient_h__
43 #define __audioclient_h__
44 
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
46 #pragma once
47 #endif
48 
49 /* Forward Declarations */
50 
51 #ifndef __IAudioClient_FWD_DEFINED__
52 #define __IAudioClient_FWD_DEFINED__
53 typedef interface IAudioClient IAudioClient;
54 #endif /* __IAudioClient_FWD_DEFINED__ */
55 
56 
57 #ifndef __IAudioRenderClient_FWD_DEFINED__
58 #define __IAudioRenderClient_FWD_DEFINED__
60 #endif /* __IAudioRenderClient_FWD_DEFINED__ */
61 
62 
63 #ifndef __IAudioCaptureClient_FWD_DEFINED__
64 #define __IAudioCaptureClient_FWD_DEFINED__
66 #endif /* __IAudioCaptureClient_FWD_DEFINED__ */
67 
68 
69 #ifndef __IAudioClock_FWD_DEFINED__
70 #define __IAudioClock_FWD_DEFINED__
71 typedef interface IAudioClock IAudioClock;
72 #endif /* __IAudioClock_FWD_DEFINED__ */
73 
74 
75 #ifndef __ISimpleAudioVolume_FWD_DEFINED__
76 #define __ISimpleAudioVolume_FWD_DEFINED__
78 #endif /* __ISimpleAudioVolume_FWD_DEFINED__ */
79 
80 
81 #ifndef __IAudioStreamVolume_FWD_DEFINED__
82 #define __IAudioStreamVolume_FWD_DEFINED__
84 #endif /* __IAudioStreamVolume_FWD_DEFINED__ */
85 
86 
87 #ifndef __IChannelAudioVolume_FWD_DEFINED__
88 #define __IChannelAudioVolume_FWD_DEFINED__
90 #endif /* __IChannelAudioVolume_FWD_DEFINED__ */
91 
92 
93 /* header files for imported files */
94 #include "wtypes.h"
95 #include "unknwn.h"
96 #include "AudioSessionTypes.h"
97 
98 #ifdef __cplusplus
99 extern "C"{
100 #endif
101 
102 
103 /* interface __MIDL_itf_audioclient_0000_0000 */
104 /* [local] */
105 
106 #if 0
107 typedef /* [hidden][restricted] */ struct WAVEFORMATEX
108  {
109  WORD wFormatTag;
110  WORD nChannels;
111  DWORD nSamplesPerSec;
112  DWORD nAvgBytesPerSec;
113  WORD nBlockAlign;
114  WORD wBitsPerSample;
115  WORD cbSize;
116  } WAVEFORMATEX;
117 
118 #else
119 #include <mmreg.h>
120 #endif
121 #if 0
122 typedef /* [hidden][restricted] */ LONGLONG REFERENCE_TIME;
123 
124 #else
125 #define _IKsControl_
126 #include <ks.h>
127 #include <ksmedia.h>
128 #endif
129 
134  } ;
135 
136 
139 
140 #ifndef __IAudioClient_INTERFACE_DEFINED__
141 #define __IAudioClient_INTERFACE_DEFINED__
142 
143 /* interface IAudioClient */
144 /* [local][unique][uuid][object] */
145 
146 
147 EXTERN_C const IID IID_IAudioClient;
148 
149 #if defined(__cplusplus) && !defined(CINTERFACE)
150 
151  MIDL_INTERFACE("1CB9AD4C-DBFA-4c32-B178-C2F568A703B2")
152  IAudioClient : public IUnknown
153  {
154  public:
155  virtual HRESULT STDMETHODCALLTYPE Initialize(
156  /* [in] */
157  __in AUDCLNT_SHAREMODE ShareMode,
158  /* [in] */
159  __in DWORD StreamFlags,
160  /* [in] */
161  __in REFERENCE_TIME hnsBufferDuration,
162  /* [in] */
163  __in REFERENCE_TIME hnsPeriodicity,
164  /* [in] */
165  __in const WAVEFORMATEX *pFormat,
166  /* [in] */
167  __in_opt LPCGUID AudioSessionGuid) = 0;
168 
169  virtual HRESULT STDMETHODCALLTYPE GetBufferSize(
170  /* [out] */
171  __out UINT32 *pNumBufferFrames) = 0;
172 
173  virtual HRESULT STDMETHODCALLTYPE GetStreamLatency(
174  /* [out] */
175  __out REFERENCE_TIME *phnsLatency) = 0;
176 
177  virtual HRESULT STDMETHODCALLTYPE GetCurrentPadding(
178  /* [out] */
179  __out UINT32 *pNumPaddingFrames) = 0;
180 
181  virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
182  /* [in] */
183  __in AUDCLNT_SHAREMODE ShareMode,
184  /* [in] */
185  __in const WAVEFORMATEX *pFormat,
186  /* [unique][out] */
187  __out_opt WAVEFORMATEX **ppClosestMatch) = 0;
188 
189  virtual HRESULT STDMETHODCALLTYPE GetMixFormat(
190  /* [out] */
191  __out WAVEFORMATEX **ppDeviceFormat) = 0;
192 
193  virtual HRESULT STDMETHODCALLTYPE GetDevicePeriod(
194  /* [out] */
195  __out_opt REFERENCE_TIME *phnsDefaultDevicePeriod,
196  /* [out] */
197  __out_opt REFERENCE_TIME *phnsMinimumDevicePeriod) = 0;
198 
199  virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
200 
201  virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
202 
203  virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
204 
205  virtual HRESULT STDMETHODCALLTYPE SetEventHandle(
206  /* [in] */ HANDLE eventHandle) = 0;
207 
208  virtual HRESULT STDMETHODCALLTYPE GetService(
209  /* [in] */
210  __in REFIID riid,
211  /* [iid_is][out] */
212  __out void **ppv) = 0;
213 
214  };
215 
216 #else /* C style interface */
217 
218  typedef struct IAudioClientVtbl
219  {
220  BEGIN_INTERFACE
221 
222  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
223  IAudioClient * This,
224  /* [in] */ REFIID riid,
225  /* [iid_is][out] */
226  __RPC__deref_out void **ppvObject);
227 
228  ULONG ( STDMETHODCALLTYPE *AddRef )(
229  IAudioClient * This);
230 
231  ULONG ( STDMETHODCALLTYPE *Release )(
232  IAudioClient * This);
233 
234  HRESULT ( STDMETHODCALLTYPE *Initialize )(
235  IAudioClient * This,
236  /* [in] */
238  /* [in] */
239  __in DWORD StreamFlags,
240  /* [in] */
241  __in REFERENCE_TIME hnsBufferDuration,
242  /* [in] */
243  __in REFERENCE_TIME hnsPeriodicity,
244  /* [in] */
245  __in const WAVEFORMATEX *pFormat,
246  /* [in] */
248 
249  HRESULT ( STDMETHODCALLTYPE *GetBufferSize )(
250  IAudioClient * This,
251  /* [out] */
253 
254  HRESULT ( STDMETHODCALLTYPE *GetStreamLatency )(
255  IAudioClient * This,
256  /* [out] */
257  __out REFERENCE_TIME *phnsLatency);
258 
259  HRESULT ( STDMETHODCALLTYPE *GetCurrentPadding )(
260  IAudioClient * This,
261  /* [out] */
263 
264  HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
265  IAudioClient * This,
266  /* [in] */
268  /* [in] */
269  __in const WAVEFORMATEX *pFormat,
270  /* [unique][out] */
271  __out_opt WAVEFORMATEX **ppClosestMatch);
272 
273  HRESULT ( STDMETHODCALLTYPE *GetMixFormat )(
274  IAudioClient * This,
275  /* [out] */
276  __out WAVEFORMATEX **ppDeviceFormat);
277 
278  HRESULT ( STDMETHODCALLTYPE *GetDevicePeriod )(
279  IAudioClient * This,
280  /* [out] */
282  /* [out] */
283  __out_opt REFERENCE_TIME *phnsMinimumDevicePeriod);
284 
285  HRESULT ( STDMETHODCALLTYPE *Start )(
286  IAudioClient * This);
287 
288  HRESULT ( STDMETHODCALLTYPE *Stop )(
289  IAudioClient * This);
290 
291  HRESULT ( STDMETHODCALLTYPE *Reset )(
292  IAudioClient * This);
293 
294  HRESULT ( STDMETHODCALLTYPE *SetEventHandle )(
295  IAudioClient * This,
296  /* [in] */ HANDLE eventHandle);
297 
298  HRESULT ( STDMETHODCALLTYPE *GetService )(
299  IAudioClient * This,
300  /* [in] */
301  __in REFIID riid,
302  /* [iid_is][out] */
303  __out void **ppv);
304 
305  END_INTERFACE
307 
308  interface IAudioClient
309  {
310  CONST_VTBL struct IAudioClientVtbl *lpVtbl;
311  };
312 
313 
314 
315 #ifdef COBJMACROS
316 
317 
318 #define IAudioClient_QueryInterface(This,riid,ppvObject) \
319  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
320 
321 #define IAudioClient_AddRef(This) \
322  ( (This)->lpVtbl -> AddRef(This) )
323 
324 #define IAudioClient_Release(This) \
325  ( (This)->lpVtbl -> Release(This) )
326 
327 
328 #define IAudioClient_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) \
329  ( (This)->lpVtbl -> Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) )
330 
331 #define IAudioClient_GetBufferSize(This,pNumBufferFrames) \
332  ( (This)->lpVtbl -> GetBufferSize(This,pNumBufferFrames) )
333 
334 #define IAudioClient_GetStreamLatency(This,phnsLatency) \
335  ( (This)->lpVtbl -> GetStreamLatency(This,phnsLatency) )
336 
337 #define IAudioClient_GetCurrentPadding(This,pNumPaddingFrames) \
338  ( (This)->lpVtbl -> GetCurrentPadding(This,pNumPaddingFrames) )
339 
340 #define IAudioClient_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) \
341  ( (This)->lpVtbl -> IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) )
342 
343 #define IAudioClient_GetMixFormat(This,ppDeviceFormat) \
344  ( (This)->lpVtbl -> GetMixFormat(This,ppDeviceFormat) )
345 
346 #define IAudioClient_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) \
347  ( (This)->lpVtbl -> GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) )
348 
349 #define IAudioClient_Start(This) \
350  ( (This)->lpVtbl -> Start(This) )
351 
352 #define IAudioClient_Stop(This) \
353  ( (This)->lpVtbl -> Stop(This) )
354 
355 #define IAudioClient_Reset(This) \
356  ( (This)->lpVtbl -> Reset(This) )
357 
358 #define IAudioClient_SetEventHandle(This,eventHandle) \
359  ( (This)->lpVtbl -> SetEventHandle(This,eventHandle) )
360 
361 #define IAudioClient_GetService(This,riid,ppv) \
362  ( (This)->lpVtbl -> GetService(This,riid,ppv) )
363 
364 #endif /* COBJMACROS */
365 
366 
367 #endif /* C style interface */
368 
369 
370 
371 
372 #endif /* __IAudioClient_INTERFACE_DEFINED__ */
373 
374 
375 #ifndef __IAudioRenderClient_INTERFACE_DEFINED__
376 #define __IAudioRenderClient_INTERFACE_DEFINED__
377 
378 /* interface IAudioRenderClient */
379 /* [local][unique][helpstring][uuid][object] */
380 
381 
382 EXTERN_C const IID IID_IAudioRenderClient;
383 
384 #if defined(__cplusplus) && !defined(CINTERFACE)
385 
386  MIDL_INTERFACE("F294ACFC-3146-4483-A7BF-ADDCA7C260E2")
387  IAudioRenderClient : public IUnknown
388  {
389  public:
390  virtual HRESULT STDMETHODCALLTYPE GetBuffer(
391  /* [in] */
392  __in UINT32 NumFramesRequested,
393  /* [out] */
394  __out BYTE **ppData) = 0;
395 
396  virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
397  /* [in] */
398  __in UINT32 NumFramesWritten,
399  /* [in] */
400  __in DWORD dwFlags) = 0;
401 
402  };
403 
404 #else /* C style interface */
405 
406  typedef struct IAudioRenderClientVtbl
407  {
408  BEGIN_INTERFACE
409 
410  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
411  IAudioRenderClient * This,
412  /* [in] */ REFIID riid,
413  /* [iid_is][out] */
414  __RPC__deref_out void **ppvObject);
415 
416  ULONG ( STDMETHODCALLTYPE *AddRef )(
417  IAudioRenderClient * This);
418 
419  ULONG ( STDMETHODCALLTYPE *Release )(
420  IAudioRenderClient * This);
421 
422  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
423  IAudioRenderClient * This,
424  /* [in] */
426  /* [out] */
427  __out BYTE **ppData);
428 
429  HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
430  IAudioRenderClient * This,
431  /* [in] */
433  /* [in] */
434  __in DWORD dwFlags);
435 
436  END_INTERFACE
438 
439  interface IAudioRenderClient
440  {
441  CONST_VTBL struct IAudioRenderClientVtbl *lpVtbl;
442  };
443 
444 
445 
446 #ifdef COBJMACROS
447 
448 
449 #define IAudioRenderClient_QueryInterface(This,riid,ppvObject) \
450  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
451 
452 #define IAudioRenderClient_AddRef(This) \
453  ( (This)->lpVtbl -> AddRef(This) )
454 
455 #define IAudioRenderClient_Release(This) \
456  ( (This)->lpVtbl -> Release(This) )
457 
458 
459 #define IAudioRenderClient_GetBuffer(This,NumFramesRequested,ppData) \
460  ( (This)->lpVtbl -> GetBuffer(This,NumFramesRequested,ppData) )
461 
462 #define IAudioRenderClient_ReleaseBuffer(This,NumFramesWritten,dwFlags) \
463  ( (This)->lpVtbl -> ReleaseBuffer(This,NumFramesWritten,dwFlags) )
464 
465 #endif /* COBJMACROS */
466 
467 
468 #endif /* C style interface */
469 
470 
471 
472 
473 #endif /* __IAudioRenderClient_INTERFACE_DEFINED__ */
474 
475 
476 #ifndef __IAudioCaptureClient_INTERFACE_DEFINED__
477 #define __IAudioCaptureClient_INTERFACE_DEFINED__
478 
479 /* interface IAudioCaptureClient */
480 /* [local][unique][helpstring][uuid][object] */
481 
482 
483 EXTERN_C const IID IID_IAudioCaptureClient;
484 
485 #if defined(__cplusplus) && !defined(CINTERFACE)
486 
487  MIDL_INTERFACE("C8ADBD64-E71E-48a0-A4DE-185C395CD317")
488  IAudioCaptureClient : public IUnknown
489  {
490  public:
491  virtual HRESULT STDMETHODCALLTYPE GetBuffer(
492  /* [out] */
493  __out BYTE **ppData,
494  /* [out] */
495  __out UINT32 *pNumFramesToRead,
496  /* [out] */
497  __out DWORD *pdwFlags,
498  /* [unique][out] */
499  __out_opt UINT64 *pu64DevicePosition,
500  /* [unique][out] */
501  __out_opt UINT64 *pu64QPCPosition) = 0;
502 
503  virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
504  /* [in] */
505  __in UINT32 NumFramesRead) = 0;
506 
507  virtual HRESULT STDMETHODCALLTYPE GetNextPacketSize(
508  /* [out] */
509  __out UINT32 *pNumFramesInNextPacket) = 0;
510 
511  };
512 
513 #else /* C style interface */
514 
515  typedef struct IAudioCaptureClientVtbl
516  {
517  BEGIN_INTERFACE
518 
519  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
520  IAudioCaptureClient * This,
521  /* [in] */ REFIID riid,
522  /* [iid_is][out] */
523  __RPC__deref_out void **ppvObject);
524 
525  ULONG ( STDMETHODCALLTYPE *AddRef )(
526  IAudioCaptureClient * This);
527 
528  ULONG ( STDMETHODCALLTYPE *Release )(
529  IAudioCaptureClient * This);
530 
531  HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
532  IAudioCaptureClient * This,
533  /* [out] */
534  __out BYTE **ppData,
535  /* [out] */
536  __out UINT32 *pNumFramesToRead,
537  /* [out] */
538  __out DWORD *pdwFlags,
539  /* [unique][out] */
541  /* [unique][out] */
542  __out_opt UINT64 *pu64QPCPosition);
543 
544  HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
545  IAudioCaptureClient * This,
546  /* [in] */
548 
549  HRESULT ( STDMETHODCALLTYPE *GetNextPacketSize )(
550  IAudioCaptureClient * This,
551  /* [out] */
553 
554  END_INTERFACE
556 
557  interface IAudioCaptureClient
558  {
559  CONST_VTBL struct IAudioCaptureClientVtbl *lpVtbl;
560  };
561 
562 
563 
564 #ifdef COBJMACROS
565 
566 
567 #define IAudioCaptureClient_QueryInterface(This,riid,ppvObject) \
568  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
569 
570 #define IAudioCaptureClient_AddRef(This) \
571  ( (This)->lpVtbl -> AddRef(This) )
572 
573 #define IAudioCaptureClient_Release(This) \
574  ( (This)->lpVtbl -> Release(This) )
575 
576 
577 #define IAudioCaptureClient_GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) \
578  ( (This)->lpVtbl -> GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) )
579 
580 #define IAudioCaptureClient_ReleaseBuffer(This,NumFramesRead) \
581  ( (This)->lpVtbl -> ReleaseBuffer(This,NumFramesRead) )
582 
583 #define IAudioCaptureClient_GetNextPacketSize(This,pNumFramesInNextPacket) \
584  ( (This)->lpVtbl -> GetNextPacketSize(This,pNumFramesInNextPacket) )
585 
586 #endif /* COBJMACROS */
587 
588 
589 #endif /* C style interface */
590 
591 
592 
593 
594 #endif /* __IAudioCaptureClient_INTERFACE_DEFINED__ */
595 
596 
597 /* interface __MIDL_itf_audioclient_0000_0003 */
598 /* [local] */
599 
600 #define AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ 0x00000001
601 
602 
605 
606 #ifndef __IAudioClock_INTERFACE_DEFINED__
607 #define __IAudioClock_INTERFACE_DEFINED__
608 
609 /* interface IAudioClock */
610 /* [local][unique][uuid][object] */
611 
612 
613 EXTERN_C const IID IID_IAudioClock;
614 
615 #if defined(__cplusplus) && !defined(CINTERFACE)
616 
617  MIDL_INTERFACE("CD63314F-3FBA-4a1b-812C-EF96358728E7")
618  IAudioClock : public IUnknown
619  {
620  public:
621  virtual HRESULT STDMETHODCALLTYPE GetFrequency(
622  /* [out] */
623  __out UINT64 *pu64Frequency) = 0;
624 
625  virtual HRESULT STDMETHODCALLTYPE GetPosition(
626  /* [out] */
627  __out UINT64 *pu64Position,
628  /* [unique][out] */
629  __out_opt UINT64 *pu64QPCPosition) = 0;
630 
631  virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
632  /* [out] */
633  __out DWORD *pdwCharacteristics) = 0;
634 
635  };
636 
637 #else /* C style interface */
638 
639  typedef struct IAudioClockVtbl
640  {
641  BEGIN_INTERFACE
642 
643  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
644  IAudioClock * This,
645  /* [in] */ REFIID riid,
646  /* [iid_is][out] */
647  __RPC__deref_out void **ppvObject);
648 
649  ULONG ( STDMETHODCALLTYPE *AddRef )(
650  IAudioClock * This);
651 
652  ULONG ( STDMETHODCALLTYPE *Release )(
653  IAudioClock * This);
654 
655  HRESULT ( STDMETHODCALLTYPE *GetFrequency )(
656  IAudioClock * This,
657  /* [out] */
659 
660  HRESULT ( STDMETHODCALLTYPE *GetPosition )(
661  IAudioClock * This,
662  /* [out] */
664  /* [unique][out] */
665  __out_opt UINT64 *pu64QPCPosition);
666 
667  HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
668  IAudioClock * This,
669  /* [out] */
671 
672  END_INTERFACE
673  } IAudioClockVtbl;
674 
675  interface IAudioClock
676  {
677  CONST_VTBL struct IAudioClockVtbl *lpVtbl;
678  };
679 
680 
681 
682 #ifdef COBJMACROS
683 
684 
685 #define IAudioClock_QueryInterface(This,riid,ppvObject) \
686  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
687 
688 #define IAudioClock_AddRef(This) \
689  ( (This)->lpVtbl -> AddRef(This) )
690 
691 #define IAudioClock_Release(This) \
692  ( (This)->lpVtbl -> Release(This) )
693 
694 
695 #define IAudioClock_GetFrequency(This,pu64Frequency) \
696  ( (This)->lpVtbl -> GetFrequency(This,pu64Frequency) )
697 
698 #define IAudioClock_GetPosition(This,pu64Position,pu64QPCPosition) \
699  ( (This)->lpVtbl -> GetPosition(This,pu64Position,pu64QPCPosition) )
700 
701 #define IAudioClock_GetCharacteristics(This,pdwCharacteristics) \
702  ( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
703 
704 #endif /* COBJMACROS */
705 
706 
707 #endif /* C style interface */
708 
709 
710 
711 
712 #endif /* __IAudioClock_INTERFACE_DEFINED__ */
713 
714 
715 #ifndef __ISimpleAudioVolume_INTERFACE_DEFINED__
716 #define __ISimpleAudioVolume_INTERFACE_DEFINED__
717 
718 /* interface ISimpleAudioVolume */
719 /* [local][unique][uuid][object] */
720 
721 
722 EXTERN_C const IID IID_ISimpleAudioVolume;
723 
724 #if defined(__cplusplus) && !defined(CINTERFACE)
725 
726  MIDL_INTERFACE("87CE5498-68D6-44E5-9215-6DA47EF883D8")
727  ISimpleAudioVolume : public IUnknown
728  {
729  public:
730  virtual HRESULT STDMETHODCALLTYPE SetMasterVolume(
731  /* [in] */
732  __in float fLevel,
733  /* [unique][in] */ LPCGUID EventContext) = 0;
734 
735  virtual HRESULT STDMETHODCALLTYPE GetMasterVolume(
736  /* [out] */
737  __out float *pfLevel) = 0;
738 
739  virtual HRESULT STDMETHODCALLTYPE SetMute(
740  /* [in] */
741  __in const BOOL bMute,
742  /* [unique][in] */ LPCGUID EventContext) = 0;
743 
744  virtual HRESULT STDMETHODCALLTYPE GetMute(
745  /* [out] */
746  __out BOOL *pbMute) = 0;
747 
748  };
749 
750 #else /* C style interface */
751 
752  typedef struct ISimpleAudioVolumeVtbl
753  {
754  BEGIN_INTERFACE
755 
756  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
757  ISimpleAudioVolume * This,
758  /* [in] */ REFIID riid,
759  /* [iid_is][out] */
760  __RPC__deref_out void **ppvObject);
761 
762  ULONG ( STDMETHODCALLTYPE *AddRef )(
763  ISimpleAudioVolume * This);
764 
765  ULONG ( STDMETHODCALLTYPE *Release )(
766  ISimpleAudioVolume * This);
767 
768  HRESULT ( STDMETHODCALLTYPE *SetMasterVolume )(
769  ISimpleAudioVolume * This,
770  /* [in] */
771  __in float fLevel,
772  /* [unique][in] */ LPCGUID EventContext);
773 
774  HRESULT ( STDMETHODCALLTYPE *GetMasterVolume )(
775  ISimpleAudioVolume * This,
776  /* [out] */
777  __out float *pfLevel);
778 
779  HRESULT ( STDMETHODCALLTYPE *SetMute )(
780  ISimpleAudioVolume * This,
781  /* [in] */
782  __in const BOOL bMute,
783  /* [unique][in] */ LPCGUID EventContext);
784 
785  HRESULT ( STDMETHODCALLTYPE *GetMute )(
786  ISimpleAudioVolume * This,
787  /* [out] */
789 
790  END_INTERFACE
792 
793  interface ISimpleAudioVolume
794  {
795  CONST_VTBL struct ISimpleAudioVolumeVtbl *lpVtbl;
796  };
797 
798 
799 
800 #ifdef COBJMACROS
801 
802 
803 #define ISimpleAudioVolume_QueryInterface(This,riid,ppvObject) \
804  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
805 
806 #define ISimpleAudioVolume_AddRef(This) \
807  ( (This)->lpVtbl -> AddRef(This) )
808 
809 #define ISimpleAudioVolume_Release(This) \
810  ( (This)->lpVtbl -> Release(This) )
811 
812 
813 #define ISimpleAudioVolume_SetMasterVolume(This,fLevel,EventContext) \
814  ( (This)->lpVtbl -> SetMasterVolume(This,fLevel,EventContext) )
815 
816 #define ISimpleAudioVolume_GetMasterVolume(This,pfLevel) \
817  ( (This)->lpVtbl -> GetMasterVolume(This,pfLevel) )
818 
819 #define ISimpleAudioVolume_SetMute(This,bMute,EventContext) \
820  ( (This)->lpVtbl -> SetMute(This,bMute,EventContext) )
821 
822 #define ISimpleAudioVolume_GetMute(This,pbMute) \
823  ( (This)->lpVtbl -> GetMute(This,pbMute) )
824 
825 #endif /* COBJMACROS */
826 
827 
828 #endif /* C style interface */
829 
830 
831 
832 
833 #endif /* __ISimpleAudioVolume_INTERFACE_DEFINED__ */
834 
835 
836 #ifndef __IAudioStreamVolume_INTERFACE_DEFINED__
837 #define __IAudioStreamVolume_INTERFACE_DEFINED__
838 
839 /* interface IAudioStreamVolume */
840 /* [local][unique][uuid][object] */
841 
842 
843 EXTERN_C const IID IID_IAudioStreamVolume;
844 
845 #if defined(__cplusplus) && !defined(CINTERFACE)
846 
847  MIDL_INTERFACE("93014887-242D-4068-8A15-CF5E93B90FE3")
848  IAudioStreamVolume : public IUnknown
849  {
850  public:
851  virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
852  /* [out] */
853  __out UINT32 *pdwCount) = 0;
854 
855  virtual HRESULT STDMETHODCALLTYPE SetChannelVolume(
856  /* [in] */
857  __in UINT32 dwIndex,
858  /* [in] */
859  __in const float fLevel) = 0;
860 
861  virtual HRESULT STDMETHODCALLTYPE GetChannelVolume(
862  /* [in] */
863  __in UINT32 dwIndex,
864  /* [out] */
865  __out float *pfLevel) = 0;
866 
867  virtual HRESULT STDMETHODCALLTYPE SetAllVolumes(
868  /* [in] */
869  __in UINT32 dwCount,
870  /* [size_is][in] */
871  __in_ecount(dwCount) const float *pfVolumes) = 0;
872 
873  virtual HRESULT STDMETHODCALLTYPE GetAllVolumes(
874  /* [in] */
875  __in UINT32 dwCount,
876  /* [size_is][out] */
877  __out_ecount(dwCount) float *pfVolumes) = 0;
878 
879  };
880 
881 #else /* C style interface */
882 
883  typedef struct IAudioStreamVolumeVtbl
884  {
885  BEGIN_INTERFACE
886 
887  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
888  IAudioStreamVolume * This,
889  /* [in] */ REFIID riid,
890  /* [iid_is][out] */
891  __RPC__deref_out void **ppvObject);
892 
893  ULONG ( STDMETHODCALLTYPE *AddRef )(
894  IAudioStreamVolume * This);
895 
896  ULONG ( STDMETHODCALLTYPE *Release )(
897  IAudioStreamVolume * This);
898 
899  HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
900  IAudioStreamVolume * This,
901  /* [out] */
902  __out UINT32 *pdwCount);
903 
904  HRESULT ( STDMETHODCALLTYPE *SetChannelVolume )(
905  IAudioStreamVolume * This,
906  /* [in] */
907  __in UINT32 dwIndex,
908  /* [in] */
909  __in const float fLevel);
910 
911  HRESULT ( STDMETHODCALLTYPE *GetChannelVolume )(
912  IAudioStreamVolume * This,
913  /* [in] */
914  __in UINT32 dwIndex,
915  /* [out] */
916  __out float *pfLevel);
917 
918  HRESULT ( STDMETHODCALLTYPE *SetAllVolumes )(
919  IAudioStreamVolume * This,
920  /* [in] */
921  __in UINT32 dwCount,
922  /* [size_is][in] */
923  __in_ecount(dwCount) const float *pfVolumes);
924 
925  HRESULT ( STDMETHODCALLTYPE *GetAllVolumes )(
926  IAudioStreamVolume * This,
927  /* [in] */
928  __in UINT32 dwCount,
929  /* [size_is][out] */
930  __out_ecount(dwCount) float *pfVolumes);
931 
932  END_INTERFACE
934 
936  {
937  CONST_VTBL struct IAudioStreamVolumeVtbl *lpVtbl;
938  };
939 
940 
941 
942 #ifdef COBJMACROS
943 
944 
945 #define IAudioStreamVolume_QueryInterface(This,riid,ppvObject) \
946  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
947 
948 #define IAudioStreamVolume_AddRef(This) \
949  ( (This)->lpVtbl -> AddRef(This) )
950 
951 #define IAudioStreamVolume_Release(This) \
952  ( (This)->lpVtbl -> Release(This) )
953 
954 
955 #define IAudioStreamVolume_GetChannelCount(This,pdwCount) \
956  ( (This)->lpVtbl -> GetChannelCount(This,pdwCount) )
957 
958 #define IAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) \
959  ( (This)->lpVtbl -> SetChannelVolume(This,dwIndex,fLevel) )
960 
961 #define IAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) \
962  ( (This)->lpVtbl -> GetChannelVolume(This,dwIndex,pfLevel) )
963 
964 #define IAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) \
965  ( (This)->lpVtbl -> SetAllVolumes(This,dwCount,pfVolumes) )
966 
967 #define IAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) \
968  ( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
969 
970 #endif /* COBJMACROS */
971 
972 
973 #endif /* C style interface */
974 
975 
976 
977 
978 #endif /* __IAudioStreamVolume_INTERFACE_DEFINED__ */
979 
980 
981 #ifndef __IChannelAudioVolume_INTERFACE_DEFINED__
982 #define __IChannelAudioVolume_INTERFACE_DEFINED__
983 
984 /* interface IChannelAudioVolume */
985 /* [local][unique][uuid][object] */
986 
987 
988 EXTERN_C const IID IID_IChannelAudioVolume;
989 
990 #if defined(__cplusplus) && !defined(CINTERFACE)
991 
992  MIDL_INTERFACE("1C158861-B533-4B30-B1CF-E853E51C59B8")
993  IChannelAudioVolume : public IUnknown
994  {
995  public:
996  virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
997  /* [out] */
998  __out UINT32 *pdwCount) = 0;
999 
1000  virtual HRESULT STDMETHODCALLTYPE SetChannelVolume(
1001  /* [in] */
1002  __in UINT32 dwIndex,
1003  /* [in] */
1004  __in const float fLevel,
1005  /* [unique][in] */ LPCGUID EventContext) = 0;
1006 
1007  virtual HRESULT STDMETHODCALLTYPE GetChannelVolume(
1008  /* [in] */
1009  __in UINT32 dwIndex,
1010  /* [out] */
1011  __out float *pfLevel) = 0;
1012 
1013  virtual HRESULT STDMETHODCALLTYPE SetAllVolumes(
1014  /* [in] */
1015  __in UINT32 dwCount,
1016  /* [size_is][in] */
1017  __in_ecount(dwCount) const float *pfVolumes,
1018  /* [unique][in] */ LPCGUID EventContext) = 0;
1019 
1020  virtual HRESULT STDMETHODCALLTYPE GetAllVolumes(
1021  /* [in] */
1022  __in UINT32 dwCount,
1023  /* [size_is][out] */
1024  __out_ecount(dwCount) float *pfVolumes) = 0;
1025 
1026  };
1027 
1028 #else /* C style interface */
1029 
1031  {
1032  BEGIN_INTERFACE
1033 
1034  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1035  IChannelAudioVolume * This,
1036  /* [in] */ REFIID riid,
1037  /* [iid_is][out] */
1038  __RPC__deref_out void **ppvObject);
1039 
1040  ULONG ( STDMETHODCALLTYPE *AddRef )(
1041  IChannelAudioVolume * This);
1042 
1043  ULONG ( STDMETHODCALLTYPE *Release )(
1044  IChannelAudioVolume * This);
1045 
1046  HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
1047  IChannelAudioVolume * This,
1048  /* [out] */
1049  __out UINT32 *pdwCount);
1050 
1051  HRESULT ( STDMETHODCALLTYPE *SetChannelVolume )(
1052  IChannelAudioVolume * This,
1053  /* [in] */
1054  __in UINT32 dwIndex,
1055  /* [in] */
1056  __in const float fLevel,
1057  /* [unique][in] */ LPCGUID EventContext);
1058 
1059  HRESULT ( STDMETHODCALLTYPE *GetChannelVolume )(
1060  IChannelAudioVolume * This,
1061  /* [in] */
1062  __in UINT32 dwIndex,
1063  /* [out] */
1064  __out float *pfLevel);
1065 
1066  HRESULT ( STDMETHODCALLTYPE *SetAllVolumes )(
1067  IChannelAudioVolume * This,
1068  /* [in] */
1069  __in UINT32 dwCount,
1070  /* [size_is][in] */
1071  __in_ecount(dwCount) const float *pfVolumes,
1072  /* [unique][in] */ LPCGUID EventContext);
1073 
1074  HRESULT ( STDMETHODCALLTYPE *GetAllVolumes )(
1075  IChannelAudioVolume * This,
1076  /* [in] */
1077  __in UINT32 dwCount,
1078  /* [size_is][out] */
1079  __out_ecount(dwCount) float *pfVolumes);
1080 
1081  END_INTERFACE
1083 
1085  {
1086  CONST_VTBL struct IChannelAudioVolumeVtbl *lpVtbl;
1087  };
1088 
1089 
1090 
1091 #ifdef COBJMACROS
1092 
1093 
1094 #define IChannelAudioVolume_QueryInterface(This,riid,ppvObject) \
1095  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1096 
1097 #define IChannelAudioVolume_AddRef(This) \
1098  ( (This)->lpVtbl -> AddRef(This) )
1099 
1100 #define IChannelAudioVolume_Release(This) \
1101  ( (This)->lpVtbl -> Release(This) )
1102 
1103 
1104 #define IChannelAudioVolume_GetChannelCount(This,pdwCount) \
1105  ( (This)->lpVtbl -> GetChannelCount(This,pdwCount) )
1106 
1107 #define IChannelAudioVolume_SetChannelVolume(This,dwIndex,fLevel,EventContext) \
1108  ( (This)->lpVtbl -> SetChannelVolume(This,dwIndex,fLevel,EventContext) )
1109 
1110 #define IChannelAudioVolume_GetChannelVolume(This,dwIndex,pfLevel) \
1111  ( (This)->lpVtbl -> GetChannelVolume(This,dwIndex,pfLevel) )
1112 
1113 #define IChannelAudioVolume_SetAllVolumes(This,dwCount,pfVolumes,EventContext) \
1114  ( (This)->lpVtbl -> SetAllVolumes(This,dwCount,pfVolumes,EventContext) )
1115 
1116 #define IChannelAudioVolume_GetAllVolumes(This,dwCount,pfVolumes) \
1117  ( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
1118 
1119 #endif /* COBJMACROS */
1120 
1121 
1122 #endif /* C style interface */
1123 
1124 
1125 
1126 
1127 #endif /* __IChannelAudioVolume_INTERFACE_DEFINED__ */
1128 
1129 
1130 /* interface __MIDL_itf_audioclient_0000_0007 */
1131 /* [local] */
1132 
1133 #define FACILITY_AUDCLNT 0x889
1134 #define AUDCLNT_ERR(n) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_AUDCLNT, n)
1135 #define AUDCLNT_SUCCESS(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_AUDCLNT, n)
1136 #define AUDCLNT_E_NOT_INITIALIZED AUDCLNT_ERR(0x001)
1137 #define AUDCLNT_E_ALREADY_INITIALIZED AUDCLNT_ERR(0x002)
1138 #define AUDCLNT_E_WRONG_ENDPOINT_TYPE AUDCLNT_ERR(0x003)
1139 #define AUDCLNT_E_DEVICE_INVALIDATED AUDCLNT_ERR(0x004)
1140 #define AUDCLNT_E_NOT_STOPPED AUDCLNT_ERR(0x005)
1141 #define AUDCLNT_E_BUFFER_TOO_LARGE AUDCLNT_ERR(0x006)
1142 #define AUDCLNT_E_OUT_OF_ORDER AUDCLNT_ERR(0x007)
1143 #define AUDCLNT_E_UNSUPPORTED_FORMAT AUDCLNT_ERR(0x008)
1144 #define AUDCLNT_E_INVALID_SIZE AUDCLNT_ERR(0x009)
1145 #define AUDCLNT_E_DEVICE_IN_USE AUDCLNT_ERR(0x00a)
1146 #define AUDCLNT_E_BUFFER_OPERATION_PENDING AUDCLNT_ERR(0x00b)
1147 #define AUDCLNT_E_THREAD_NOT_REGISTERED AUDCLNT_ERR(0x00c)
1148 #define AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED AUDCLNT_ERR(0x00e)
1149 #define AUDCLNT_E_ENDPOINT_CREATE_FAILED AUDCLNT_ERR(0x00f)
1150 #define AUDCLNT_E_SERVICE_NOT_RUNNING AUDCLNT_ERR(0x010)
1151 #define AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED AUDCLNT_ERR(0x011)
1152 #define AUDCLNT_E_EXCLUSIVE_MODE_ONLY AUDCLNT_ERR(0x012)
1153 #define AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL AUDCLNT_ERR(0x013)
1154 #define AUDCLNT_E_EVENTHANDLE_NOT_SET AUDCLNT_ERR(0x014)
1155 #define AUDCLNT_E_INCORRECT_BUFFER_SIZE AUDCLNT_ERR(0x015)
1156 #define AUDCLNT_E_BUFFER_SIZE_ERROR AUDCLNT_ERR(0x016)
1157 #define AUDCLNT_E_CPUUSAGE_EXCEEDED AUDCLNT_ERR(0x017)
1158 #define AUDCLNT_S_BUFFER_EMPTY AUDCLNT_SUCCESS(0x001)
1159 #define AUDCLNT_S_THREAD_ALREADY_REGISTERED AUDCLNT_SUCCESS(0x002)
1160 #define AUDCLNT_S_POSITION_STALLED AUDCLNT_SUCCESS(0x003)
1161 
1162 
1165 
1166 /* Additional Prototypes for ALL interfaces */
1167 
1168 /* end of Additional Prototypes */
1169 
1170 #ifdef __cplusplus
1171 }
1172 #endif
1173 
1174 #endif
1175 
1176 
1177 

Generated for PortAudio by  doxygen1.8.1.1