gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

audioclient.h (34842B)


      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__
     59 typedef interface IAudioRenderClient IAudioRenderClient;
     60 #endif 	/* __IAudioRenderClient_FWD_DEFINED__ */
     61 
     62 
     63 #ifndef __IAudioCaptureClient_FWD_DEFINED__
     64 #define __IAudioCaptureClient_FWD_DEFINED__
     65 typedef interface IAudioCaptureClient IAudioCaptureClient;
     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__
     77 typedef interface ISimpleAudioVolume ISimpleAudioVolume;
     78 #endif 	/* __ISimpleAudioVolume_FWD_DEFINED__ */
     79 
     80 
     81 #ifndef __IAudioStreamVolume_FWD_DEFINED__
     82 #define __IAudioStreamVolume_FWD_DEFINED__
     83 typedef interface IAudioStreamVolume IAudioStreamVolume;
     84 #endif 	/* __IAudioStreamVolume_FWD_DEFINED__ */
     85 
     86 
     87 #ifndef __IChannelAudioVolume_FWD_DEFINED__
     88 #define __IChannelAudioVolume_FWD_DEFINED__
     89 typedef interface IChannelAudioVolume IChannelAudioVolume;
     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 
    130 enum _AUDCLNT_BUFFERFLAGS
    131     {	AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY	= 0x1,
    132 	AUDCLNT_BUFFERFLAGS_SILENT	= 0x2,
    133 	AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR	= 0x4
    134     } ;
    135 
    136 
    137 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0000_v0_0_c_ifspec;
    138 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0000_v0_0_s_ifspec;
    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] */ 
    237             __in  AUDCLNT_SHAREMODE ShareMode,
    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] */ 
    247             __in_opt  LPCGUID AudioSessionGuid);
    248         
    249         HRESULT ( STDMETHODCALLTYPE *GetBufferSize )( 
    250             IAudioClient * This,
    251             /* [out] */ 
    252             __out  UINT32 *pNumBufferFrames);
    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] */ 
    262             __out  UINT32 *pNumPaddingFrames);
    263         
    264         HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
    265             IAudioClient * This,
    266             /* [in] */ 
    267             __in  AUDCLNT_SHAREMODE ShareMode,
    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] */ 
    281             __out_opt  REFERENCE_TIME *phnsDefaultDevicePeriod,
    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
    306     } IAudioClientVtbl;
    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] */ 
    425             __in  UINT32 NumFramesRequested,
    426             /* [out] */ 
    427             __out  BYTE **ppData);
    428         
    429         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
    430             IAudioRenderClient * This,
    431             /* [in] */ 
    432             __in  UINT32 NumFramesWritten,
    433             /* [in] */ 
    434             __in  DWORD dwFlags);
    435         
    436         END_INTERFACE
    437     } IAudioRenderClientVtbl;
    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] */ 
    540             __out_opt  UINT64 *pu64DevicePosition,
    541             /* [unique][out] */ 
    542             __out_opt  UINT64 *pu64QPCPosition);
    543         
    544         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
    545             IAudioCaptureClient * This,
    546             /* [in] */ 
    547             __in  UINT32 NumFramesRead);
    548         
    549         HRESULT ( STDMETHODCALLTYPE *GetNextPacketSize )( 
    550             IAudioCaptureClient * This,
    551             /* [out] */ 
    552             __out  UINT32 *pNumFramesInNextPacket);
    553         
    554         END_INTERFACE
    555     } IAudioCaptureClientVtbl;
    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 
    603 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0003_v0_0_c_ifspec;
    604 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0003_v0_0_s_ifspec;
    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] */ 
    658             __out  UINT64 *pu64Frequency);
    659         
    660         HRESULT ( STDMETHODCALLTYPE *GetPosition )( 
    661             IAudioClock * This,
    662             /* [out] */ 
    663             __out  UINT64 *pu64Position,
    664             /* [unique][out] */ 
    665             __out_opt  UINT64 *pu64QPCPosition);
    666         
    667         HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )( 
    668             IAudioClock * This,
    669             /* [out] */ 
    670             __out  DWORD *pdwCharacteristics);
    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] */ 
    788             __out  BOOL *pbMute);
    789         
    790         END_INTERFACE
    791     } ISimpleAudioVolumeVtbl;
    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
    933     } IAudioStreamVolumeVtbl;
    934 
    935     interface IAudioStreamVolume
    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 
   1030     typedef struct IChannelAudioVolumeVtbl
   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
   1082     } IChannelAudioVolumeVtbl;
   1083 
   1084     interface IChannelAudioVolume
   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 
   1163 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0007_v0_0_c_ifspec;
   1164 extern RPC_IF_HANDLE __MIDL_itf_audioclient_0000_0007_v0_0_s_ifspec;
   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