| 1 |
/*** Autogenerated by WIDL 6.4 from include/audioclient.idl - Do not edit ***/ |
| 2 |
|
| 3 |
#ifdef _WIN32 |
| 4 |
#ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| 5 |
#define __REQUIRED_RPCNDR_H_VERSION__ 475 |
| 6 |
#endif |
| 7 |
#include <rpc.h> |
| 8 |
#include <rpcndr.h> |
| 9 |
#endif |
| 10 |
|
| 11 |
#ifndef COM_NO_WINDOWS_H |
| 12 |
#include <windows.h> |
| 13 |
#include <ole2.h> |
| 14 |
#endif |
| 15 |
|
| 16 |
#ifndef __audioclient_h__ |
| 17 |
#define __audioclient_h__ |
| 18 |
|
| 19 |
/* Forward declarations */ |
| 20 |
|
| 21 |
#ifndef __IAudioClient_FWD_DEFINED__ |
| 22 |
#define __IAudioClient_FWD_DEFINED__ |
| 23 |
typedef interface IAudioClient IAudioClient; |
| 24 |
#ifdef __cplusplus |
| 25 |
interface IAudioClient; |
| 26 |
#endif /* __cplusplus */ |
| 27 |
#endif |
| 28 |
|
| 29 |
#ifndef __IAudioClient2_FWD_DEFINED__ |
| 30 |
#define __IAudioClient2_FWD_DEFINED__ |
| 31 |
typedef interface IAudioClient2 IAudioClient2; |
| 32 |
#ifdef __cplusplus |
| 33 |
interface IAudioClient2; |
| 34 |
#endif /* __cplusplus */ |
| 35 |
#endif |
| 36 |
|
| 37 |
#ifndef __IAudioClient3_FWD_DEFINED__ |
| 38 |
#define __IAudioClient3_FWD_DEFINED__ |
| 39 |
typedef interface IAudioClient3 IAudioClient3; |
| 40 |
#ifdef __cplusplus |
| 41 |
interface IAudioClient3; |
| 42 |
#endif /* __cplusplus */ |
| 43 |
#endif |
| 44 |
|
| 45 |
#ifndef __IAudioRenderClient_FWD_DEFINED__ |
| 46 |
#define __IAudioRenderClient_FWD_DEFINED__ |
| 47 |
typedef interface IAudioRenderClient IAudioRenderClient; |
| 48 |
#ifdef __cplusplus |
| 49 |
interface IAudioRenderClient; |
| 50 |
#endif /* __cplusplus */ |
| 51 |
#endif |
| 52 |
|
| 53 |
#ifndef __IAudioCaptureClient_FWD_DEFINED__ |
| 54 |
#define __IAudioCaptureClient_FWD_DEFINED__ |
| 55 |
typedef interface IAudioCaptureClient IAudioCaptureClient; |
| 56 |
#ifdef __cplusplus |
| 57 |
interface IAudioCaptureClient; |
| 58 |
#endif /* __cplusplus */ |
| 59 |
#endif |
| 60 |
|
| 61 |
#ifndef __IAudioClock_FWD_DEFINED__ |
| 62 |
#define __IAudioClock_FWD_DEFINED__ |
| 63 |
typedef interface IAudioClock IAudioClock; |
| 64 |
#ifdef __cplusplus |
| 65 |
interface IAudioClock; |
| 66 |
#endif /* __cplusplus */ |
| 67 |
#endif |
| 68 |
|
| 69 |
#ifndef __IAudioClock2_FWD_DEFINED__ |
| 70 |
#define __IAudioClock2_FWD_DEFINED__ |
| 71 |
typedef interface IAudioClock2 IAudioClock2; |
| 72 |
#ifdef __cplusplus |
| 73 |
interface IAudioClock2; |
| 74 |
#endif /* __cplusplus */ |
| 75 |
#endif |
| 76 |
|
| 77 |
#ifndef __IAudioClockAdjustment_FWD_DEFINED__ |
| 78 |
#define __IAudioClockAdjustment_FWD_DEFINED__ |
| 79 |
typedef interface IAudioClockAdjustment IAudioClockAdjustment; |
| 80 |
#ifdef __cplusplus |
| 81 |
interface IAudioClockAdjustment; |
| 82 |
#endif /* __cplusplus */ |
| 83 |
#endif |
| 84 |
|
| 85 |
#ifndef __ISimpleAudioVolume_FWD_DEFINED__ |
| 86 |
#define __ISimpleAudioVolume_FWD_DEFINED__ |
| 87 |
typedef interface ISimpleAudioVolume ISimpleAudioVolume; |
| 88 |
#ifdef __cplusplus |
| 89 |
interface ISimpleAudioVolume; |
| 90 |
#endif /* __cplusplus */ |
| 91 |
#endif |
| 92 |
|
| 93 |
#ifndef __IAudioStreamVolume_FWD_DEFINED__ |
| 94 |
#define __IAudioStreamVolume_FWD_DEFINED__ |
| 95 |
typedef interface IAudioStreamVolume IAudioStreamVolume; |
| 96 |
#ifdef __cplusplus |
| 97 |
interface IAudioStreamVolume; |
| 98 |
#endif /* __cplusplus */ |
| 99 |
#endif |
| 100 |
|
| 101 |
#ifndef __IAudioAmbisonicsControl_FWD_DEFINED__ |
| 102 |
#define __IAudioAmbisonicsControl_FWD_DEFINED__ |
| 103 |
typedef interface IAudioAmbisonicsControl IAudioAmbisonicsControl; |
| 104 |
#ifdef __cplusplus |
| 105 |
interface IAudioAmbisonicsControl; |
| 106 |
#endif /* __cplusplus */ |
| 107 |
#endif |
| 108 |
|
| 109 |
#ifndef __IChannelAudioVolume_FWD_DEFINED__ |
| 110 |
#define __IChannelAudioVolume_FWD_DEFINED__ |
| 111 |
typedef interface IChannelAudioVolume IChannelAudioVolume; |
| 112 |
#ifdef __cplusplus |
| 113 |
interface IChannelAudioVolume; |
| 114 |
#endif /* __cplusplus */ |
| 115 |
#endif |
| 116 |
|
| 117 |
/* Headers for imported files */ |
| 118 |
|
| 119 |
#include <wtypes.h> |
| 120 |
#include <unknwn.h> |
| 121 |
#include <audiosessiontypes.h> |
| 122 |
|
| 123 |
#ifdef __cplusplus |
| 124 |
extern "C" { |
| 125 |
#endif |
| 126 |
|
| 127 |
#include <winapifamily.h> |
| 128 |
|
| 129 |
|
| 130 |
#if 0 |
| 131 |
typedef struct WAVEFORMATEX { |
| 132 |
WORD wFormatTag; |
| 133 |
WORD nChannels; |
| 134 |
DWORD nSamplesPerSec; |
| 135 |
DWORD nAvgBytesPerSec; |
| 136 |
WORD nBlockAlign; |
| 137 |
WORD wBitsPerSample; |
| 138 |
WORD cbSize; |
| 139 |
} WAVEFORMATEX; |
| 140 |
|
| 141 |
typedef LONGLONG REFERENCE_TIME; |
| 142 |
#else |
| 143 |
#define _IKsControl_ |
| 144 |
|
| 145 |
#include <mmreg.h> |
| 146 |
#include <ks.h> |
| 147 |
#include <ksmedia.h> |
| 148 |
#endif |
| 149 |
|
| 150 |
|
| 151 |
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) |
| 152 |
enum _AUDCLNT_BUFFERFLAGS { |
| 153 |
AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 0x1, |
| 154 |
AUDCLNT_BUFFERFLAGS_SILENT = 0x2, |
| 155 |
AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR = 0x4 |
| 156 |
}; |
| 157 |
typedef enum AUDCLNT_STREAMOPTIONS { |
| 158 |
AUDCLNT_STREAMOPTIONS_NONE = 0x0, |
| 159 |
AUDCLNT_STREAMOPTIONS_RAW = 0x1, |
| 160 |
AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 0x2, |
| 161 |
AUDCLNT_STREAMOPTIONS_AMBISONICS = 0x4 |
| 162 |
} AUDCLNT_STREAMOPTIONS; |
| 163 |
DEFINE_ENUM_FLAG_OPERATORS(AUDCLNT_STREAMOPTIONS); |
| 164 |
typedef enum AMBISONICS_TYPE { |
| 165 |
AMBISONICS_TYPE_FULL3D = 0x0 |
| 166 |
} AMBISONICS_TYPE; |
| 167 |
typedef enum AMBISONICS_CHANNEL_ORDERING { |
| 168 |
AMBISONICS_CHANNEL_ORDERING_ACN = 0x0 |
| 169 |
} AMBISONICS_CHANNEL_ORDERING; |
| 170 |
typedef enum AMBISONICS_NORMALIZATION { |
| 171 |
AMBISONICS_NORMALIZATION_SN3D = 0x0, |
| 172 |
AMBISONICS_NORMALIZATION_N3D = 0x1 |
| 173 |
} AMBISONICS_NORMALIZATION; |
| 174 |
|
| 175 |
typedef struct AudioClientProperties { |
| 176 |
UINT32 cbSize; |
| 177 |
WINBOOL bIsOffload; |
| 178 |
AUDIO_STREAM_CATEGORY eCategory; |
| 179 |
AUDCLNT_STREAMOPTIONS Options; |
| 180 |
} AudioClientProperties; |
| 181 |
typedef struct AudioClient3ActivationParams { |
| 182 |
GUID tracingContextId; |
| 183 |
} AudioClient3ActivationParams; |
| 184 |
typedef struct AMBISONICS_PARAMS { |
| 185 |
UINT32 u32Size; |
| 186 |
UINT32 u32Version; |
| 187 |
AMBISONICS_TYPE u32Type; |
| 188 |
AMBISONICS_CHANNEL_ORDERING u32ChannelOrdering; |
| 189 |
AMBISONICS_NORMALIZATION u32Normalization; |
| 190 |
UINT32 u32Order; |
| 191 |
UINT32 u32NumChannels; |
| 192 |
UINT32 *pu32ChannelMap; |
| 193 |
} AMBISONICS_PARAMS; |
| 194 |
|
| 195 |
/***************************************************************************** |
| 196 |
* IAudioClient interface |
| 197 |
*/ |
| 198 |
#ifndef __IAudioClient_INTERFACE_DEFINED__ |
| 199 |
#define __IAudioClient_INTERFACE_DEFINED__ |
| 200 |
|
| 201 |
DEFINE_GUID(IID_IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1,0x78, 0xc2,0xf5,0x68,0xa7,0x03,0xb2); |
| 202 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 203 |
MIDL_INTERFACE("1cb9ad4c-dbfa-4c32-b178-c2f568a703b2") |
| 204 |
IAudioClient : public IUnknown |
| 205 |
{ |
| 206 |
virtual HRESULT STDMETHODCALLTYPE Initialize( |
| 207 |
AUDCLNT_SHAREMODE ShareMode, |
| 208 |
DWORD StreamFlags, |
| 209 |
REFERENCE_TIME hnsBufferDuration, |
| 210 |
REFERENCE_TIME hnsPeriodicity, |
| 211 |
const WAVEFORMATEX *pFormat, |
| 212 |
LPCGUID AudioSessionGuid) = 0; |
| 213 |
|
| 214 |
virtual HRESULT STDMETHODCALLTYPE GetBufferSize( |
| 215 |
UINT32 *pNumBufferFrames) = 0; |
| 216 |
|
| 217 |
virtual HRESULT STDMETHODCALLTYPE GetStreamLatency( |
| 218 |
REFERENCE_TIME *phnsLatency) = 0; |
| 219 |
|
| 220 |
virtual HRESULT STDMETHODCALLTYPE GetCurrentPadding( |
| 221 |
UINT32 *pNumPaddingFrames) = 0; |
| 222 |
|
| 223 |
virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( |
| 224 |
AUDCLNT_SHAREMODE ShareMode, |
| 225 |
const WAVEFORMATEX *pFormat, |
| 226 |
WAVEFORMATEX **ppClosestMatch) = 0; |
| 227 |
|
| 228 |
virtual HRESULT STDMETHODCALLTYPE GetMixFormat( |
| 229 |
WAVEFORMATEX **ppDeviceFormat) = 0; |
| 230 |
|
| 231 |
virtual HRESULT STDMETHODCALLTYPE GetDevicePeriod( |
| 232 |
REFERENCE_TIME *phnsDefaultDevicePeriod, |
| 233 |
REFERENCE_TIME *phnsMinimumDevicePeriod) = 0; |
| 234 |
|
| 235 |
virtual HRESULT STDMETHODCALLTYPE Start( |
| 236 |
) = 0; |
| 237 |
|
| 238 |
virtual HRESULT STDMETHODCALLTYPE Stop( |
| 239 |
) = 0; |
| 240 |
|
| 241 |
virtual HRESULT STDMETHODCALLTYPE Reset( |
| 242 |
) = 0; |
| 243 |
|
| 244 |
virtual HRESULT STDMETHODCALLTYPE SetEventHandle( |
| 245 |
HANDLE eventHandle) = 0; |
| 246 |
|
| 247 |
virtual HRESULT STDMETHODCALLTYPE GetService( |
| 248 |
REFIID riid, |
| 249 |
void **ppv) = 0; |
| 250 |
|
| 251 |
}; |
| 252 |
#ifdef __CRT_UUID_DECL |
| 253 |
__CRT_UUID_DECL(IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1,0x78, 0xc2,0xf5,0x68,0xa7,0x03,0xb2) |
| 254 |
#endif |
| 255 |
#else |
| 256 |
typedef struct IAudioClientVtbl { |
| 257 |
BEGIN_INTERFACE |
| 258 |
|
| 259 |
/*** IUnknown methods ***/ |
| 260 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 261 |
IAudioClient *This, |
| 262 |
REFIID riid, |
| 263 |
void **ppvObject); |
| 264 |
|
| 265 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 266 |
IAudioClient *This); |
| 267 |
|
| 268 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 269 |
IAudioClient *This); |
| 270 |
|
| 271 |
/*** IAudioClient methods ***/ |
| 272 |
HRESULT (STDMETHODCALLTYPE *Initialize)( |
| 273 |
IAudioClient *This, |
| 274 |
AUDCLNT_SHAREMODE ShareMode, |
| 275 |
DWORD StreamFlags, |
| 276 |
REFERENCE_TIME hnsBufferDuration, |
| 277 |
REFERENCE_TIME hnsPeriodicity, |
| 278 |
const WAVEFORMATEX *pFormat, |
| 279 |
LPCGUID AudioSessionGuid); |
| 280 |
|
| 281 |
HRESULT (STDMETHODCALLTYPE *GetBufferSize)( |
| 282 |
IAudioClient *This, |
| 283 |
UINT32 *pNumBufferFrames); |
| 284 |
|
| 285 |
HRESULT (STDMETHODCALLTYPE *GetStreamLatency)( |
| 286 |
IAudioClient *This, |
| 287 |
REFERENCE_TIME *phnsLatency); |
| 288 |
|
| 289 |
HRESULT (STDMETHODCALLTYPE *GetCurrentPadding)( |
| 290 |
IAudioClient *This, |
| 291 |
UINT32 *pNumPaddingFrames); |
| 292 |
|
| 293 |
HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( |
| 294 |
IAudioClient *This, |
| 295 |
AUDCLNT_SHAREMODE ShareMode, |
| 296 |
const WAVEFORMATEX *pFormat, |
| 297 |
WAVEFORMATEX **ppClosestMatch); |
| 298 |
|
| 299 |
HRESULT (STDMETHODCALLTYPE *GetMixFormat)( |
| 300 |
IAudioClient *This, |
| 301 |
WAVEFORMATEX **ppDeviceFormat); |
| 302 |
|
| 303 |
HRESULT (STDMETHODCALLTYPE *GetDevicePeriod)( |
| 304 |
IAudioClient *This, |
| 305 |
REFERENCE_TIME *phnsDefaultDevicePeriod, |
| 306 |
REFERENCE_TIME *phnsMinimumDevicePeriod); |
| 307 |
|
| 308 |
HRESULT (STDMETHODCALLTYPE *Start)( |
| 309 |
IAudioClient *This); |
| 310 |
|
| 311 |
HRESULT (STDMETHODCALLTYPE *Stop)( |
| 312 |
IAudioClient *This); |
| 313 |
|
| 314 |
HRESULT (STDMETHODCALLTYPE *Reset)( |
| 315 |
IAudioClient *This); |
| 316 |
|
| 317 |
HRESULT (STDMETHODCALLTYPE *SetEventHandle)( |
| 318 |
IAudioClient *This, |
| 319 |
HANDLE eventHandle); |
| 320 |
|
| 321 |
HRESULT (STDMETHODCALLTYPE *GetService)( |
| 322 |
IAudioClient *This, |
| 323 |
REFIID riid, |
| 324 |
void **ppv); |
| 325 |
|
| 326 |
END_INTERFACE |
| 327 |
} IAudioClientVtbl; |
| 328 |
|
| 329 |
interface IAudioClient { |
| 330 |
CONST_VTBL IAudioClientVtbl* lpVtbl; |
| 331 |
}; |
| 332 |
|
| 333 |
#ifdef COBJMACROS |
| 334 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 335 |
/*** IUnknown methods ***/ |
| 336 |
#define IAudioClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 337 |
#define IAudioClient_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 338 |
#define IAudioClient_Release(This) (This)->lpVtbl->Release(This) |
| 339 |
/*** IAudioClient methods ***/ |
| 340 |
#define IAudioClient_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) (This)->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) |
| 341 |
#define IAudioClient_GetBufferSize(This,pNumBufferFrames) (This)->lpVtbl->GetBufferSize(This,pNumBufferFrames) |
| 342 |
#define IAudioClient_GetStreamLatency(This,phnsLatency) (This)->lpVtbl->GetStreamLatency(This,phnsLatency) |
| 343 |
#define IAudioClient_GetCurrentPadding(This,pNumPaddingFrames) (This)->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames) |
| 344 |
#define IAudioClient_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) (This)->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) |
| 345 |
#define IAudioClient_GetMixFormat(This,ppDeviceFormat) (This)->lpVtbl->GetMixFormat(This,ppDeviceFormat) |
| 346 |
#define IAudioClient_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) (This)->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) |
| 347 |
#define IAudioClient_Start(This) (This)->lpVtbl->Start(This) |
| 348 |
#define IAudioClient_Stop(This) (This)->lpVtbl->Stop(This) |
| 349 |
#define IAudioClient_Reset(This) (This)->lpVtbl->Reset(This) |
| 350 |
#define IAudioClient_SetEventHandle(This,eventHandle) (This)->lpVtbl->SetEventHandle(This,eventHandle) |
| 351 |
#define IAudioClient_GetService(This,riid,ppv) (This)->lpVtbl->GetService(This,riid,ppv) |
| 352 |
#else |
| 353 |
/*** IUnknown methods ***/ |
| 354 |
static FORCEINLINE HRESULT IAudioClient_QueryInterface(IAudioClient* This,REFIID riid,void **ppvObject) { |
| 355 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 356 |
} |
| 357 |
static FORCEINLINE ULONG IAudioClient_AddRef(IAudioClient* This) { |
| 358 |
return This->lpVtbl->AddRef(This); |
| 359 |
} |
| 360 |
static FORCEINLINE ULONG IAudioClient_Release(IAudioClient* This) { |
| 361 |
return This->lpVtbl->Release(This); |
| 362 |
} |
| 363 |
/*** IAudioClient methods ***/ |
| 364 |
static FORCEINLINE HRESULT IAudioClient_Initialize(IAudioClient* This,AUDCLNT_SHAREMODE ShareMode,DWORD StreamFlags,REFERENCE_TIME hnsBufferDuration,REFERENCE_TIME hnsPeriodicity,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { |
| 365 |
return This->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid); |
| 366 |
} |
| 367 |
static FORCEINLINE HRESULT IAudioClient_GetBufferSize(IAudioClient* This,UINT32 *pNumBufferFrames) { |
| 368 |
return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); |
| 369 |
} |
| 370 |
static FORCEINLINE HRESULT IAudioClient_GetStreamLatency(IAudioClient* This,REFERENCE_TIME *phnsLatency) { |
| 371 |
return This->lpVtbl->GetStreamLatency(This,phnsLatency); |
| 372 |
} |
| 373 |
static FORCEINLINE HRESULT IAudioClient_GetCurrentPadding(IAudioClient* This,UINT32 *pNumPaddingFrames) { |
| 374 |
return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); |
| 375 |
} |
| 376 |
static FORCEINLINE HRESULT IAudioClient_IsFormatSupported(IAudioClient* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { |
| 377 |
return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); |
| 378 |
} |
| 379 |
static FORCEINLINE HRESULT IAudioClient_GetMixFormat(IAudioClient* This,WAVEFORMATEX **ppDeviceFormat) { |
| 380 |
return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); |
| 381 |
} |
| 382 |
static FORCEINLINE HRESULT IAudioClient_GetDevicePeriod(IAudioClient* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { |
| 383 |
return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); |
| 384 |
} |
| 385 |
static FORCEINLINE HRESULT IAudioClient_Start(IAudioClient* This) { |
| 386 |
return This->lpVtbl->Start(This); |
| 387 |
} |
| 388 |
static FORCEINLINE HRESULT IAudioClient_Stop(IAudioClient* This) { |
| 389 |
return This->lpVtbl->Stop(This); |
| 390 |
} |
| 391 |
static FORCEINLINE HRESULT IAudioClient_Reset(IAudioClient* This) { |
| 392 |
return This->lpVtbl->Reset(This); |
| 393 |
} |
| 394 |
static FORCEINLINE HRESULT IAudioClient_SetEventHandle(IAudioClient* This,HANDLE eventHandle) { |
| 395 |
return This->lpVtbl->SetEventHandle(This,eventHandle); |
| 396 |
} |
| 397 |
static FORCEINLINE HRESULT IAudioClient_GetService(IAudioClient* This,REFIID riid,void **ppv) { |
| 398 |
return This->lpVtbl->GetService(This,riid,ppv); |
| 399 |
} |
| 400 |
#endif |
| 401 |
#endif |
| 402 |
|
| 403 |
#endif |
| 404 |
|
| 405 |
|
| 406 |
#endif /* __IAudioClient_INTERFACE_DEFINED__ */ |
| 407 |
|
| 408 |
|
| 409 |
/***************************************************************************** |
| 410 |
* IAudioClient2 interface |
| 411 |
*/ |
| 412 |
#ifndef __IAudioClient2_INTERFACE_DEFINED__ |
| 413 |
#define __IAudioClient2_INTERFACE_DEFINED__ |
| 414 |
|
| 415 |
DEFINE_GUID(IID_IAudioClient2, 0x726778cd, 0xf60a, 0x4eda, 0x82,0xde, 0xe4,0x76,0x10,0xcd,0x78,0xaa); |
| 416 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 417 |
MIDL_INTERFACE("726778cd-f60a-4eda-82de-e47610cd78aa") |
| 418 |
IAudioClient2 : public IAudioClient |
| 419 |
{ |
| 420 |
virtual HRESULT STDMETHODCALLTYPE IsOffloadCapable( |
| 421 |
AUDIO_STREAM_CATEGORY Category, |
| 422 |
WINBOOL *pbOffloadCapable) = 0; |
| 423 |
|
| 424 |
virtual HRESULT STDMETHODCALLTYPE SetClientProperties( |
| 425 |
const AudioClientProperties *pProperties) = 0; |
| 426 |
|
| 427 |
virtual HRESULT STDMETHODCALLTYPE GetBufferSizeLimits( |
| 428 |
const WAVEFORMATEX *pFormat, |
| 429 |
WINBOOL bEventDriven, |
| 430 |
REFERENCE_TIME *phnsMinBufferDuration, |
| 431 |
REFERENCE_TIME *phnsMaxBufferDuration) = 0; |
| 432 |
|
| 433 |
}; |
| 434 |
#ifdef __CRT_UUID_DECL |
| 435 |
__CRT_UUID_DECL(IAudioClient2, 0x726778cd, 0xf60a, 0x4eda, 0x82,0xde, 0xe4,0x76,0x10,0xcd,0x78,0xaa) |
| 436 |
#endif |
| 437 |
#else |
| 438 |
typedef struct IAudioClient2Vtbl { |
| 439 |
BEGIN_INTERFACE |
| 440 |
|
| 441 |
/*** IUnknown methods ***/ |
| 442 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 443 |
IAudioClient2 *This, |
| 444 |
REFIID riid, |
| 445 |
void **ppvObject); |
| 446 |
|
| 447 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 448 |
IAudioClient2 *This); |
| 449 |
|
| 450 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 451 |
IAudioClient2 *This); |
| 452 |
|
| 453 |
/*** IAudioClient methods ***/ |
| 454 |
HRESULT (STDMETHODCALLTYPE *Initialize)( |
| 455 |
IAudioClient2 *This, |
| 456 |
AUDCLNT_SHAREMODE ShareMode, |
| 457 |
DWORD StreamFlags, |
| 458 |
REFERENCE_TIME hnsBufferDuration, |
| 459 |
REFERENCE_TIME hnsPeriodicity, |
| 460 |
const WAVEFORMATEX *pFormat, |
| 461 |
LPCGUID AudioSessionGuid); |
| 462 |
|
| 463 |
HRESULT (STDMETHODCALLTYPE *GetBufferSize)( |
| 464 |
IAudioClient2 *This, |
| 465 |
UINT32 *pNumBufferFrames); |
| 466 |
|
| 467 |
HRESULT (STDMETHODCALLTYPE *GetStreamLatency)( |
| 468 |
IAudioClient2 *This, |
| 469 |
REFERENCE_TIME *phnsLatency); |
| 470 |
|
| 471 |
HRESULT (STDMETHODCALLTYPE *GetCurrentPadding)( |
| 472 |
IAudioClient2 *This, |
| 473 |
UINT32 *pNumPaddingFrames); |
| 474 |
|
| 475 |
HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( |
| 476 |
IAudioClient2 *This, |
| 477 |
AUDCLNT_SHAREMODE ShareMode, |
| 478 |
const WAVEFORMATEX *pFormat, |
| 479 |
WAVEFORMATEX **ppClosestMatch); |
| 480 |
|
| 481 |
HRESULT (STDMETHODCALLTYPE *GetMixFormat)( |
| 482 |
IAudioClient2 *This, |
| 483 |
WAVEFORMATEX **ppDeviceFormat); |
| 484 |
|
| 485 |
HRESULT (STDMETHODCALLTYPE *GetDevicePeriod)( |
| 486 |
IAudioClient2 *This, |
| 487 |
REFERENCE_TIME *phnsDefaultDevicePeriod, |
| 488 |
REFERENCE_TIME *phnsMinimumDevicePeriod); |
| 489 |
|
| 490 |
HRESULT (STDMETHODCALLTYPE *Start)( |
| 491 |
IAudioClient2 *This); |
| 492 |
|
| 493 |
HRESULT (STDMETHODCALLTYPE *Stop)( |
| 494 |
IAudioClient2 *This); |
| 495 |
|
| 496 |
HRESULT (STDMETHODCALLTYPE *Reset)( |
| 497 |
IAudioClient2 *This); |
| 498 |
|
| 499 |
HRESULT (STDMETHODCALLTYPE *SetEventHandle)( |
| 500 |
IAudioClient2 *This, |
| 501 |
HANDLE eventHandle); |
| 502 |
|
| 503 |
HRESULT (STDMETHODCALLTYPE *GetService)( |
| 504 |
IAudioClient2 *This, |
| 505 |
REFIID riid, |
| 506 |
void **ppv); |
| 507 |
|
| 508 |
/*** IAudioClient2 methods ***/ |
| 509 |
HRESULT (STDMETHODCALLTYPE *IsOffloadCapable)( |
| 510 |
IAudioClient2 *This, |
| 511 |
AUDIO_STREAM_CATEGORY Category, |
| 512 |
WINBOOL *pbOffloadCapable); |
| 513 |
|
| 514 |
HRESULT (STDMETHODCALLTYPE *SetClientProperties)( |
| 515 |
IAudioClient2 *This, |
| 516 |
const AudioClientProperties *pProperties); |
| 517 |
|
| 518 |
HRESULT (STDMETHODCALLTYPE *GetBufferSizeLimits)( |
| 519 |
IAudioClient2 *This, |
| 520 |
const WAVEFORMATEX *pFormat, |
| 521 |
WINBOOL bEventDriven, |
| 522 |
REFERENCE_TIME *phnsMinBufferDuration, |
| 523 |
REFERENCE_TIME *phnsMaxBufferDuration); |
| 524 |
|
| 525 |
END_INTERFACE |
| 526 |
} IAudioClient2Vtbl; |
| 527 |
|
| 528 |
interface IAudioClient2 { |
| 529 |
CONST_VTBL IAudioClient2Vtbl* lpVtbl; |
| 530 |
}; |
| 531 |
|
| 532 |
#ifdef COBJMACROS |
| 533 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 534 |
/*** IUnknown methods ***/ |
| 535 |
#define IAudioClient2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 536 |
#define IAudioClient2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 537 |
#define IAudioClient2_Release(This) (This)->lpVtbl->Release(This) |
| 538 |
/*** IAudioClient methods ***/ |
| 539 |
#define IAudioClient2_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) (This)->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) |
| 540 |
#define IAudioClient2_GetBufferSize(This,pNumBufferFrames) (This)->lpVtbl->GetBufferSize(This,pNumBufferFrames) |
| 541 |
#define IAudioClient2_GetStreamLatency(This,phnsLatency) (This)->lpVtbl->GetStreamLatency(This,phnsLatency) |
| 542 |
#define IAudioClient2_GetCurrentPadding(This,pNumPaddingFrames) (This)->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames) |
| 543 |
#define IAudioClient2_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) (This)->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) |
| 544 |
#define IAudioClient2_GetMixFormat(This,ppDeviceFormat) (This)->lpVtbl->GetMixFormat(This,ppDeviceFormat) |
| 545 |
#define IAudioClient2_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) (This)->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) |
| 546 |
#define IAudioClient2_Start(This) (This)->lpVtbl->Start(This) |
| 547 |
#define IAudioClient2_Stop(This) (This)->lpVtbl->Stop(This) |
| 548 |
#define IAudioClient2_Reset(This) (This)->lpVtbl->Reset(This) |
| 549 |
#define IAudioClient2_SetEventHandle(This,eventHandle) (This)->lpVtbl->SetEventHandle(This,eventHandle) |
| 550 |
#define IAudioClient2_GetService(This,riid,ppv) (This)->lpVtbl->GetService(This,riid,ppv) |
| 551 |
/*** IAudioClient2 methods ***/ |
| 552 |
#define IAudioClient2_IsOffloadCapable(This,Category,pbOffloadCapable) (This)->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable) |
| 553 |
#define IAudioClient2_SetClientProperties(This,pProperties) (This)->lpVtbl->SetClientProperties(This,pProperties) |
| 554 |
#define IAudioClient2_GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) (This)->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) |
| 555 |
#else |
| 556 |
/*** IUnknown methods ***/ |
| 557 |
static FORCEINLINE HRESULT IAudioClient2_QueryInterface(IAudioClient2* This,REFIID riid,void **ppvObject) { |
| 558 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 559 |
} |
| 560 |
static FORCEINLINE ULONG IAudioClient2_AddRef(IAudioClient2* This) { |
| 561 |
return This->lpVtbl->AddRef(This); |
| 562 |
} |
| 563 |
static FORCEINLINE ULONG IAudioClient2_Release(IAudioClient2* This) { |
| 564 |
return This->lpVtbl->Release(This); |
| 565 |
} |
| 566 |
/*** IAudioClient methods ***/ |
| 567 |
static FORCEINLINE HRESULT IAudioClient2_Initialize(IAudioClient2* This,AUDCLNT_SHAREMODE ShareMode,DWORD StreamFlags,REFERENCE_TIME hnsBufferDuration,REFERENCE_TIME hnsPeriodicity,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { |
| 568 |
return This->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid); |
| 569 |
} |
| 570 |
static FORCEINLINE HRESULT IAudioClient2_GetBufferSize(IAudioClient2* This,UINT32 *pNumBufferFrames) { |
| 571 |
return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); |
| 572 |
} |
| 573 |
static FORCEINLINE HRESULT IAudioClient2_GetStreamLatency(IAudioClient2* This,REFERENCE_TIME *phnsLatency) { |
| 574 |
return This->lpVtbl->GetStreamLatency(This,phnsLatency); |
| 575 |
} |
| 576 |
static FORCEINLINE HRESULT IAudioClient2_GetCurrentPadding(IAudioClient2* This,UINT32 *pNumPaddingFrames) { |
| 577 |
return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); |
| 578 |
} |
| 579 |
static FORCEINLINE HRESULT IAudioClient2_IsFormatSupported(IAudioClient2* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { |
| 580 |
return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); |
| 581 |
} |
| 582 |
static FORCEINLINE HRESULT IAudioClient2_GetMixFormat(IAudioClient2* This,WAVEFORMATEX **ppDeviceFormat) { |
| 583 |
return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); |
| 584 |
} |
| 585 |
static FORCEINLINE HRESULT IAudioClient2_GetDevicePeriod(IAudioClient2* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { |
| 586 |
return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); |
| 587 |
} |
| 588 |
static FORCEINLINE HRESULT IAudioClient2_Start(IAudioClient2* This) { |
| 589 |
return This->lpVtbl->Start(This); |
| 590 |
} |
| 591 |
static FORCEINLINE HRESULT IAudioClient2_Stop(IAudioClient2* This) { |
| 592 |
return This->lpVtbl->Stop(This); |
| 593 |
} |
| 594 |
static FORCEINLINE HRESULT IAudioClient2_Reset(IAudioClient2* This) { |
| 595 |
return This->lpVtbl->Reset(This); |
| 596 |
} |
| 597 |
static FORCEINLINE HRESULT IAudioClient2_SetEventHandle(IAudioClient2* This,HANDLE eventHandle) { |
| 598 |
return This->lpVtbl->SetEventHandle(This,eventHandle); |
| 599 |
} |
| 600 |
static FORCEINLINE HRESULT IAudioClient2_GetService(IAudioClient2* This,REFIID riid,void **ppv) { |
| 601 |
return This->lpVtbl->GetService(This,riid,ppv); |
| 602 |
} |
| 603 |
/*** IAudioClient2 methods ***/ |
| 604 |
static FORCEINLINE HRESULT IAudioClient2_IsOffloadCapable(IAudioClient2* This,AUDIO_STREAM_CATEGORY Category,WINBOOL *pbOffloadCapable) { |
| 605 |
return This->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable); |
| 606 |
} |
| 607 |
static FORCEINLINE HRESULT IAudioClient2_SetClientProperties(IAudioClient2* This,const AudioClientProperties *pProperties) { |
| 608 |
return This->lpVtbl->SetClientProperties(This,pProperties); |
| 609 |
} |
| 610 |
static FORCEINLINE HRESULT IAudioClient2_GetBufferSizeLimits(IAudioClient2* This,const WAVEFORMATEX *pFormat,WINBOOL bEventDriven,REFERENCE_TIME *phnsMinBufferDuration,REFERENCE_TIME *phnsMaxBufferDuration) { |
| 611 |
return This->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration); |
| 612 |
} |
| 613 |
#endif |
| 614 |
#endif |
| 615 |
|
| 616 |
#endif |
| 617 |
|
| 618 |
|
| 619 |
#endif /* __IAudioClient2_INTERFACE_DEFINED__ */ |
| 620 |
|
| 621 |
/***************************************************************************** |
| 622 |
* IAudioClient3 interface |
| 623 |
*/ |
| 624 |
#ifndef __IAudioClient3_INTERFACE_DEFINED__ |
| 625 |
#define __IAudioClient3_INTERFACE_DEFINED__ |
| 626 |
|
| 627 |
DEFINE_GUID(IID_IAudioClient3, 0x7ed4ee07, 0x8e67, 0x4cd4, 0x8c,0x1a, 0x2b,0x7a,0x59,0x87,0xad,0x42); |
| 628 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 629 |
MIDL_INTERFACE("7ed4ee07-8e67-4cd4-8c1a-2b7a5987ad42") |
| 630 |
IAudioClient3 : public IAudioClient2 |
| 631 |
{ |
| 632 |
virtual HRESULT STDMETHODCALLTYPE GetSharedModeEnginePeriod( |
| 633 |
const WAVEFORMATEX *pFormat, |
| 634 |
UINT32 *pDefaultPeriodInFrames, |
| 635 |
UINT32 *pFundamentalPeriodInFrames, |
| 636 |
UINT32 *pMinPeriodInFrames, |
| 637 |
UINT32 *pMaxPeriodInFrames) = 0; |
| 638 |
|
| 639 |
virtual HRESULT STDMETHODCALLTYPE GetCurrentSharedModeEnginePeriod( |
| 640 |
WAVEFORMATEX **ppFormat, |
| 641 |
UINT32 *pCurrentPeriodInFrames) = 0; |
| 642 |
|
| 643 |
virtual HRESULT STDMETHODCALLTYPE InitializeSharedAudioStream( |
| 644 |
DWORD StreamFlags, |
| 645 |
UINT32 PeriodInFrames, |
| 646 |
const WAVEFORMATEX *pFormat, |
| 647 |
LPCGUID AudioSessionGuid) = 0; |
| 648 |
|
| 649 |
}; |
| 650 |
#ifdef __CRT_UUID_DECL |
| 651 |
__CRT_UUID_DECL(IAudioClient3, 0x7ed4ee07, 0x8e67, 0x4cd4, 0x8c,0x1a, 0x2b,0x7a,0x59,0x87,0xad,0x42) |
| 652 |
#endif |
| 653 |
#else |
| 654 |
typedef struct IAudioClient3Vtbl { |
| 655 |
BEGIN_INTERFACE |
| 656 |
|
| 657 |
/*** IUnknown methods ***/ |
| 658 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 659 |
IAudioClient3 *This, |
| 660 |
REFIID riid, |
| 661 |
void **ppvObject); |
| 662 |
|
| 663 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 664 |
IAudioClient3 *This); |
| 665 |
|
| 666 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 667 |
IAudioClient3 *This); |
| 668 |
|
| 669 |
/*** IAudioClient methods ***/ |
| 670 |
HRESULT (STDMETHODCALLTYPE *Initialize)( |
| 671 |
IAudioClient3 *This, |
| 672 |
AUDCLNT_SHAREMODE ShareMode, |
| 673 |
DWORD StreamFlags, |
| 674 |
REFERENCE_TIME hnsBufferDuration, |
| 675 |
REFERENCE_TIME hnsPeriodicity, |
| 676 |
const WAVEFORMATEX *pFormat, |
| 677 |
LPCGUID AudioSessionGuid); |
| 678 |
|
| 679 |
HRESULT (STDMETHODCALLTYPE *GetBufferSize)( |
| 680 |
IAudioClient3 *This, |
| 681 |
UINT32 *pNumBufferFrames); |
| 682 |
|
| 683 |
HRESULT (STDMETHODCALLTYPE *GetStreamLatency)( |
| 684 |
IAudioClient3 *This, |
| 685 |
REFERENCE_TIME *phnsLatency); |
| 686 |
|
| 687 |
HRESULT (STDMETHODCALLTYPE *GetCurrentPadding)( |
| 688 |
IAudioClient3 *This, |
| 689 |
UINT32 *pNumPaddingFrames); |
| 690 |
|
| 691 |
HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( |
| 692 |
IAudioClient3 *This, |
| 693 |
AUDCLNT_SHAREMODE ShareMode, |
| 694 |
const WAVEFORMATEX *pFormat, |
| 695 |
WAVEFORMATEX **ppClosestMatch); |
| 696 |
|
| 697 |
HRESULT (STDMETHODCALLTYPE *GetMixFormat)( |
| 698 |
IAudioClient3 *This, |
| 699 |
WAVEFORMATEX **ppDeviceFormat); |
| 700 |
|
| 701 |
HRESULT (STDMETHODCALLTYPE *GetDevicePeriod)( |
| 702 |
IAudioClient3 *This, |
| 703 |
REFERENCE_TIME *phnsDefaultDevicePeriod, |
| 704 |
REFERENCE_TIME *phnsMinimumDevicePeriod); |
| 705 |
|
| 706 |
HRESULT (STDMETHODCALLTYPE *Start)( |
| 707 |
IAudioClient3 *This); |
| 708 |
|
| 709 |
HRESULT (STDMETHODCALLTYPE *Stop)( |
| 710 |
IAudioClient3 *This); |
| 711 |
|
| 712 |
HRESULT (STDMETHODCALLTYPE *Reset)( |
| 713 |
IAudioClient3 *This); |
| 714 |
|
| 715 |
HRESULT (STDMETHODCALLTYPE *SetEventHandle)( |
| 716 |
IAudioClient3 *This, |
| 717 |
HANDLE eventHandle); |
| 718 |
|
| 719 |
HRESULT (STDMETHODCALLTYPE *GetService)( |
| 720 |
IAudioClient3 *This, |
| 721 |
REFIID riid, |
| 722 |
void **ppv); |
| 723 |
|
| 724 |
/*** IAudioClient2 methods ***/ |
| 725 |
HRESULT (STDMETHODCALLTYPE *IsOffloadCapable)( |
| 726 |
IAudioClient3 *This, |
| 727 |
AUDIO_STREAM_CATEGORY Category, |
| 728 |
WINBOOL *pbOffloadCapable); |
| 729 |
|
| 730 |
HRESULT (STDMETHODCALLTYPE *SetClientProperties)( |
| 731 |
IAudioClient3 *This, |
| 732 |
const AudioClientProperties *pProperties); |
| 733 |
|
| 734 |
HRESULT (STDMETHODCALLTYPE *GetBufferSizeLimits)( |
| 735 |
IAudioClient3 *This, |
| 736 |
const WAVEFORMATEX *pFormat, |
| 737 |
WINBOOL bEventDriven, |
| 738 |
REFERENCE_TIME *phnsMinBufferDuration, |
| 739 |
REFERENCE_TIME *phnsMaxBufferDuration); |
| 740 |
|
| 741 |
/*** IAudioClient3 methods ***/ |
| 742 |
HRESULT (STDMETHODCALLTYPE *GetSharedModeEnginePeriod)( |
| 743 |
IAudioClient3 *This, |
| 744 |
const WAVEFORMATEX *pFormat, |
| 745 |
UINT32 *pDefaultPeriodInFrames, |
| 746 |
UINT32 *pFundamentalPeriodInFrames, |
| 747 |
UINT32 *pMinPeriodInFrames, |
| 748 |
UINT32 *pMaxPeriodInFrames); |
| 749 |
|
| 750 |
HRESULT (STDMETHODCALLTYPE *GetCurrentSharedModeEnginePeriod)( |
| 751 |
IAudioClient3 *This, |
| 752 |
WAVEFORMATEX **ppFormat, |
| 753 |
UINT32 *pCurrentPeriodInFrames); |
| 754 |
|
| 755 |
HRESULT (STDMETHODCALLTYPE *InitializeSharedAudioStream)( |
| 756 |
IAudioClient3 *This, |
| 757 |
DWORD StreamFlags, |
| 758 |
UINT32 PeriodInFrames, |
| 759 |
const WAVEFORMATEX *pFormat, |
| 760 |
LPCGUID AudioSessionGuid); |
| 761 |
|
| 762 |
END_INTERFACE |
| 763 |
} IAudioClient3Vtbl; |
| 764 |
|
| 765 |
interface IAudioClient3 { |
| 766 |
CONST_VTBL IAudioClient3Vtbl* lpVtbl; |
| 767 |
}; |
| 768 |
|
| 769 |
#ifdef COBJMACROS |
| 770 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 771 |
/*** IUnknown methods ***/ |
| 772 |
#define IAudioClient3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 773 |
#define IAudioClient3_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 774 |
#define IAudioClient3_Release(This) (This)->lpVtbl->Release(This) |
| 775 |
/*** IAudioClient methods ***/ |
| 776 |
#define IAudioClient3_Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) (This)->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid) |
| 777 |
#define IAudioClient3_GetBufferSize(This,pNumBufferFrames) (This)->lpVtbl->GetBufferSize(This,pNumBufferFrames) |
| 778 |
#define IAudioClient3_GetStreamLatency(This,phnsLatency) (This)->lpVtbl->GetStreamLatency(This,phnsLatency) |
| 779 |
#define IAudioClient3_GetCurrentPadding(This,pNumPaddingFrames) (This)->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames) |
| 780 |
#define IAudioClient3_IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) (This)->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch) |
| 781 |
#define IAudioClient3_GetMixFormat(This,ppDeviceFormat) (This)->lpVtbl->GetMixFormat(This,ppDeviceFormat) |
| 782 |
#define IAudioClient3_GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) (This)->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod) |
| 783 |
#define IAudioClient3_Start(This) (This)->lpVtbl->Start(This) |
| 784 |
#define IAudioClient3_Stop(This) (This)->lpVtbl->Stop(This) |
| 785 |
#define IAudioClient3_Reset(This) (This)->lpVtbl->Reset(This) |
| 786 |
#define IAudioClient3_SetEventHandle(This,eventHandle) (This)->lpVtbl->SetEventHandle(This,eventHandle) |
| 787 |
#define IAudioClient3_GetService(This,riid,ppv) (This)->lpVtbl->GetService(This,riid,ppv) |
| 788 |
/*** IAudioClient2 methods ***/ |
| 789 |
#define IAudioClient3_IsOffloadCapable(This,Category,pbOffloadCapable) (This)->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable) |
| 790 |
#define IAudioClient3_SetClientProperties(This,pProperties) (This)->lpVtbl->SetClientProperties(This,pProperties) |
| 791 |
#define IAudioClient3_GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) (This)->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration) |
| 792 |
/*** IAudioClient3 methods ***/ |
| 793 |
#define IAudioClient3_GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames) (This)->lpVtbl->GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames) |
| 794 |
#define IAudioClient3_GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames) (This)->lpVtbl->GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames) |
| 795 |
#define IAudioClient3_InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid) (This)->lpVtbl->InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid) |
| 796 |
#else |
| 797 |
/*** IUnknown methods ***/ |
| 798 |
static FORCEINLINE HRESULT IAudioClient3_QueryInterface(IAudioClient3* This,REFIID riid,void **ppvObject) { |
| 799 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 800 |
} |
| 801 |
static FORCEINLINE ULONG IAudioClient3_AddRef(IAudioClient3* This) { |
| 802 |
return This->lpVtbl->AddRef(This); |
| 803 |
} |
| 804 |
static FORCEINLINE ULONG IAudioClient3_Release(IAudioClient3* This) { |
| 805 |
return This->lpVtbl->Release(This); |
| 806 |
} |
| 807 |
/*** IAudioClient methods ***/ |
| 808 |
static FORCEINLINE HRESULT IAudioClient3_Initialize(IAudioClient3* This,AUDCLNT_SHAREMODE ShareMode,DWORD StreamFlags,REFERENCE_TIME hnsBufferDuration,REFERENCE_TIME hnsPeriodicity,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { |
| 809 |
return This->lpVtbl->Initialize(This,ShareMode,StreamFlags,hnsBufferDuration,hnsPeriodicity,pFormat,AudioSessionGuid); |
| 810 |
} |
| 811 |
static FORCEINLINE HRESULT IAudioClient3_GetBufferSize(IAudioClient3* This,UINT32 *pNumBufferFrames) { |
| 812 |
return This->lpVtbl->GetBufferSize(This,pNumBufferFrames); |
| 813 |
} |
| 814 |
static FORCEINLINE HRESULT IAudioClient3_GetStreamLatency(IAudioClient3* This,REFERENCE_TIME *phnsLatency) { |
| 815 |
return This->lpVtbl->GetStreamLatency(This,phnsLatency); |
| 816 |
} |
| 817 |
static FORCEINLINE HRESULT IAudioClient3_GetCurrentPadding(IAudioClient3* This,UINT32 *pNumPaddingFrames) { |
| 818 |
return This->lpVtbl->GetCurrentPadding(This,pNumPaddingFrames); |
| 819 |
} |
| 820 |
static FORCEINLINE HRESULT IAudioClient3_IsFormatSupported(IAudioClient3* This,AUDCLNT_SHAREMODE ShareMode,const WAVEFORMATEX *pFormat,WAVEFORMATEX **ppClosestMatch) { |
| 821 |
return This->lpVtbl->IsFormatSupported(This,ShareMode,pFormat,ppClosestMatch); |
| 822 |
} |
| 823 |
static FORCEINLINE HRESULT IAudioClient3_GetMixFormat(IAudioClient3* This,WAVEFORMATEX **ppDeviceFormat) { |
| 824 |
return This->lpVtbl->GetMixFormat(This,ppDeviceFormat); |
| 825 |
} |
| 826 |
static FORCEINLINE HRESULT IAudioClient3_GetDevicePeriod(IAudioClient3* This,REFERENCE_TIME *phnsDefaultDevicePeriod,REFERENCE_TIME *phnsMinimumDevicePeriod) { |
| 827 |
return This->lpVtbl->GetDevicePeriod(This,phnsDefaultDevicePeriod,phnsMinimumDevicePeriod); |
| 828 |
} |
| 829 |
static FORCEINLINE HRESULT IAudioClient3_Start(IAudioClient3* This) { |
| 830 |
return This->lpVtbl->Start(This); |
| 831 |
} |
| 832 |
static FORCEINLINE HRESULT IAudioClient3_Stop(IAudioClient3* This) { |
| 833 |
return This->lpVtbl->Stop(This); |
| 834 |
} |
| 835 |
static FORCEINLINE HRESULT IAudioClient3_Reset(IAudioClient3* This) { |
| 836 |
return This->lpVtbl->Reset(This); |
| 837 |
} |
| 838 |
static FORCEINLINE HRESULT IAudioClient3_SetEventHandle(IAudioClient3* This,HANDLE eventHandle) { |
| 839 |
return This->lpVtbl->SetEventHandle(This,eventHandle); |
| 840 |
} |
| 841 |
static FORCEINLINE HRESULT IAudioClient3_GetService(IAudioClient3* This,REFIID riid,void **ppv) { |
| 842 |
return This->lpVtbl->GetService(This,riid,ppv); |
| 843 |
} |
| 844 |
/*** IAudioClient2 methods ***/ |
| 845 |
static FORCEINLINE HRESULT IAudioClient3_IsOffloadCapable(IAudioClient3* This,AUDIO_STREAM_CATEGORY Category,WINBOOL *pbOffloadCapable) { |
| 846 |
return This->lpVtbl->IsOffloadCapable(This,Category,pbOffloadCapable); |
| 847 |
} |
| 848 |
static FORCEINLINE HRESULT IAudioClient3_SetClientProperties(IAudioClient3* This,const AudioClientProperties *pProperties) { |
| 849 |
return This->lpVtbl->SetClientProperties(This,pProperties); |
| 850 |
} |
| 851 |
static FORCEINLINE HRESULT IAudioClient3_GetBufferSizeLimits(IAudioClient3* This,const WAVEFORMATEX *pFormat,WINBOOL bEventDriven,REFERENCE_TIME *phnsMinBufferDuration,REFERENCE_TIME *phnsMaxBufferDuration) { |
| 852 |
return This->lpVtbl->GetBufferSizeLimits(This,pFormat,bEventDriven,phnsMinBufferDuration,phnsMaxBufferDuration); |
| 853 |
} |
| 854 |
/*** IAudioClient3 methods ***/ |
| 855 |
static FORCEINLINE HRESULT IAudioClient3_GetSharedModeEnginePeriod(IAudioClient3* This,const WAVEFORMATEX *pFormat,UINT32 *pDefaultPeriodInFrames,UINT32 *pFundamentalPeriodInFrames,UINT32 *pMinPeriodInFrames,UINT32 *pMaxPeriodInFrames) { |
| 856 |
return This->lpVtbl->GetSharedModeEnginePeriod(This,pFormat,pDefaultPeriodInFrames,pFundamentalPeriodInFrames,pMinPeriodInFrames,pMaxPeriodInFrames); |
| 857 |
} |
| 858 |
static FORCEINLINE HRESULT IAudioClient3_GetCurrentSharedModeEnginePeriod(IAudioClient3* This,WAVEFORMATEX **ppFormat,UINT32 *pCurrentPeriodInFrames) { |
| 859 |
return This->lpVtbl->GetCurrentSharedModeEnginePeriod(This,ppFormat,pCurrentPeriodInFrames); |
| 860 |
} |
| 861 |
static FORCEINLINE HRESULT IAudioClient3_InitializeSharedAudioStream(IAudioClient3* This,DWORD StreamFlags,UINT32 PeriodInFrames,const WAVEFORMATEX *pFormat,LPCGUID AudioSessionGuid) { |
| 862 |
return This->lpVtbl->InitializeSharedAudioStream(This,StreamFlags,PeriodInFrames,pFormat,AudioSessionGuid); |
| 863 |
} |
| 864 |
#endif |
| 865 |
#endif |
| 866 |
|
| 867 |
#endif |
| 868 |
|
| 869 |
|
| 870 |
#endif /* __IAudioClient3_INTERFACE_DEFINED__ */ |
| 871 |
|
| 872 |
|
| 873 |
/***************************************************************************** |
| 874 |
* IAudioRenderClient interface |
| 875 |
*/ |
| 876 |
#ifndef __IAudioRenderClient_INTERFACE_DEFINED__ |
| 877 |
#define __IAudioRenderClient_INTERFACE_DEFINED__ |
| 878 |
|
| 879 |
DEFINE_GUID(IID_IAudioRenderClient, 0xf294acfc, 0x3146, 0x4483, 0xa7,0xbf, 0xad,0xdc,0xa7,0xc2,0x60,0xe2); |
| 880 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 881 |
MIDL_INTERFACE("f294acfc-3146-4483-a7bf-addca7c260e2") |
| 882 |
IAudioRenderClient : public IUnknown |
| 883 |
{ |
| 884 |
virtual HRESULT STDMETHODCALLTYPE GetBuffer( |
| 885 |
UINT32 NumFramesRequested, |
| 886 |
BYTE **ppData) = 0; |
| 887 |
|
| 888 |
virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( |
| 889 |
UINT32 NumFramesWritten, |
| 890 |
DWORD dwFlags) = 0; |
| 891 |
|
| 892 |
}; |
| 893 |
#ifdef __CRT_UUID_DECL |
| 894 |
__CRT_UUID_DECL(IAudioRenderClient, 0xf294acfc, 0x3146, 0x4483, 0xa7,0xbf, 0xad,0xdc,0xa7,0xc2,0x60,0xe2) |
| 895 |
#endif |
| 896 |
#else |
| 897 |
typedef struct IAudioRenderClientVtbl { |
| 898 |
BEGIN_INTERFACE |
| 899 |
|
| 900 |
/*** IUnknown methods ***/ |
| 901 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 902 |
IAudioRenderClient *This, |
| 903 |
REFIID riid, |
| 904 |
void **ppvObject); |
| 905 |
|
| 906 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 907 |
IAudioRenderClient *This); |
| 908 |
|
| 909 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 910 |
IAudioRenderClient *This); |
| 911 |
|
| 912 |
/*** IAudioRenderClient methods ***/ |
| 913 |
HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| 914 |
IAudioRenderClient *This, |
| 915 |
UINT32 NumFramesRequested, |
| 916 |
BYTE **ppData); |
| 917 |
|
| 918 |
HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( |
| 919 |
IAudioRenderClient *This, |
| 920 |
UINT32 NumFramesWritten, |
| 921 |
DWORD dwFlags); |
| 922 |
|
| 923 |
END_INTERFACE |
| 924 |
} IAudioRenderClientVtbl; |
| 925 |
|
| 926 |
interface IAudioRenderClient { |
| 927 |
CONST_VTBL IAudioRenderClientVtbl* lpVtbl; |
| 928 |
}; |
| 929 |
|
| 930 |
#ifdef COBJMACROS |
| 931 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 932 |
/*** IUnknown methods ***/ |
| 933 |
#define IAudioRenderClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 934 |
#define IAudioRenderClient_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 935 |
#define IAudioRenderClient_Release(This) (This)->lpVtbl->Release(This) |
| 936 |
/*** IAudioRenderClient methods ***/ |
| 937 |
#define IAudioRenderClient_GetBuffer(This,NumFramesRequested,ppData) (This)->lpVtbl->GetBuffer(This,NumFramesRequested,ppData) |
| 938 |
#define IAudioRenderClient_ReleaseBuffer(This,NumFramesWritten,dwFlags) (This)->lpVtbl->ReleaseBuffer(This,NumFramesWritten,dwFlags) |
| 939 |
#else |
| 940 |
/*** IUnknown methods ***/ |
| 941 |
static FORCEINLINE HRESULT IAudioRenderClient_QueryInterface(IAudioRenderClient* This,REFIID riid,void **ppvObject) { |
| 942 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 943 |
} |
| 944 |
static FORCEINLINE ULONG IAudioRenderClient_AddRef(IAudioRenderClient* This) { |
| 945 |
return This->lpVtbl->AddRef(This); |
| 946 |
} |
| 947 |
static FORCEINLINE ULONG IAudioRenderClient_Release(IAudioRenderClient* This) { |
| 948 |
return This->lpVtbl->Release(This); |
| 949 |
} |
| 950 |
/*** IAudioRenderClient methods ***/ |
| 951 |
static FORCEINLINE HRESULT IAudioRenderClient_GetBuffer(IAudioRenderClient* This,UINT32 NumFramesRequested,BYTE **ppData) { |
| 952 |
return This->lpVtbl->GetBuffer(This,NumFramesRequested,ppData); |
| 953 |
} |
| 954 |
static FORCEINLINE HRESULT IAudioRenderClient_ReleaseBuffer(IAudioRenderClient* This,UINT32 NumFramesWritten,DWORD dwFlags) { |
| 955 |
return This->lpVtbl->ReleaseBuffer(This,NumFramesWritten,dwFlags); |
| 956 |
} |
| 957 |
#endif |
| 958 |
#endif |
| 959 |
|
| 960 |
#endif |
| 961 |
|
| 962 |
|
| 963 |
#endif /* __IAudioRenderClient_INTERFACE_DEFINED__ */ |
| 964 |
|
| 965 |
|
| 966 |
/***************************************************************************** |
| 967 |
* IAudioCaptureClient interface |
| 968 |
*/ |
| 969 |
#ifndef __IAudioCaptureClient_INTERFACE_DEFINED__ |
| 970 |
#define __IAudioCaptureClient_INTERFACE_DEFINED__ |
| 971 |
|
| 972 |
DEFINE_GUID(IID_IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4,0xde, 0x18,0x5c,0x39,0x5c,0xd3,0x17); |
| 973 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 974 |
MIDL_INTERFACE("c8adbd64-e71e-48a0-a4de-185c395cd317") |
| 975 |
IAudioCaptureClient : public IUnknown |
| 976 |
{ |
| 977 |
virtual HRESULT STDMETHODCALLTYPE GetBuffer( |
| 978 |
BYTE **ppData, |
| 979 |
UINT32 *pNumFramesToRead, |
| 980 |
DWORD *pdwFlags, |
| 981 |
UINT64 *pu64DevicePosition, |
| 982 |
UINT64 *pu64QPCPosition) = 0; |
| 983 |
|
| 984 |
virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( |
| 985 |
UINT32 NumFramesRead) = 0; |
| 986 |
|
| 987 |
virtual HRESULT STDMETHODCALLTYPE GetNextPacketSize( |
| 988 |
UINT32 *pNumFramesInNextPacket) = 0; |
| 989 |
|
| 990 |
}; |
| 991 |
#ifdef __CRT_UUID_DECL |
| 992 |
__CRT_UUID_DECL(IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4,0xde, 0x18,0x5c,0x39,0x5c,0xd3,0x17) |
| 993 |
#endif |
| 994 |
#else |
| 995 |
typedef struct IAudioCaptureClientVtbl { |
| 996 |
BEGIN_INTERFACE |
| 997 |
|
| 998 |
/*** IUnknown methods ***/ |
| 999 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1000 |
IAudioCaptureClient *This, |
| 1001 |
REFIID riid, |
| 1002 |
void **ppvObject); |
| 1003 |
|
| 1004 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1005 |
IAudioCaptureClient *This); |
| 1006 |
|
| 1007 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1008 |
IAudioCaptureClient *This); |
| 1009 |
|
| 1010 |
/*** IAudioCaptureClient methods ***/ |
| 1011 |
HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| 1012 |
IAudioCaptureClient *This, |
| 1013 |
BYTE **ppData, |
| 1014 |
UINT32 *pNumFramesToRead, |
| 1015 |
DWORD *pdwFlags, |
| 1016 |
UINT64 *pu64DevicePosition, |
| 1017 |
UINT64 *pu64QPCPosition); |
| 1018 |
|
| 1019 |
HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( |
| 1020 |
IAudioCaptureClient *This, |
| 1021 |
UINT32 NumFramesRead); |
| 1022 |
|
| 1023 |
HRESULT (STDMETHODCALLTYPE *GetNextPacketSize)( |
| 1024 |
IAudioCaptureClient *This, |
| 1025 |
UINT32 *pNumFramesInNextPacket); |
| 1026 |
|
| 1027 |
END_INTERFACE |
| 1028 |
} IAudioCaptureClientVtbl; |
| 1029 |
|
| 1030 |
interface IAudioCaptureClient { |
| 1031 |
CONST_VTBL IAudioCaptureClientVtbl* lpVtbl; |
| 1032 |
}; |
| 1033 |
|
| 1034 |
#ifdef COBJMACROS |
| 1035 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1036 |
/*** IUnknown methods ***/ |
| 1037 |
#define IAudioCaptureClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1038 |
#define IAudioCaptureClient_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1039 |
#define IAudioCaptureClient_Release(This) (This)->lpVtbl->Release(This) |
| 1040 |
/*** IAudioCaptureClient methods ***/ |
| 1041 |
#define IAudioCaptureClient_GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) (This)->lpVtbl->GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition) |
| 1042 |
#define IAudioCaptureClient_ReleaseBuffer(This,NumFramesRead) (This)->lpVtbl->ReleaseBuffer(This,NumFramesRead) |
| 1043 |
#define IAudioCaptureClient_GetNextPacketSize(This,pNumFramesInNextPacket) (This)->lpVtbl->GetNextPacketSize(This,pNumFramesInNextPacket) |
| 1044 |
#else |
| 1045 |
/*** IUnknown methods ***/ |
| 1046 |
static FORCEINLINE HRESULT IAudioCaptureClient_QueryInterface(IAudioCaptureClient* This,REFIID riid,void **ppvObject) { |
| 1047 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1048 |
} |
| 1049 |
static FORCEINLINE ULONG IAudioCaptureClient_AddRef(IAudioCaptureClient* This) { |
| 1050 |
return This->lpVtbl->AddRef(This); |
| 1051 |
} |
| 1052 |
static FORCEINLINE ULONG IAudioCaptureClient_Release(IAudioCaptureClient* This) { |
| 1053 |
return This->lpVtbl->Release(This); |
| 1054 |
} |
| 1055 |
/*** IAudioCaptureClient methods ***/ |
| 1056 |
static FORCEINLINE HRESULT IAudioCaptureClient_GetBuffer(IAudioCaptureClient* This,BYTE **ppData,UINT32 *pNumFramesToRead,DWORD *pdwFlags,UINT64 *pu64DevicePosition,UINT64 *pu64QPCPosition) { |
| 1057 |
return This->lpVtbl->GetBuffer(This,ppData,pNumFramesToRead,pdwFlags,pu64DevicePosition,pu64QPCPosition); |
| 1058 |
} |
| 1059 |
static FORCEINLINE HRESULT IAudioCaptureClient_ReleaseBuffer(IAudioCaptureClient* This,UINT32 NumFramesRead) { |
| 1060 |
return This->lpVtbl->ReleaseBuffer(This,NumFramesRead); |
| 1061 |
} |
| 1062 |
static FORCEINLINE HRESULT IAudioCaptureClient_GetNextPacketSize(IAudioCaptureClient* This,UINT32 *pNumFramesInNextPacket) { |
| 1063 |
return This->lpVtbl->GetNextPacketSize(This,pNumFramesInNextPacket); |
| 1064 |
} |
| 1065 |
#endif |
| 1066 |
#endif |
| 1067 |
|
| 1068 |
#endif |
| 1069 |
|
| 1070 |
|
| 1071 |
#endif /* __IAudioCaptureClient_INTERFACE_DEFINED__ */ |
| 1072 |
|
| 1073 |
|
| 1074 |
#define AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ 0x1 |
| 1075 |
|
| 1076 |
/***************************************************************************** |
| 1077 |
* IAudioClock interface |
| 1078 |
*/ |
| 1079 |
#ifndef __IAudioClock_INTERFACE_DEFINED__ |
| 1080 |
#define __IAudioClock_INTERFACE_DEFINED__ |
| 1081 |
|
| 1082 |
DEFINE_GUID(IID_IAudioClock, 0xcd63314f, 0x3fba, 0x4a1b, 0x81,0x2c, 0xef,0x96,0x35,0x87,0x28,0xe7); |
| 1083 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1084 |
MIDL_INTERFACE("cd63314f-3fba-4a1b-812c-ef96358728e7") |
| 1085 |
IAudioClock : public IUnknown |
| 1086 |
{ |
| 1087 |
virtual HRESULT STDMETHODCALLTYPE GetFrequency( |
| 1088 |
UINT64 *pu64Frequency) = 0; |
| 1089 |
|
| 1090 |
virtual HRESULT STDMETHODCALLTYPE GetPosition( |
| 1091 |
UINT64 *pu64Position, |
| 1092 |
UINT64 *pu64QPCPosition) = 0; |
| 1093 |
|
| 1094 |
virtual HRESULT STDMETHODCALLTYPE GetCharacteristics( |
| 1095 |
DWORD *pdwCharacteristics) = 0; |
| 1096 |
|
| 1097 |
}; |
| 1098 |
#ifdef __CRT_UUID_DECL |
| 1099 |
__CRT_UUID_DECL(IAudioClock, 0xcd63314f, 0x3fba, 0x4a1b, 0x81,0x2c, 0xef,0x96,0x35,0x87,0x28,0xe7) |
| 1100 |
#endif |
| 1101 |
#else |
| 1102 |
typedef struct IAudioClockVtbl { |
| 1103 |
BEGIN_INTERFACE |
| 1104 |
|
| 1105 |
/*** IUnknown methods ***/ |
| 1106 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1107 |
IAudioClock *This, |
| 1108 |
REFIID riid, |
| 1109 |
void **ppvObject); |
| 1110 |
|
| 1111 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1112 |
IAudioClock *This); |
| 1113 |
|
| 1114 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1115 |
IAudioClock *This); |
| 1116 |
|
| 1117 |
/*** IAudioClock methods ***/ |
| 1118 |
HRESULT (STDMETHODCALLTYPE *GetFrequency)( |
| 1119 |
IAudioClock *This, |
| 1120 |
UINT64 *pu64Frequency); |
| 1121 |
|
| 1122 |
HRESULT (STDMETHODCALLTYPE *GetPosition)( |
| 1123 |
IAudioClock *This, |
| 1124 |
UINT64 *pu64Position, |
| 1125 |
UINT64 *pu64QPCPosition); |
| 1126 |
|
| 1127 |
HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( |
| 1128 |
IAudioClock *This, |
| 1129 |
DWORD *pdwCharacteristics); |
| 1130 |
|
| 1131 |
END_INTERFACE |
| 1132 |
} IAudioClockVtbl; |
| 1133 |
|
| 1134 |
interface IAudioClock { |
| 1135 |
CONST_VTBL IAudioClockVtbl* lpVtbl; |
| 1136 |
}; |
| 1137 |
|
| 1138 |
#ifdef COBJMACROS |
| 1139 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1140 |
/*** IUnknown methods ***/ |
| 1141 |
#define IAudioClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1142 |
#define IAudioClock_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1143 |
#define IAudioClock_Release(This) (This)->lpVtbl->Release(This) |
| 1144 |
/*** IAudioClock methods ***/ |
| 1145 |
#define IAudioClock_GetFrequency(This,pu64Frequency) (This)->lpVtbl->GetFrequency(This,pu64Frequency) |
| 1146 |
#define IAudioClock_GetPosition(This,pu64Position,pu64QPCPosition) (This)->lpVtbl->GetPosition(This,pu64Position,pu64QPCPosition) |
| 1147 |
#define IAudioClock_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) |
| 1148 |
#else |
| 1149 |
/*** IUnknown methods ***/ |
| 1150 |
static FORCEINLINE HRESULT IAudioClock_QueryInterface(IAudioClock* This,REFIID riid,void **ppvObject) { |
| 1151 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1152 |
} |
| 1153 |
static FORCEINLINE ULONG IAudioClock_AddRef(IAudioClock* This) { |
| 1154 |
return This->lpVtbl->AddRef(This); |
| 1155 |
} |
| 1156 |
static FORCEINLINE ULONG IAudioClock_Release(IAudioClock* This) { |
| 1157 |
return This->lpVtbl->Release(This); |
| 1158 |
} |
| 1159 |
/*** IAudioClock methods ***/ |
| 1160 |
static FORCEINLINE HRESULT IAudioClock_GetFrequency(IAudioClock* This,UINT64 *pu64Frequency) { |
| 1161 |
return This->lpVtbl->GetFrequency(This,pu64Frequency); |
| 1162 |
} |
| 1163 |
static FORCEINLINE HRESULT IAudioClock_GetPosition(IAudioClock* This,UINT64 *pu64Position,UINT64 *pu64QPCPosition) { |
| 1164 |
return This->lpVtbl->GetPosition(This,pu64Position,pu64QPCPosition); |
| 1165 |
} |
| 1166 |
static FORCEINLINE HRESULT IAudioClock_GetCharacteristics(IAudioClock* This,DWORD *pdwCharacteristics) { |
| 1167 |
return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); |
| 1168 |
} |
| 1169 |
#endif |
| 1170 |
#endif |
| 1171 |
|
| 1172 |
#endif |
| 1173 |
|
| 1174 |
|
| 1175 |
#endif /* __IAudioClock_INTERFACE_DEFINED__ */ |
| 1176 |
|
| 1177 |
#endif |
| 1178 |
|
| 1179 |
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| 1180 |
/***************************************************************************** |
| 1181 |
* IAudioClock2 interface |
| 1182 |
*/ |
| 1183 |
#ifndef __IAudioClock2_INTERFACE_DEFINED__ |
| 1184 |
#define __IAudioClock2_INTERFACE_DEFINED__ |
| 1185 |
|
| 1186 |
DEFINE_GUID(IID_IAudioClock2, 0x6f49ff73, 0x6727, 0x49ac, 0xa0,0x08, 0xd9,0x8c,0xf5,0xe7,0x00,0x48); |
| 1187 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1188 |
MIDL_INTERFACE("6f49ff73-6727-49ac-a008-d98cf5e70048") |
| 1189 |
IAudioClock2 : public IUnknown |
| 1190 |
{ |
| 1191 |
virtual HRESULT STDMETHODCALLTYPE GetDevicePosition( |
| 1192 |
UINT64 *DevicePosition, |
| 1193 |
UINT64 *QPCPosition) = 0; |
| 1194 |
|
| 1195 |
}; |
| 1196 |
#ifdef __CRT_UUID_DECL |
| 1197 |
__CRT_UUID_DECL(IAudioClock2, 0x6f49ff73, 0x6727, 0x49ac, 0xa0,0x08, 0xd9,0x8c,0xf5,0xe7,0x00,0x48) |
| 1198 |
#endif |
| 1199 |
#else |
| 1200 |
typedef struct IAudioClock2Vtbl { |
| 1201 |
BEGIN_INTERFACE |
| 1202 |
|
| 1203 |
/*** IUnknown methods ***/ |
| 1204 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1205 |
IAudioClock2 *This, |
| 1206 |
REFIID riid, |
| 1207 |
void **ppvObject); |
| 1208 |
|
| 1209 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1210 |
IAudioClock2 *This); |
| 1211 |
|
| 1212 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1213 |
IAudioClock2 *This); |
| 1214 |
|
| 1215 |
/*** IAudioClock2 methods ***/ |
| 1216 |
HRESULT (STDMETHODCALLTYPE *GetDevicePosition)( |
| 1217 |
IAudioClock2 *This, |
| 1218 |
UINT64 *DevicePosition, |
| 1219 |
UINT64 *QPCPosition); |
| 1220 |
|
| 1221 |
END_INTERFACE |
| 1222 |
} IAudioClock2Vtbl; |
| 1223 |
|
| 1224 |
interface IAudioClock2 { |
| 1225 |
CONST_VTBL IAudioClock2Vtbl* lpVtbl; |
| 1226 |
}; |
| 1227 |
|
| 1228 |
#ifdef COBJMACROS |
| 1229 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1230 |
/*** IUnknown methods ***/ |
| 1231 |
#define IAudioClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1232 |
#define IAudioClock2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1233 |
#define IAudioClock2_Release(This) (This)->lpVtbl->Release(This) |
| 1234 |
/*** IAudioClock2 methods ***/ |
| 1235 |
#define IAudioClock2_GetDevicePosition(This,DevicePosition,QPCPosition) (This)->lpVtbl->GetDevicePosition(This,DevicePosition,QPCPosition) |
| 1236 |
#else |
| 1237 |
/*** IUnknown methods ***/ |
| 1238 |
static FORCEINLINE HRESULT IAudioClock2_QueryInterface(IAudioClock2* This,REFIID riid,void **ppvObject) { |
| 1239 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1240 |
} |
| 1241 |
static FORCEINLINE ULONG IAudioClock2_AddRef(IAudioClock2* This) { |
| 1242 |
return This->lpVtbl->AddRef(This); |
| 1243 |
} |
| 1244 |
static FORCEINLINE ULONG IAudioClock2_Release(IAudioClock2* This) { |
| 1245 |
return This->lpVtbl->Release(This); |
| 1246 |
} |
| 1247 |
/*** IAudioClock2 methods ***/ |
| 1248 |
static FORCEINLINE HRESULT IAudioClock2_GetDevicePosition(IAudioClock2* This,UINT64 *DevicePosition,UINT64 *QPCPosition) { |
| 1249 |
return This->lpVtbl->GetDevicePosition(This,DevicePosition,QPCPosition); |
| 1250 |
} |
| 1251 |
#endif |
| 1252 |
#endif |
| 1253 |
|
| 1254 |
#endif |
| 1255 |
|
| 1256 |
|
| 1257 |
#endif /* __IAudioClock2_INTERFACE_DEFINED__ */ |
| 1258 |
|
| 1259 |
|
| 1260 |
/***************************************************************************** |
| 1261 |
* IAudioClockAdjustment interface |
| 1262 |
*/ |
| 1263 |
#ifndef __IAudioClockAdjustment_INTERFACE_DEFINED__ |
| 1264 |
#define __IAudioClockAdjustment_INTERFACE_DEFINED__ |
| 1265 |
|
| 1266 |
DEFINE_GUID(IID_IAudioClockAdjustment, 0xf6e4c0a0, 0x46d9, 0x4fb8, 0xbe,0x21, 0x57,0xa3,0xef,0x2b,0x62,0x6c); |
| 1267 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1268 |
MIDL_INTERFACE("f6e4c0a0-46d9-4fb8-be21-57a3ef2b626c") |
| 1269 |
IAudioClockAdjustment : public IUnknown |
| 1270 |
{ |
| 1271 |
virtual HRESULT STDMETHODCALLTYPE SetSampleRate( |
| 1272 |
float flSampleRate) = 0; |
| 1273 |
|
| 1274 |
}; |
| 1275 |
#ifdef __CRT_UUID_DECL |
| 1276 |
__CRT_UUID_DECL(IAudioClockAdjustment, 0xf6e4c0a0, 0x46d9, 0x4fb8, 0xbe,0x21, 0x57,0xa3,0xef,0x2b,0x62,0x6c) |
| 1277 |
#endif |
| 1278 |
#else |
| 1279 |
typedef struct IAudioClockAdjustmentVtbl { |
| 1280 |
BEGIN_INTERFACE |
| 1281 |
|
| 1282 |
/*** IUnknown methods ***/ |
| 1283 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1284 |
IAudioClockAdjustment *This, |
| 1285 |
REFIID riid, |
| 1286 |
void **ppvObject); |
| 1287 |
|
| 1288 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1289 |
IAudioClockAdjustment *This); |
| 1290 |
|
| 1291 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1292 |
IAudioClockAdjustment *This); |
| 1293 |
|
| 1294 |
/*** IAudioClockAdjustment methods ***/ |
| 1295 |
HRESULT (STDMETHODCALLTYPE *SetSampleRate)( |
| 1296 |
IAudioClockAdjustment *This, |
| 1297 |
float flSampleRate); |
| 1298 |
|
| 1299 |
END_INTERFACE |
| 1300 |
} IAudioClockAdjustmentVtbl; |
| 1301 |
|
| 1302 |
interface IAudioClockAdjustment { |
| 1303 |
CONST_VTBL IAudioClockAdjustmentVtbl* lpVtbl; |
| 1304 |
}; |
| 1305 |
|
| 1306 |
#ifdef COBJMACROS |
| 1307 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1308 |
/*** IUnknown methods ***/ |
| 1309 |
#define IAudioClockAdjustment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1310 |
#define IAudioClockAdjustment_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1311 |
#define IAudioClockAdjustment_Release(This) (This)->lpVtbl->Release(This) |
| 1312 |
/*** IAudioClockAdjustment methods ***/ |
| 1313 |
#define IAudioClockAdjustment_SetSampleRate(This,flSampleRate) (This)->lpVtbl->SetSampleRate(This,flSampleRate) |
| 1314 |
#else |
| 1315 |
/*** IUnknown methods ***/ |
| 1316 |
static FORCEINLINE HRESULT IAudioClockAdjustment_QueryInterface(IAudioClockAdjustment* This,REFIID riid,void **ppvObject) { |
| 1317 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1318 |
} |
| 1319 |
static FORCEINLINE ULONG IAudioClockAdjustment_AddRef(IAudioClockAdjustment* This) { |
| 1320 |
return This->lpVtbl->AddRef(This); |
| 1321 |
} |
| 1322 |
static FORCEINLINE ULONG IAudioClockAdjustment_Release(IAudioClockAdjustment* This) { |
| 1323 |
return This->lpVtbl->Release(This); |
| 1324 |
} |
| 1325 |
/*** IAudioClockAdjustment methods ***/ |
| 1326 |
static FORCEINLINE HRESULT IAudioClockAdjustment_SetSampleRate(IAudioClockAdjustment* This,float flSampleRate) { |
| 1327 |
return This->lpVtbl->SetSampleRate(This,flSampleRate); |
| 1328 |
} |
| 1329 |
#endif |
| 1330 |
#endif |
| 1331 |
|
| 1332 |
#endif |
| 1333 |
|
| 1334 |
|
| 1335 |
#endif /* __IAudioClockAdjustment_INTERFACE_DEFINED__ */ |
| 1336 |
|
| 1337 |
#endif |
| 1338 |
|
| 1339 |
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) |
| 1340 |
/***************************************************************************** |
| 1341 |
* ISimpleAudioVolume interface |
| 1342 |
*/ |
| 1343 |
#ifndef __ISimpleAudioVolume_INTERFACE_DEFINED__ |
| 1344 |
#define __ISimpleAudioVolume_INTERFACE_DEFINED__ |
| 1345 |
|
| 1346 |
DEFINE_GUID(IID_ISimpleAudioVolume, 0x87ce5498, 0x68d6, 0x44e5, 0x92,0x15, 0x6d,0xa4,0x7e,0xf8,0x83,0xd8); |
| 1347 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1348 |
MIDL_INTERFACE("87ce5498-68d6-44e5-9215-6da47ef883d8") |
| 1349 |
ISimpleAudioVolume : public IUnknown |
| 1350 |
{ |
| 1351 |
virtual HRESULT STDMETHODCALLTYPE SetMasterVolume( |
| 1352 |
float fLevel, |
| 1353 |
LPCGUID EventContext) = 0; |
| 1354 |
|
| 1355 |
virtual HRESULT STDMETHODCALLTYPE GetMasterVolume( |
| 1356 |
float *pfLevel) = 0; |
| 1357 |
|
| 1358 |
virtual HRESULT STDMETHODCALLTYPE SetMute( |
| 1359 |
const WINBOOL bMute, |
| 1360 |
LPCGUID EventContext) = 0; |
| 1361 |
|
| 1362 |
virtual HRESULT STDMETHODCALLTYPE GetMute( |
| 1363 |
WINBOOL *pbMute) = 0; |
| 1364 |
|
| 1365 |
}; |
| 1366 |
#ifdef __CRT_UUID_DECL |
| 1367 |
__CRT_UUID_DECL(ISimpleAudioVolume, 0x87ce5498, 0x68d6, 0x44e5, 0x92,0x15, 0x6d,0xa4,0x7e,0xf8,0x83,0xd8) |
| 1368 |
#endif |
| 1369 |
#else |
| 1370 |
typedef struct ISimpleAudioVolumeVtbl { |
| 1371 |
BEGIN_INTERFACE |
| 1372 |
|
| 1373 |
/*** IUnknown methods ***/ |
| 1374 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1375 |
ISimpleAudioVolume *This, |
| 1376 |
REFIID riid, |
| 1377 |
void **ppvObject); |
| 1378 |
|
| 1379 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1380 |
ISimpleAudioVolume *This); |
| 1381 |
|
| 1382 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1383 |
ISimpleAudioVolume *This); |
| 1384 |
|
| 1385 |
/*** ISimpleAudioVolume methods ***/ |
| 1386 |
HRESULT (STDMETHODCALLTYPE *SetMasterVolume)( |
| 1387 |
ISimpleAudioVolume *This, |
| 1388 |
float fLevel, |
| 1389 |
LPCGUID EventContext); |
| 1390 |
|
| 1391 |
HRESULT (STDMETHODCALLTYPE *GetMasterVolume)( |
| 1392 |
ISimpleAudioVolume *This, |
| 1393 |
float *pfLevel); |
| 1394 |
|
| 1395 |
HRESULT (STDMETHODCALLTYPE *SetMute)( |
| 1396 |
ISimpleAudioVolume *This, |
| 1397 |
const WINBOOL bMute, |
| 1398 |
LPCGUID EventContext); |
| 1399 |
|
| 1400 |
HRESULT (STDMETHODCALLTYPE *GetMute)( |
| 1401 |
ISimpleAudioVolume *This, |
| 1402 |
WINBOOL *pbMute); |
| 1403 |
|
| 1404 |
END_INTERFACE |
| 1405 |
} ISimpleAudioVolumeVtbl; |
| 1406 |
|
| 1407 |
interface ISimpleAudioVolume { |
| 1408 |
CONST_VTBL ISimpleAudioVolumeVtbl* lpVtbl; |
| 1409 |
}; |
| 1410 |
|
| 1411 |
#ifdef COBJMACROS |
| 1412 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1413 |
/*** IUnknown methods ***/ |
| 1414 |
#define ISimpleAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1415 |
#define ISimpleAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1416 |
#define ISimpleAudioVolume_Release(This) (This)->lpVtbl->Release(This) |
| 1417 |
/*** ISimpleAudioVolume methods ***/ |
| 1418 |
#define ISimpleAudioVolume_SetMasterVolume(This,fLevel,EventContext) (This)->lpVtbl->SetMasterVolume(This,fLevel,EventContext) |
| 1419 |
#define ISimpleAudioVolume_GetMasterVolume(This,pfLevel) (This)->lpVtbl->GetMasterVolume(This,pfLevel) |
| 1420 |
#define ISimpleAudioVolume_SetMute(This,bMute,EventContext) (This)->lpVtbl->SetMute(This,bMute,EventContext) |
| 1421 |
#define ISimpleAudioVolume_GetMute(This,pbMute) (This)->lpVtbl->GetMute(This,pbMute) |
| 1422 |
#else |
| 1423 |
/*** IUnknown methods ***/ |
| 1424 |
static FORCEINLINE HRESULT ISimpleAudioVolume_QueryInterface(ISimpleAudioVolume* This,REFIID riid,void **ppvObject) { |
| 1425 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1426 |
} |
| 1427 |
static FORCEINLINE ULONG ISimpleAudioVolume_AddRef(ISimpleAudioVolume* This) { |
| 1428 |
return This->lpVtbl->AddRef(This); |
| 1429 |
} |
| 1430 |
static FORCEINLINE ULONG ISimpleAudioVolume_Release(ISimpleAudioVolume* This) { |
| 1431 |
return This->lpVtbl->Release(This); |
| 1432 |
} |
| 1433 |
/*** ISimpleAudioVolume methods ***/ |
| 1434 |
static FORCEINLINE HRESULT ISimpleAudioVolume_SetMasterVolume(ISimpleAudioVolume* This,float fLevel,LPCGUID EventContext) { |
| 1435 |
return This->lpVtbl->SetMasterVolume(This,fLevel,EventContext); |
| 1436 |
} |
| 1437 |
static FORCEINLINE HRESULT ISimpleAudioVolume_GetMasterVolume(ISimpleAudioVolume* This,float *pfLevel) { |
| 1438 |
return This->lpVtbl->GetMasterVolume(This,pfLevel); |
| 1439 |
} |
| 1440 |
static FORCEINLINE HRESULT ISimpleAudioVolume_SetMute(ISimpleAudioVolume* This,const WINBOOL bMute,LPCGUID EventContext) { |
| 1441 |
return This->lpVtbl->SetMute(This,bMute,EventContext); |
| 1442 |
} |
| 1443 |
static FORCEINLINE HRESULT ISimpleAudioVolume_GetMute(ISimpleAudioVolume* This,WINBOOL *pbMute) { |
| 1444 |
return This->lpVtbl->GetMute(This,pbMute); |
| 1445 |
} |
| 1446 |
#endif |
| 1447 |
#endif |
| 1448 |
|
| 1449 |
#endif |
| 1450 |
|
| 1451 |
|
| 1452 |
#endif /* __ISimpleAudioVolume_INTERFACE_DEFINED__ */ |
| 1453 |
|
| 1454 |
#endif |
| 1455 |
|
| 1456 |
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| 1457 |
/***************************************************************************** |
| 1458 |
* IAudioStreamVolume interface |
| 1459 |
*/ |
| 1460 |
#ifndef __IAudioStreamVolume_INTERFACE_DEFINED__ |
| 1461 |
#define __IAudioStreamVolume_INTERFACE_DEFINED__ |
| 1462 |
|
| 1463 |
DEFINE_GUID(IID_IAudioStreamVolume, 0x93014887, 0x242d, 0x4068, 0x8a,0x15, 0xcf,0x5e,0x93,0xb9,0x0f,0xe3); |
| 1464 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1465 |
MIDL_INTERFACE("93014887-242d-4068-8a15-cf5e93b90fe3") |
| 1466 |
IAudioStreamVolume : public IUnknown |
| 1467 |
{ |
| 1468 |
virtual HRESULT STDMETHODCALLTYPE GetChannelCount( |
| 1469 |
UINT32 *pdwCount) = 0; |
| 1470 |
|
| 1471 |
virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( |
| 1472 |
UINT32 dwIndex, |
| 1473 |
const float fLevel) = 0; |
| 1474 |
|
| 1475 |
virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( |
| 1476 |
UINT32 dwIndex, |
| 1477 |
float *pfLevel) = 0; |
| 1478 |
|
| 1479 |
virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( |
| 1480 |
UINT32 dwCount, |
| 1481 |
const float *pfVolumes) = 0; |
| 1482 |
|
| 1483 |
virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( |
| 1484 |
UINT32 dwCount, |
| 1485 |
float *pfVolumes) = 0; |
| 1486 |
|
| 1487 |
}; |
| 1488 |
#ifdef __CRT_UUID_DECL |
| 1489 |
__CRT_UUID_DECL(IAudioStreamVolume, 0x93014887, 0x242d, 0x4068, 0x8a,0x15, 0xcf,0x5e,0x93,0xb9,0x0f,0xe3) |
| 1490 |
#endif |
| 1491 |
#else |
| 1492 |
typedef struct IAudioStreamVolumeVtbl { |
| 1493 |
BEGIN_INTERFACE |
| 1494 |
|
| 1495 |
/*** IUnknown methods ***/ |
| 1496 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1497 |
IAudioStreamVolume *This, |
| 1498 |
REFIID riid, |
| 1499 |
void **ppvObject); |
| 1500 |
|
| 1501 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1502 |
IAudioStreamVolume *This); |
| 1503 |
|
| 1504 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1505 |
IAudioStreamVolume *This); |
| 1506 |
|
| 1507 |
/*** IAudioStreamVolume methods ***/ |
| 1508 |
HRESULT (STDMETHODCALLTYPE *GetChannelCount)( |
| 1509 |
IAudioStreamVolume *This, |
| 1510 |
UINT32 *pdwCount); |
| 1511 |
|
| 1512 |
HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( |
| 1513 |
IAudioStreamVolume *This, |
| 1514 |
UINT32 dwIndex, |
| 1515 |
const float fLevel); |
| 1516 |
|
| 1517 |
HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( |
| 1518 |
IAudioStreamVolume *This, |
| 1519 |
UINT32 dwIndex, |
| 1520 |
float *pfLevel); |
| 1521 |
|
| 1522 |
HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( |
| 1523 |
IAudioStreamVolume *This, |
| 1524 |
UINT32 dwCount, |
| 1525 |
const float *pfVolumes); |
| 1526 |
|
| 1527 |
HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( |
| 1528 |
IAudioStreamVolume *This, |
| 1529 |
UINT32 dwCount, |
| 1530 |
float *pfVolumes); |
| 1531 |
|
| 1532 |
END_INTERFACE |
| 1533 |
} IAudioStreamVolumeVtbl; |
| 1534 |
|
| 1535 |
interface IAudioStreamVolume { |
| 1536 |
CONST_VTBL IAudioStreamVolumeVtbl* lpVtbl; |
| 1537 |
}; |
| 1538 |
|
| 1539 |
#ifdef COBJMACROS |
| 1540 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1541 |
/*** IUnknown methods ***/ |
| 1542 |
#define IAudioStreamVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1543 |
#define IAudioStreamVolume_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1544 |
#define IAudioStreamVolume_Release(This) (This)->lpVtbl->Release(This) |
| 1545 |
/*** IAudioStreamVolume methods ***/ |
| 1546 |
#define IAudioStreamVolume_GetChannelCount(This,pdwCount) (This)->lpVtbl->GetChannelCount(This,pdwCount) |
| 1547 |
#define IAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) (This)->lpVtbl->SetChannelVolume(This,dwIndex,fLevel) |
| 1548 |
#define IAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) (This)->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel) |
| 1549 |
#define IAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes) |
| 1550 |
#define IAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes) |
| 1551 |
#else |
| 1552 |
/*** IUnknown methods ***/ |
| 1553 |
static FORCEINLINE HRESULT IAudioStreamVolume_QueryInterface(IAudioStreamVolume* This,REFIID riid,void **ppvObject) { |
| 1554 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1555 |
} |
| 1556 |
static FORCEINLINE ULONG IAudioStreamVolume_AddRef(IAudioStreamVolume* This) { |
| 1557 |
return This->lpVtbl->AddRef(This); |
| 1558 |
} |
| 1559 |
static FORCEINLINE ULONG IAudioStreamVolume_Release(IAudioStreamVolume* This) { |
| 1560 |
return This->lpVtbl->Release(This); |
| 1561 |
} |
| 1562 |
/*** IAudioStreamVolume methods ***/ |
| 1563 |
static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelCount(IAudioStreamVolume* This,UINT32 *pdwCount) { |
| 1564 |
return This->lpVtbl->GetChannelCount(This,pdwCount); |
| 1565 |
} |
| 1566 |
static FORCEINLINE HRESULT IAudioStreamVolume_SetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,const float fLevel) { |
| 1567 |
return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel); |
| 1568 |
} |
| 1569 |
static FORCEINLINE HRESULT IAudioStreamVolume_GetChannelVolume(IAudioStreamVolume* This,UINT32 dwIndex,float *pfLevel) { |
| 1570 |
return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); |
| 1571 |
} |
| 1572 |
static FORCEINLINE HRESULT IAudioStreamVolume_SetAllVolumes(IAudioStreamVolume* This,UINT32 dwCount,const float *pfVolumes) { |
| 1573 |
return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes); |
| 1574 |
} |
| 1575 |
static FORCEINLINE HRESULT IAudioStreamVolume_GetAllVolumes(IAudioStreamVolume* This,UINT32 dwCount,float *pfVolumes) { |
| 1576 |
return This->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes); |
| 1577 |
} |
| 1578 |
#endif |
| 1579 |
#endif |
| 1580 |
|
| 1581 |
#endif |
| 1582 |
|
| 1583 |
|
| 1584 |
#endif /* __IAudioStreamVolume_INTERFACE_DEFINED__ */ |
| 1585 |
|
| 1586 |
/***************************************************************************** |
| 1587 |
* IAudioAmbisonicsControl interface |
| 1588 |
*/ |
| 1589 |
#ifndef __IAudioAmbisonicsControl_INTERFACE_DEFINED__ |
| 1590 |
#define __IAudioAmbisonicsControl_INTERFACE_DEFINED__ |
| 1591 |
|
| 1592 |
DEFINE_GUID(IID_IAudioAmbisonicsControl, 0x28724c91, 0xdf35, 0x4856, 0x9f,0x76, 0xd6,0xa2,0x64,0x13,0xf3,0xdf); |
| 1593 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1594 |
MIDL_INTERFACE("28724c91-df35-4856-9f76-d6a26413f3df") |
| 1595 |
IAudioAmbisonicsControl : public IUnknown |
| 1596 |
{ |
| 1597 |
virtual HRESULT STDMETHODCALLTYPE SetData( |
| 1598 |
const AMBISONICS_PARAMS *pAmbisonicsParams, |
| 1599 |
UINT32 cbAmbisonicsParams) = 0; |
| 1600 |
|
| 1601 |
virtual HRESULT STDMETHODCALLTYPE SetHeadTracking( |
| 1602 |
WINBOOL bEnableHeadTracking) = 0; |
| 1603 |
|
| 1604 |
virtual HRESULT STDMETHODCALLTYPE GetHeadTracking( |
| 1605 |
WINBOOL *pbEnableHeadTracking) = 0; |
| 1606 |
|
| 1607 |
virtual HRESULT STDMETHODCALLTYPE SetRotation( |
| 1608 |
float X, |
| 1609 |
float Y, |
| 1610 |
float Z, |
| 1611 |
float W) = 0; |
| 1612 |
|
| 1613 |
}; |
| 1614 |
#ifdef __CRT_UUID_DECL |
| 1615 |
__CRT_UUID_DECL(IAudioAmbisonicsControl, 0x28724c91, 0xdf35, 0x4856, 0x9f,0x76, 0xd6,0xa2,0x64,0x13,0xf3,0xdf) |
| 1616 |
#endif |
| 1617 |
#else |
| 1618 |
typedef struct IAudioAmbisonicsControlVtbl { |
| 1619 |
BEGIN_INTERFACE |
| 1620 |
|
| 1621 |
/*** IUnknown methods ***/ |
| 1622 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1623 |
IAudioAmbisonicsControl *This, |
| 1624 |
REFIID riid, |
| 1625 |
void **ppvObject); |
| 1626 |
|
| 1627 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1628 |
IAudioAmbisonicsControl *This); |
| 1629 |
|
| 1630 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1631 |
IAudioAmbisonicsControl *This); |
| 1632 |
|
| 1633 |
/*** IAudioAmbisonicsControl methods ***/ |
| 1634 |
HRESULT (STDMETHODCALLTYPE *SetData)( |
| 1635 |
IAudioAmbisonicsControl *This, |
| 1636 |
const AMBISONICS_PARAMS *pAmbisonicsParams, |
| 1637 |
UINT32 cbAmbisonicsParams); |
| 1638 |
|
| 1639 |
HRESULT (STDMETHODCALLTYPE *SetHeadTracking)( |
| 1640 |
IAudioAmbisonicsControl *This, |
| 1641 |
WINBOOL bEnableHeadTracking); |
| 1642 |
|
| 1643 |
HRESULT (STDMETHODCALLTYPE *GetHeadTracking)( |
| 1644 |
IAudioAmbisonicsControl *This, |
| 1645 |
WINBOOL *pbEnableHeadTracking); |
| 1646 |
|
| 1647 |
HRESULT (STDMETHODCALLTYPE *SetRotation)( |
| 1648 |
IAudioAmbisonicsControl *This, |
| 1649 |
float X, |
| 1650 |
float Y, |
| 1651 |
float Z, |
| 1652 |
float W); |
| 1653 |
|
| 1654 |
END_INTERFACE |
| 1655 |
} IAudioAmbisonicsControlVtbl; |
| 1656 |
|
| 1657 |
interface IAudioAmbisonicsControl { |
| 1658 |
CONST_VTBL IAudioAmbisonicsControlVtbl* lpVtbl; |
| 1659 |
}; |
| 1660 |
|
| 1661 |
#ifdef COBJMACROS |
| 1662 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1663 |
/*** IUnknown methods ***/ |
| 1664 |
#define IAudioAmbisonicsControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1665 |
#define IAudioAmbisonicsControl_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1666 |
#define IAudioAmbisonicsControl_Release(This) (This)->lpVtbl->Release(This) |
| 1667 |
/*** IAudioAmbisonicsControl methods ***/ |
| 1668 |
#define IAudioAmbisonicsControl_SetData(This,pAmbisonicsParams,cbAmbisonicsParams) (This)->lpVtbl->SetData(This,pAmbisonicsParams,cbAmbisonicsParams) |
| 1669 |
#define IAudioAmbisonicsControl_SetHeadTracking(This,bEnableHeadTracking) (This)->lpVtbl->SetHeadTracking(This,bEnableHeadTracking) |
| 1670 |
#define IAudioAmbisonicsControl_GetHeadTracking(This,pbEnableHeadTracking) (This)->lpVtbl->GetHeadTracking(This,pbEnableHeadTracking) |
| 1671 |
#define IAudioAmbisonicsControl_SetRotation(This,X,Y,Z,W) (This)->lpVtbl->SetRotation(This,X,Y,Z,W) |
| 1672 |
#else |
| 1673 |
/*** IUnknown methods ***/ |
| 1674 |
static FORCEINLINE HRESULT IAudioAmbisonicsControl_QueryInterface(IAudioAmbisonicsControl* This,REFIID riid,void **ppvObject) { |
| 1675 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1676 |
} |
| 1677 |
static FORCEINLINE ULONG IAudioAmbisonicsControl_AddRef(IAudioAmbisonicsControl* This) { |
| 1678 |
return This->lpVtbl->AddRef(This); |
| 1679 |
} |
| 1680 |
static FORCEINLINE ULONG IAudioAmbisonicsControl_Release(IAudioAmbisonicsControl* This) { |
| 1681 |
return This->lpVtbl->Release(This); |
| 1682 |
} |
| 1683 |
/*** IAudioAmbisonicsControl methods ***/ |
| 1684 |
static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetData(IAudioAmbisonicsControl* This,const AMBISONICS_PARAMS *pAmbisonicsParams,UINT32 cbAmbisonicsParams) { |
| 1685 |
return This->lpVtbl->SetData(This,pAmbisonicsParams,cbAmbisonicsParams); |
| 1686 |
} |
| 1687 |
static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetHeadTracking(IAudioAmbisonicsControl* This,WINBOOL bEnableHeadTracking) { |
| 1688 |
return This->lpVtbl->SetHeadTracking(This,bEnableHeadTracking); |
| 1689 |
} |
| 1690 |
static FORCEINLINE HRESULT IAudioAmbisonicsControl_GetHeadTracking(IAudioAmbisonicsControl* This,WINBOOL *pbEnableHeadTracking) { |
| 1691 |
return This->lpVtbl->GetHeadTracking(This,pbEnableHeadTracking); |
| 1692 |
} |
| 1693 |
static FORCEINLINE HRESULT IAudioAmbisonicsControl_SetRotation(IAudioAmbisonicsControl* This,float X,float Y,float Z,float W) { |
| 1694 |
return This->lpVtbl->SetRotation(This,X,Y,Z,W); |
| 1695 |
} |
| 1696 |
#endif |
| 1697 |
#endif |
| 1698 |
|
| 1699 |
#endif |
| 1700 |
|
| 1701 |
|
| 1702 |
#endif /* __IAudioAmbisonicsControl_INTERFACE_DEFINED__ */ |
| 1703 |
|
| 1704 |
|
| 1705 |
/***************************************************************************** |
| 1706 |
* IChannelAudioVolume interface |
| 1707 |
*/ |
| 1708 |
#ifndef __IChannelAudioVolume_INTERFACE_DEFINED__ |
| 1709 |
#define __IChannelAudioVolume_INTERFACE_DEFINED__ |
| 1710 |
|
| 1711 |
DEFINE_GUID(IID_IChannelAudioVolume, 0x1c158861, 0xb533, 0x4b30, 0xb1,0xcf, 0xe8,0x53,0xe5,0x1c,0x59,0xb8); |
| 1712 |
#if defined(__cplusplus) && !defined(CINTERFACE) |
| 1713 |
MIDL_INTERFACE("1c158861-b533-4b30-b1cf-e853e51c59b8") |
| 1714 |
IChannelAudioVolume : public IUnknown |
| 1715 |
{ |
| 1716 |
virtual HRESULT STDMETHODCALLTYPE GetChannelCount( |
| 1717 |
UINT32 *pdwCount) = 0; |
| 1718 |
|
| 1719 |
virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( |
| 1720 |
UINT32 dwIndex, |
| 1721 |
const float fLevel, |
| 1722 |
LPCGUID EventContext) = 0; |
| 1723 |
|
| 1724 |
virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( |
| 1725 |
UINT32 dwIndex, |
| 1726 |
float *pfLevel) = 0; |
| 1727 |
|
| 1728 |
virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( |
| 1729 |
UINT32 dwCount, |
| 1730 |
const float *pfVolumes, |
| 1731 |
LPCGUID EventContext) = 0; |
| 1732 |
|
| 1733 |
virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( |
| 1734 |
UINT32 dwCount, |
| 1735 |
float *pfVolumes) = 0; |
| 1736 |
|
| 1737 |
}; |
| 1738 |
#ifdef __CRT_UUID_DECL |
| 1739 |
__CRT_UUID_DECL(IChannelAudioVolume, 0x1c158861, 0xb533, 0x4b30, 0xb1,0xcf, 0xe8,0x53,0xe5,0x1c,0x59,0xb8) |
| 1740 |
#endif |
| 1741 |
#else |
| 1742 |
typedef struct IChannelAudioVolumeVtbl { |
| 1743 |
BEGIN_INTERFACE |
| 1744 |
|
| 1745 |
/*** IUnknown methods ***/ |
| 1746 |
HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| 1747 |
IChannelAudioVolume *This, |
| 1748 |
REFIID riid, |
| 1749 |
void **ppvObject); |
| 1750 |
|
| 1751 |
ULONG (STDMETHODCALLTYPE *AddRef)( |
| 1752 |
IChannelAudioVolume *This); |
| 1753 |
|
| 1754 |
ULONG (STDMETHODCALLTYPE *Release)( |
| 1755 |
IChannelAudioVolume *This); |
| 1756 |
|
| 1757 |
/*** IChannelAudioVolume methods ***/ |
| 1758 |
HRESULT (STDMETHODCALLTYPE *GetChannelCount)( |
| 1759 |
IChannelAudioVolume *This, |
| 1760 |
UINT32 *pdwCount); |
| 1761 |
|
| 1762 |
HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( |
| 1763 |
IChannelAudioVolume *This, |
| 1764 |
UINT32 dwIndex, |
| 1765 |
const float fLevel, |
| 1766 |
LPCGUID EventContext); |
| 1767 |
|
| 1768 |
HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( |
| 1769 |
IChannelAudioVolume *This, |
| 1770 |
UINT32 dwIndex, |
| 1771 |
float *pfLevel); |
| 1772 |
|
| 1773 |
HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( |
| 1774 |
IChannelAudioVolume *This, |
| 1775 |
UINT32 dwCount, |
| 1776 |
const float *pfVolumes, |
| 1777 |
LPCGUID EventContext); |
| 1778 |
|
| 1779 |
HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( |
| 1780 |
IChannelAudioVolume *This, |
| 1781 |
UINT32 dwCount, |
| 1782 |
float *pfVolumes); |
| 1783 |
|
| 1784 |
END_INTERFACE |
| 1785 |
} IChannelAudioVolumeVtbl; |
| 1786 |
|
| 1787 |
interface IChannelAudioVolume { |
| 1788 |
CONST_VTBL IChannelAudioVolumeVtbl* lpVtbl; |
| 1789 |
}; |
| 1790 |
|
| 1791 |
#ifdef COBJMACROS |
| 1792 |
#ifndef WIDL_C_INLINE_WRAPPERS |
| 1793 |
/*** IUnknown methods ***/ |
| 1794 |
#define IChannelAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| 1795 |
#define IChannelAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This) |
| 1796 |
#define IChannelAudioVolume_Release(This) (This)->lpVtbl->Release(This) |
| 1797 |
/*** IChannelAudioVolume methods ***/ |
| 1798 |
#define IChannelAudioVolume_GetChannelCount(This,pdwCount) (This)->lpVtbl->GetChannelCount(This,pdwCount) |
| 1799 |
#define IChannelAudioVolume_SetChannelVolume(This,dwIndex,fLevel,EventContext) (This)->lpVtbl->SetChannelVolume(This,dwIndex,fLevel,EventContext) |
| 1800 |
#define IChannelAudioVolume_GetChannelVolume(This,dwIndex,pfLevel) (This)->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel) |
| 1801 |
#define IChannelAudioVolume_SetAllVolumes(This,dwCount,pfVolumes,EventContext) (This)->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes,EventContext) |
| 1802 |
#define IChannelAudioVolume_GetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes) |
| 1803 |
#else |
| 1804 |
/*** IUnknown methods ***/ |
| 1805 |
static FORCEINLINE HRESULT IChannelAudioVolume_QueryInterface(IChannelAudioVolume* This,REFIID riid,void **ppvObject) { |
| 1806 |
return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| 1807 |
} |
| 1808 |
static FORCEINLINE ULONG IChannelAudioVolume_AddRef(IChannelAudioVolume* This) { |
| 1809 |
return This->lpVtbl->AddRef(This); |
| 1810 |
} |
| 1811 |
static FORCEINLINE ULONG IChannelAudioVolume_Release(IChannelAudioVolume* This) { |
| 1812 |
return This->lpVtbl->Release(This); |
| 1813 |
} |
| 1814 |
/*** IChannelAudioVolume methods ***/ |
| 1815 |
static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelCount(IChannelAudioVolume* This,UINT32 *pdwCount) { |
| 1816 |
return This->lpVtbl->GetChannelCount(This,pdwCount); |
| 1817 |
} |
| 1818 |
static FORCEINLINE HRESULT IChannelAudioVolume_SetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,const float fLevel,LPCGUID EventContext) { |
| 1819 |
return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel,EventContext); |
| 1820 |
} |
| 1821 |
static FORCEINLINE HRESULT IChannelAudioVolume_GetChannelVolume(IChannelAudioVolume* This,UINT32 dwIndex,float *pfLevel) { |
| 1822 |
return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); |
| 1823 |
} |
| 1824 |
static FORCEINLINE HRESULT IChannelAudioVolume_SetAllVolumes(IChannelAudioVolume* This,UINT32 dwCount,const float *pfVolumes,LPCGUID EventContext) { |
| 1825 |
return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes,EventContext); |
| 1826 |
} |
| 1827 |
static FORCEINLINE HRESULT IChannelAudioVolume_GetAllVolumes(IChannelAudioVolume* This,UINT32 dwCount,float *pfVolumes) { |
| 1828 |
return This->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes); |
| 1829 |
} |
| 1830 |
#endif |
| 1831 |
#endif |
| 1832 |
|
| 1833 |
#endif |
| 1834 |
|
| 1835 |
|
| 1836 |
#endif /* __IChannelAudioVolume_INTERFACE_DEFINED__ */ |
| 1837 |
|
| 1838 |
#endif |
| 1839 |
|
| 1840 |
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) |
| 1841 |
#define AUDCLNT_ERR(n) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_AUDCLNT, n) |
| 1842 |
#define AUDCLNT_SUCCESS(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_AUDCLNT, n) |
| 1843 |
|
| 1844 |
#define AUDCLNT_E_NOT_INITIALIZED AUDCLNT_ERR(0x1) |
| 1845 |
#define AUDCLNT_E_ALREADY_INITIALIZED AUDCLNT_ERR(0x2) |
| 1846 |
#define AUDCLNT_E_WRONG_ENDPOINT_TYPE AUDCLNT_ERR(0x3) |
| 1847 |
#define AUDCLNT_E_DEVICE_INVALIDATED AUDCLNT_ERR(0x4) |
| 1848 |
#define AUDCLNT_E_NOT_STOPPED AUDCLNT_ERR(0x5) |
| 1849 |
#define AUDCLNT_E_BUFFER_TOO_LARGE AUDCLNT_ERR(0x6) |
| 1850 |
#define AUDCLNT_E_OUT_OF_ORDER AUDCLNT_ERR(0x7) |
| 1851 |
#define AUDCLNT_E_UNSUPPORTED_FORMAT AUDCLNT_ERR(0x8) |
| 1852 |
#define AUDCLNT_E_INVALID_SIZE AUDCLNT_ERR(0x9) |
| 1853 |
#define AUDCLNT_E_DEVICE_IN_USE AUDCLNT_ERR(0xa) |
| 1854 |
#define AUDCLNT_E_BUFFER_OPERATION_PENDING AUDCLNT_ERR(0xb) |
| 1855 |
#define AUDCLNT_E_THREAD_NOT_REGISTERED AUDCLNT_ERR(0xc) |
| 1856 |
#define AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED AUDCLNT_ERR(0xe) |
| 1857 |
#define AUDCLNT_E_ENDPOINT_CREATE_FAILED AUDCLNT_ERR(0xf) |
| 1858 |
#define AUDCLNT_E_SERVICE_NOT_RUNNING AUDCLNT_ERR(0x10) |
| 1859 |
#define AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED AUDCLNT_ERR(0x11) |
| 1860 |
#define AUDCLNT_E_EXCLUSIVE_MODE_ONLY AUDCLNT_ERR(0x12) |
| 1861 |
#define AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL AUDCLNT_ERR(0x13) |
| 1862 |
#define AUDCLNT_E_EVENTHANDLE_NOT_SET AUDCLNT_ERR(0x14) |
| 1863 |
#define AUDCLNT_E_INCORRECT_BUFFER_SIZE AUDCLNT_ERR(0x15) |
| 1864 |
#define AUDCLNT_E_BUFFER_SIZE_ERROR AUDCLNT_ERR(0x16) |
| 1865 |
#define AUDCLNT_E_CPUUSAGE_EXCEEDED AUDCLNT_ERR(0x17) |
| 1866 |
#define AUDCLNT_E_BUFFER_ERROR AUDCLNT_ERR(0x18) |
| 1867 |
#define AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED AUDCLNT_ERR(0x19) |
| 1868 |
#define AUDCLNT_E_INVALID_DEVICE_PERIOD AUDCLNT_ERR(0x20) |
| 1869 |
#define AUDCLNT_E_INVALID_STREAM_FLAG AUDCLNT_ERR(0x21) |
| 1870 |
#define AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE AUDCLNT_ERR(0x22) |
| 1871 |
#define AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES AUDCLNT_ERR(0x23) |
| 1872 |
#define AUDCLNT_E_OFFLOAD_MODE_ONLY AUDCLNT_ERR(0x24) |
| 1873 |
#define AUDCLNT_E_NONOFFLOAD_MODE_ONLY AUDCLNT_ERR(0x25) |
| 1874 |
#define AUDCLNT_E_RESOURCES_INVALIDATED AUDCLNT_ERR(0x26) |
| 1875 |
#define AUDCLNT_E_RAW_MODE_UNSUPPORTED AUDCLNT_ERR(0x027) |
| 1876 |
#define AUDCLNT_E_ENGINE_PERIODICITY_LOCKED AUDCLNT_ERR(0x028) |
| 1877 |
#define AUDCLNT_E_ENGINE_FORMAT_LOCKED AUDCLNT_ERR(0x029) |
| 1878 |
#define AUDCLNT_E_HEADTRACKING_ENABLED AUDCLNT_ERR(0x030) |
| 1879 |
#define AUDCLNT_E_HEADTRACKING_UNSUPPORTED AUDCLNT_ERR(0x040) |
| 1880 |
#define AUDCLNT_S_BUFFER_EMPTY AUDCLNT_SUCCESS(0x1) |
| 1881 |
#define AUDCLNT_S_THREAD_ALREADY_REGISTERED AUDCLNT_SUCCESS(0x2) |
| 1882 |
#define AUDCLNT_S_POSITION_STALLED AUDCLNT_SUCCESS(0x3) |
| 1883 |
#endif |
| 1884 |
/* Begin additional prototypes for all interfaces */ |
| 1885 |
|
| 1886 |
|
| 1887 |
/* End additional prototypes */ |
| 1888 |
|
| 1889 |
#ifdef __cplusplus |
| 1890 |
} |
| 1891 |
#endif |
| 1892 |
|
| 1893 |
#endif /* __audioclient_h__ */ |