17 #pragma warning( disable: 4049 )
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
37 #ifndef COM_NO_WINDOWS_H
42 #ifndef __audioclient_h__
43 #define __audioclient_h__
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
51 #ifndef __IAudioClient_FWD_DEFINED__
52 #define __IAudioClient_FWD_DEFINED__
57 #ifndef __IAudioRenderClient_FWD_DEFINED__
58 #define __IAudioRenderClient_FWD_DEFINED__
63 #ifndef __IAudioCaptureClient_FWD_DEFINED__
64 #define __IAudioCaptureClient_FWD_DEFINED__
69 #ifndef __IAudioClock_FWD_DEFINED__
70 #define __IAudioClock_FWD_DEFINED__
75 #ifndef __ISimpleAudioVolume_FWD_DEFINED__
76 #define __ISimpleAudioVolume_FWD_DEFINED__
81 #ifndef __IAudioStreamVolume_FWD_DEFINED__
82 #define __IAudioStreamVolume_FWD_DEFINED__
87 #ifndef __IChannelAudioVolume_FWD_DEFINED__
88 #define __IChannelAudioVolume_FWD_DEFINED__
107 typedef struct WAVEFORMATEX
111 DWORD nSamplesPerSec;
112 DWORD nAvgBytesPerSec;
140 #ifndef __IAudioClient_INTERFACE_DEFINED__
141 #define __IAudioClient_INTERFACE_DEFINED__
149 #if defined(__cplusplus) && !defined(CINTERFACE)
151 MIDL_INTERFACE(
"1CB9AD4C-DBFA-4c32-B178-C2F568A703B2")
155 virtual HRESULT STDMETHODCALLTYPE Initialize(
159 __in DWORD StreamFlags,
161 __in REFERENCE_TIME hnsBufferDuration,
163 __in REFERENCE_TIME hnsPeriodicity,
165 __in const WAVEFORMATEX *pFormat,
169 virtual HRESULT STDMETHODCALLTYPE GetBufferSize(
171 __out UINT32 *pNumBufferFrames) = 0;
173 virtual HRESULT STDMETHODCALLTYPE GetStreamLatency(
175 __out REFERENCE_TIME *phnsLatency) = 0;
177 virtual HRESULT STDMETHODCALLTYPE GetCurrentPadding(
179 __out UINT32 *pNumPaddingFrames) = 0;
181 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
185 __in const WAVEFORMATEX *pFormat,
187 __out_opt WAVEFORMATEX **ppClosestMatch) = 0;
189 virtual HRESULT STDMETHODCALLTYPE GetMixFormat(
191 __out WAVEFORMATEX **ppDeviceFormat) = 0;
193 virtual HRESULT STDMETHODCALLTYPE GetDevicePeriod(
195 __out_opt REFERENCE_TIME *phnsDefaultDevicePeriod,
197 __out_opt REFERENCE_TIME *phnsMinimumDevicePeriod) = 0;
199 virtual HRESULT STDMETHODCALLTYPE Start(
void) = 0;
201 virtual HRESULT STDMETHODCALLTYPE Stop(
void) = 0;
203 virtual HRESULT STDMETHODCALLTYPE Reset(
void) = 0;
205 virtual HRESULT STDMETHODCALLTYPE SetEventHandle(
208 virtual HRESULT STDMETHODCALLTYPE GetService(
212 __out void **ppv) = 0;
222 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
228 ULONG ( STDMETHODCALLTYPE *AddRef )(
231 ULONG ( STDMETHODCALLTYPE *Release )(
234 HRESULT ( STDMETHODCALLTYPE *Initialize )(
249 HRESULT ( STDMETHODCALLTYPE *GetBufferSize )(
254 HRESULT ( STDMETHODCALLTYPE *GetStreamLatency )(
259 HRESULT ( STDMETHODCALLTYPE *GetCurrentPadding )(
264 HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
273 HRESULT ( STDMETHODCALLTYPE *GetMixFormat )(
278 HRESULT ( STDMETHODCALLTYPE *GetDevicePeriod )(
285 HRESULT ( STDMETHODCALLTYPE *Start )(
288 HRESULT ( STDMETHODCALLTYPE *Stop )(
291 HRESULT ( STDMETHODCALLTYPE *Reset )(
294 HRESULT ( STDMETHODCALLTYPE *SetEventHandle )(
298 HRESULT ( STDMETHODCALLTYPE *GetService )(
318 #define IAudioClient_QueryInterface(This,riid,ppvObject) \
319 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
321 #define IAudioClient_AddRef(This) \
322 ( (This)->lpVtbl -> AddRef(This) )
324 #define IAudioClient_Release(This) \
325 ( (This)->lpVtbl -> Release(This) )
328 #define IAudioClient_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) \
329 ( (This)->lpVtbl -> Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) )
331 #define IAudioClient_GetBufferSize(This,pNumBufferFrames) \
332 ( (This)->lpVtbl -> GetBufferSize(This,pNumBufferFrames) )
334 #define IAudioClient_GetStreamLatency(This,phnsLatency) \
335 ( (This)->lpVtbl -> GetStreamLatency(This,phnsLatency) )
337 #define IAudioClient_GetCurrentPadding(This,pNumPaddingFrames) \
338 ( (This)->lpVtbl -> GetCurrentPadding(This,pNumPaddingFrames) )
340 #define IAudioClient_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) \
341 ( (This)->lpVtbl -> IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) )
343 #define IAudioClient_GetMixFormat(This,ppDeviceFormat) \
344 ( (This)->lpVtbl -> GetMixFormat(This,ppDeviceFormat) )
346 #define IAudioClient_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) \
347 ( (This)->lpVtbl -> GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) )
349 #define IAudioClient_Start(This) \
350 ( (This)->lpVtbl -> Start(This) )
352 #define IAudioClient_Stop(This) \
353 ( (This)->lpVtbl -> Stop(This) )
355 #define IAudioClient_Reset(This) \
356 ( (This)->lpVtbl -> Reset(This) )
358 #define IAudioClient_SetEventHandle(This,eventHandle) \
359 ( (This)->lpVtbl -> SetEventHandle(This,eventHandle) )
361 #define IAudioClient_GetService(This,riid,ppv) \
362 ( (This)->lpVtbl -> GetService(This,riid,ppv) )
375 #ifndef __IAudioRenderClient_INTERFACE_DEFINED__
376 #define __IAudioRenderClient_INTERFACE_DEFINED__
384 #if defined(__cplusplus) && !defined(CINTERFACE)
386 MIDL_INTERFACE(
"F294ACFC-3146-4483-A7BF-ADDCA7C260E2")
390 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
392 __in UINT32 NumFramesRequested,
394 __out BYTE **ppData) = 0;
396 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
398 __in UINT32 NumFramesWritten,
400 __in DWORD dwFlags) = 0;
410 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
416 ULONG ( STDMETHODCALLTYPE *AddRef )(
419 ULONG ( STDMETHODCALLTYPE *Release )(
422 HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
429 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
449 #define IAudioRenderClient_QueryInterface(This,riid,ppvObject) \
450 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
452 #define IAudioRenderClient_AddRef(This) \
453 ( (This)->lpVtbl -> AddRef(This) )
455 #define IAudioRenderClient_Release(This) \
456 ( (This)->lpVtbl -> Release(This) )
459 #define IAudioRenderClient_GetBuffer(This,NumFramesRequested,ppData) \
460 ( (This)->lpVtbl -> GetBuffer(This,NumFramesRequested,ppData) )
462 #define IAudioRenderClient_ReleaseBuffer(This,NumFramesWritten,dwFlags) \
463 ( (This)->lpVtbl -> ReleaseBuffer(This,NumFramesWritten,dwFlags) )
476 #ifndef __IAudioCaptureClient_INTERFACE_DEFINED__
477 #define __IAudioCaptureClient_INTERFACE_DEFINED__
485 #if defined(__cplusplus) && !defined(CINTERFACE)
487 MIDL_INTERFACE(
"C8ADBD64-E71E-48a0-A4DE-185C395CD317")
491 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
495 __out UINT32 *pNumFramesToRead,
497 __out DWORD *pdwFlags,
503 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
505 __in UINT32 NumFramesRead) = 0;
507 virtual HRESULT STDMETHODCALLTYPE GetNextPacketSize(
509 __out UINT32 *pNumFramesInNextPacket) = 0;
519 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
525 ULONG ( STDMETHODCALLTYPE *AddRef )(
528 ULONG ( STDMETHODCALLTYPE *Release )(
531 HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
544 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
549 HRESULT ( STDMETHODCALLTYPE *GetNextPacketSize )(
567 #define IAudioCaptureClient_QueryInterface(This,riid,ppvObject) \
568 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
570 #define IAudioCaptureClient_AddRef(This) \
571 ( (This)->lpVtbl -> AddRef(This) )
573 #define IAudioCaptureClient_Release(This) \
574 ( (This)->lpVtbl -> Release(This) )
577 #define IAudioCaptureClient_GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) \
578 ( (This)->lpVtbl -> GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) )
580 #define IAudioCaptureClient_ReleaseBuffer(This,NumFramesRead) \
581 ( (This)->lpVtbl -> ReleaseBuffer(This,NumFramesRead) )
583 #define IAudioCaptureClient_GetNextPacketSize(This,pNumFramesInNextPacket) \
584 ( (This)->lpVtbl -> GetNextPacketSize(This,pNumFramesInNextPacket) )
600 #define AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ 0x00000001
606 #ifndef __IAudioClock_INTERFACE_DEFINED__
607 #define __IAudioClock_INTERFACE_DEFINED__
615 #if defined(__cplusplus) && !defined(CINTERFACE)
617 MIDL_INTERFACE(
"CD63314F-3FBA-4a1b-812C-EF96358728E7")
621 virtual HRESULT STDMETHODCALLTYPE GetFrequency(
623 __out UINT64 *pu64Frequency) = 0;
625 virtual HRESULT STDMETHODCALLTYPE GetPosition(
627 __out UINT64 *pu64Position,
631 virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
633 __out DWORD *pdwCharacteristics) = 0;
643 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
649 ULONG ( STDMETHODCALLTYPE *AddRef )(
652 ULONG ( STDMETHODCALLTYPE *Release )(
655 HRESULT ( STDMETHODCALLTYPE *GetFrequency )(
660 HRESULT ( STDMETHODCALLTYPE *GetPosition )(
667 HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
685 #define IAudioClock_QueryInterface(This,riid,ppvObject) \
686 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
688 #define IAudioClock_AddRef(This) \
689 ( (This)->lpVtbl -> AddRef(This) )
691 #define IAudioClock_Release(This) \
692 ( (This)->lpVtbl -> Release(This) )
695 #define IAudioClock_GetFrequency(This,pu64Frequency) \
696 ( (This)->lpVtbl -> GetFrequency(This,pu64Frequency) )
698 #define IAudioClock_GetPosition(This,pu64Position,pu64QPCPosition) \
699 ( (This)->lpVtbl -> GetPosition(This,pu64Position,pu64QPCPosition) )
701 #define IAudioClock_GetCharacteristics(This,pdwCharacteristics) \
702 ( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
715 #ifndef __ISimpleAudioVolume_INTERFACE_DEFINED__
716 #define __ISimpleAudioVolume_INTERFACE_DEFINED__
724 #if defined(__cplusplus) && !defined(CINTERFACE)
726 MIDL_INTERFACE(
"87CE5498-68D6-44E5-9215-6DA47EF883D8")
730 virtual HRESULT STDMETHODCALLTYPE SetMasterVolume(
735 virtual HRESULT STDMETHODCALLTYPE GetMasterVolume(
737 __out float *pfLevel) = 0;
739 virtual HRESULT STDMETHODCALLTYPE SetMute(
744 virtual HRESULT STDMETHODCALLTYPE GetMute(
756 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
762 ULONG ( STDMETHODCALLTYPE *AddRef )(
765 ULONG ( STDMETHODCALLTYPE *Release )(
768 HRESULT ( STDMETHODCALLTYPE *SetMasterVolume )(
774 HRESULT ( STDMETHODCALLTYPE *GetMasterVolume )(
779 HRESULT ( STDMETHODCALLTYPE *SetMute )(
785 HRESULT ( STDMETHODCALLTYPE *GetMute )(
803 #define ISimpleAudioVolume_QueryInterface(This,riid,ppvObject) \
804 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
806 #define ISimpleAudioVolume_AddRef(This) \
807 ( (This)->lpVtbl -> AddRef(This) )
809 #define ISimpleAudioVolume_Release(This) \
810 ( (This)->lpVtbl -> Release(This) )
813 #define ISimpleAudioVolume_SetMasterVolume(This,fLevel,EventContext) \
814 ( (This)->lpVtbl -> SetMasterVolume(This,fLevel,EventContext) )
816 #define ISimpleAudioVolume_GetMasterVolume(This,pfLevel) \
817 ( (This)->lpVtbl -> GetMasterVolume(This,pfLevel) )
819 #define ISimpleAudioVolume_SetMute(This,bMute,EventContext) \
820 ( (This)->lpVtbl -> SetMute(This,bMute,EventContext) )
822 #define ISimpleAudioVolume_GetMute(This,pbMute) \
823 ( (This)->lpVtbl -> GetMute(This,pbMute) )
836 #ifndef __IAudioStreamVolume_INTERFACE_DEFINED__
837 #define __IAudioStreamVolume_INTERFACE_DEFINED__
845 #if defined(__cplusplus) && !defined(CINTERFACE)
847 MIDL_INTERFACE(
"93014887-242D-4068-8A15-CF5E93B90FE3")
851 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
853 __out UINT32 *pdwCount) = 0;
855 virtual HRESULT STDMETHODCALLTYPE SetChannelVolume(
861 virtual HRESULT STDMETHODCALLTYPE GetChannelVolume(
867 virtual HRESULT STDMETHODCALLTYPE SetAllVolumes(
873 virtual HRESULT STDMETHODCALLTYPE GetAllVolumes(
887 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
893 ULONG ( STDMETHODCALLTYPE *AddRef )(
896 ULONG ( STDMETHODCALLTYPE *Release )(
899 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
904 HRESULT ( STDMETHODCALLTYPE *SetChannelVolume )(
911 HRESULT ( STDMETHODCALLTYPE *GetChannelVolume )(
918 HRESULT ( STDMETHODCALLTYPE *SetAllVolumes )(
925 HRESULT ( STDMETHODCALLTYPE *GetAllVolumes )(
937 CONST_VTBL
struct IAudioStreamVolumeVtbl *
lpVtbl;
945 #define IAudioStreamVolume_QueryInterface(This,riid,ppvObject) \
946 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
948 #define IAudioStreamVolume_AddRef(This) \
949 ( (This)->lpVtbl -> AddRef(This) )
951 #define IAudioStreamVolume_Release(This) \
952 ( (This)->lpVtbl -> Release(This) )
955 #define IAudioStreamVolume_GetChannelCount(This,pdwCount) \
956 ( (This)->lpVtbl -> GetChannelCount(This,pdwCount) )
958 #define IAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) \
959 ( (This)->lpVtbl -> SetChannelVolume(This,dwIndex,fLevel) )
961 #define IAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) \
962 ( (This)->lpVtbl -> GetChannelVolume(This,dwIndex,pfLevel) )
964 #define IAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) \
965 ( (This)->lpVtbl -> SetAllVolumes(This,dwCount,pfVolumes) )
967 #define IAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) \
968 ( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
981 #ifndef __IChannelAudioVolume_INTERFACE_DEFINED__
982 #define __IChannelAudioVolume_INTERFACE_DEFINED__
990 #if defined(__cplusplus) && !defined(CINTERFACE)
992 MIDL_INTERFACE(
"1C158861-B533-4B30-B1CF-E853E51C59B8")
996 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
1000 virtual HRESULT STDMETHODCALLTYPE SetChannelVolume(
1007 virtual HRESULT STDMETHODCALLTYPE GetChannelVolume(
1009 __in UINT32 dwIndex,
1013 virtual HRESULT STDMETHODCALLTYPE SetAllVolumes(
1020 virtual HRESULT STDMETHODCALLTYPE GetAllVolumes(
1022 __in UINT32 dwCount,
1034 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1040 ULONG ( STDMETHODCALLTYPE *AddRef )(
1043 ULONG ( STDMETHODCALLTYPE *Release )(
1046 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
1051 HRESULT ( STDMETHODCALLTYPE *SetChannelVolume )(
1059 HRESULT ( STDMETHODCALLTYPE *GetChannelVolume )(
1066 HRESULT ( STDMETHODCALLTYPE *SetAllVolumes )(
1074 HRESULT ( STDMETHODCALLTYPE *GetAllVolumes )(
1086 CONST_VTBL
struct IChannelAudioVolumeVtbl *
lpVtbl;
1094 #define IChannelAudioVolume_QueryInterface(This,riid,ppvObject) \
1095 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1097 #define IChannelAudioVolume_AddRef(This) \
1098 ( (This)->lpVtbl -> AddRef(This) )
1100 #define IChannelAudioVolume_Release(This) \
1101 ( (This)->lpVtbl -> Release(This) )
1104 #define IChannelAudioVolume_GetChannelCount(This,pdwCount) \
1105 ( (This)->lpVtbl -> GetChannelCount(This,pdwCount) )
1107 #define IChannelAudioVolume_SetChannelVolume(This,dwIndex,fLevel,EventContext) \
1108 ( (This)->lpVtbl -> SetChannelVolume(This,dwIndex,fLevel,EventContext) )
1110 #define IChannelAudioVolume_GetChannelVolume(This,dwIndex,pfLevel) \
1111 ( (This)->lpVtbl -> GetChannelVolume(This,dwIndex,pfLevel) )
1113 #define IChannelAudioVolume_SetAllVolumes(This,dwCount,pfVolumes,EventContext) \
1114 ( (This)->lpVtbl -> SetAllVolumes(This,dwCount,pfVolumes,EventContext) )
1116 #define IChannelAudioVolume_GetAllVolumes(This,dwCount,pfVolumes) \
1117 ( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
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)