To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / src / hostapi / wasapi / mingw-include / endpointvolume.h @ 164:9fa11135915a

History | View | Annotate | Download (20.3 KB)

1

    
2

    
3
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
4

    
5

    
6
 /* File created by MIDL compiler version 7.00.0499 */
7
/* Compiler settings for endpointvolume.idl:
8
    Oicf, W1, Zp8, env=Win32 (32b run)
9
    protocol : dce , ms_ext, c_ext, robust
10
    error checks: allocation ref bounds_check enum stub_data 
11
    VC __declspec() decoration level: 
12
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13
         DECLSPEC_UUID(), MIDL_INTERFACE()
14
*/
15
//@@MIDL_FILE_HEADING(  )
16

    
17
#pragma warning( disable: 4049 )  /* more than 64k source lines */
18

    
19

    
20
/* verify that the <rpcndr.h> version is high enough to compile this file*/
21
#ifndef __REQUIRED_RPCNDR_H_VERSION__
22
#define __REQUIRED_RPCNDR_H_VERSION__ 500
23
#endif
24

    
25
/* verify that the <rpcsal.h> version is high enough to compile this file*/
26
#ifndef __REQUIRED_RPCSAL_H_VERSION__
27
#define __REQUIRED_RPCSAL_H_VERSION__ 100
28
#endif
29

    
30
#include "rpc.h"
31
#include "rpcndr.h"
32

    
33
#ifndef __RPCNDR_H_VERSION__
34
#error this stub requires an updated version of <rpcndr.h>
35
#endif // __RPCNDR_H_VERSION__
36

    
37
#ifndef COM_NO_WINDOWS_H
38
#include "windows.h"
39
#include "ole2.h"
40
#endif /*COM_NO_WINDOWS_H*/
41

    
42
#ifndef __endpointvolume_h__
43
#define __endpointvolume_h__
44

    
45
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
46
#pragma once
47
#endif
48

    
49
/* Forward Declarations */ 
50

    
51
#ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__
52
#define __IAudioEndpointVolumeCallback_FWD_DEFINED__
53
typedef interface IAudioEndpointVolumeCallback IAudioEndpointVolumeCallback;
54
#endif         /* __IAudioEndpointVolumeCallback_FWD_DEFINED__ */
55

    
56

    
57
#ifndef __IAudioEndpointVolume_FWD_DEFINED__
58
#define __IAudioEndpointVolume_FWD_DEFINED__
59
typedef interface IAudioEndpointVolume IAudioEndpointVolume;
60
#endif         /* __IAudioEndpointVolume_FWD_DEFINED__ */
61

    
62

    
63
#ifndef __IAudioMeterInformation_FWD_DEFINED__
64
#define __IAudioMeterInformation_FWD_DEFINED__
65
typedef interface IAudioMeterInformation IAudioMeterInformation;
66
#endif         /* __IAudioMeterInformation_FWD_DEFINED__ */
67

    
68

    
69
/* header files for imported files */
70
#include "unknwn.h"
71
#include "devicetopology.h"
72

    
73
#ifdef __cplusplus
74
extern "C"{
75
#endif 
76

    
77

    
78
/* interface __MIDL_itf_endpointvolume_0000_0000 */
79
/* [local] */ 
80

    
81
typedef struct AUDIO_VOLUME_NOTIFICATION_DATA
82
    {
83
    GUID guidEventContext;
84
    BOOL bMuted;
85
    float fMasterVolume;
86
    UINT nChannels;
87
    float afChannelVolumes[ 1 ];
88
    }         AUDIO_VOLUME_NOTIFICATION_DATA;
89

    
90
typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA;
91

    
92
#define   ENDPOINT_HARDWARE_SUPPORT_VOLUME    0x00000001
93
#define   ENDPOINT_HARDWARE_SUPPORT_MUTE      0x00000002
94
#define   ENDPOINT_HARDWARE_SUPPORT_METER     0x00000004
95

    
96

    
97
extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_c_ifspec;
98
extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_s_ifspec;
99

    
100
#ifndef __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
101
#define __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
102

    
103
/* interface IAudioEndpointVolumeCallback */
104
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
105

    
106

    
107
EXTERN_C const IID IID_IAudioEndpointVolumeCallback;
108

    
109
#if defined(__cplusplus) && !defined(CINTERFACE)
110
    
111
    MIDL_INTERFACE("657804FA-D6AD-4496-8A60-352752AF4F89")
112
    IAudioEndpointVolumeCallback : public IUnknown
113
    {
114
    public:
115
        virtual HRESULT STDMETHODCALLTYPE OnNotify( 
116
            PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) = 0;
117
        
118
    };
119
    
120
#else         /* C style interface */
121

    
122
    typedef struct IAudioEndpointVolumeCallbackVtbl
123
    {
124
        BEGIN_INTERFACE
125
        
126
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
127
            IAudioEndpointVolumeCallback * This,
128
            /* [in] */ REFIID riid,
129
            /* [iid_is][out] */ 
130
            __RPC__deref_out  void **ppvObject);
131
        
132
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
133
            IAudioEndpointVolumeCallback * This);
134
        
135
        ULONG ( STDMETHODCALLTYPE *Release )( 
136
            IAudioEndpointVolumeCallback * This);
137
        
138
        HRESULT ( STDMETHODCALLTYPE *OnNotify )( 
139
            IAudioEndpointVolumeCallback * This,
140
            PAUDIO_VOLUME_NOTIFICATION_DATA pNotify);
141
        
142
        END_INTERFACE
143
    } IAudioEndpointVolumeCallbackVtbl;
144

    
145
    interface IAudioEndpointVolumeCallback
146
    {
147
        CONST_VTBL struct IAudioEndpointVolumeCallbackVtbl *lpVtbl;
148
    };
149

    
150
    
151

    
152
#ifdef COBJMACROS
153

    
154

    
155
#define IAudioEndpointVolumeCallback_QueryInterface(This,riid,ppvObject)        \
156
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
157

    
158
#define IAudioEndpointVolumeCallback_AddRef(This)        \
159
    ( (This)->lpVtbl -> AddRef(This) ) 
160

    
161
#define IAudioEndpointVolumeCallback_Release(This)        \
162
    ( (This)->lpVtbl -> Release(This) ) 
163

    
164

    
165
#define IAudioEndpointVolumeCallback_OnNotify(This,pNotify)        \
166
    ( (This)->lpVtbl -> OnNotify(This,pNotify) ) 
167

    
168
#endif /* COBJMACROS */
169

    
170

    
171
#endif         /* C style interface */
172

    
173

    
174

    
175

    
176
#endif         /* __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ */
177

    
178

    
179
#ifndef __IAudioEndpointVolume_INTERFACE_DEFINED__
180
#define __IAudioEndpointVolume_INTERFACE_DEFINED__
181

    
182
/* interface IAudioEndpointVolume */
183
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
184

    
185

    
186
EXTERN_C const IID IID_IAudioEndpointVolume;
187

    
188
#if defined(__cplusplus) && !defined(CINTERFACE)
189
    
190
    MIDL_INTERFACE("5CDF2C82-841E-4546-9722-0CF74078229A")
191
    IAudioEndpointVolume : public IUnknown
192
    {
193
    public:
194
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify( 
195
            /* [in] */ 
196
            __in  IAudioEndpointVolumeCallback *pNotify) = 0;
197
        
198
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify( 
199
            /* [in] */ 
200
            __in  IAudioEndpointVolumeCallback *pNotify) = 0;
201
        
202
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
203
            /* [out] */ 
204
            __out  UINT *pnChannelCount) = 0;
205
        
206
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel( 
207
            /* [in] */ 
208
            __in  float fLevelDB,
209
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
210
        
211
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar( 
212
            /* [in] */ 
213
            __in  float fLevel,
214
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
215
        
216
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel( 
217
            /* [out] */ 
218
            __out  float *pfLevelDB) = 0;
219
        
220
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar( 
221
            /* [out] */ 
222
            __out  float *pfLevel) = 0;
223
        
224
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevel( 
225
            /* [in] */ 
226
            __in  UINT nChannel,
227
            float fLevelDB,
228
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
229
        
230
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevelScalar( 
231
            /* [in] */ 
232
            __in  UINT nChannel,
233
            float fLevel,
234
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
235
        
236
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevel( 
237
            /* [in] */ 
238
            __in  UINT nChannel,
239
            /* [out] */ 
240
            __out  float *pfLevelDB) = 0;
241
        
242
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevelScalar( 
243
            /* [in] */ 
244
            __in  UINT nChannel,
245
            /* [out] */ 
246
            __out  float *pfLevel) = 0;
247
        
248
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMute( 
249
            /* [in] */ 
250
            __in  BOOL bMute,
251
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
252
        
253
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMute( 
254
            /* [out] */ 
255
            __out  BOOL *pbMute) = 0;
256
        
257
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeStepInfo( 
258
            /* [out] */ 
259
            __out  UINT *pnStep,
260
            /* [out] */ 
261
            __out  UINT *pnStepCount) = 0;
262
        
263
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepUp( 
264
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
265
        
266
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepDown( 
267
            /* [unique][in] */ LPCGUID pguidEventContext) = 0;
268
        
269
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport( 
270
            /* [out] */ 
271
            __out  DWORD *pdwHardwareSupportMask) = 0;
272
        
273
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeRange( 
274
            /* [out] */ 
275
            __out  float *pflVolumeMindB,
276
            /* [out] */ 
277
            __out  float *pflVolumeMaxdB,
278
            /* [out] */ 
279
            __out  float *pflVolumeIncrementdB) = 0;
280
        
281
    };
282
    
283
#else         /* C style interface */
284

    
285
    typedef struct IAudioEndpointVolumeVtbl
286
    {
287
        BEGIN_INTERFACE
288
        
289
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
290
            IAudioEndpointVolume * This,
291
            /* [in] */ REFIID riid,
292
            /* [iid_is][out] */ 
293
            __RPC__deref_out  void **ppvObject);
294
        
295
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
296
            IAudioEndpointVolume * This);
297
        
298
        ULONG ( STDMETHODCALLTYPE *Release )( 
299
            IAudioEndpointVolume * This);
300
        
301
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeNotify )( 
302
            IAudioEndpointVolume * This,
303
            /* [in] */ 
304
            __in  IAudioEndpointVolumeCallback *pNotify);
305
        
306
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeNotify )( 
307
            IAudioEndpointVolume * This,
308
            /* [in] */ 
309
            __in  IAudioEndpointVolumeCallback *pNotify);
310
        
311
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
312
            IAudioEndpointVolume * This,
313
            /* [out] */ 
314
            __out  UINT *pnChannelCount);
315
        
316
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevel )( 
317
            IAudioEndpointVolume * This,
318
            /* [in] */ 
319
            __in  float fLevelDB,
320
            /* [unique][in] */ LPCGUID pguidEventContext);
321
        
322
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevelScalar )( 
323
            IAudioEndpointVolume * This,
324
            /* [in] */ 
325
            __in  float fLevel,
326
            /* [unique][in] */ LPCGUID pguidEventContext);
327
        
328
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevel )( 
329
            IAudioEndpointVolume * This,
330
            /* [out] */ 
331
            __out  float *pfLevelDB);
332
        
333
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevelScalar )( 
334
            IAudioEndpointVolume * This,
335
            /* [out] */ 
336
            __out  float *pfLevel);
337
        
338
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevel )( 
339
            IAudioEndpointVolume * This,
340
            /* [in] */ 
341
            __in  UINT nChannel,
342
            float fLevelDB,
343
            /* [unique][in] */ LPCGUID pguidEventContext);
344
        
345
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevelScalar )( 
346
            IAudioEndpointVolume * This,
347
            /* [in] */ 
348
            __in  UINT nChannel,
349
            float fLevel,
350
            /* [unique][in] */ LPCGUID pguidEventContext);
351
        
352
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevel )( 
353
            IAudioEndpointVolume * This,
354
            /* [in] */ 
355
            __in  UINT nChannel,
356
            /* [out] */ 
357
            __out  float *pfLevelDB);
358
        
359
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevelScalar )( 
360
            IAudioEndpointVolume * This,
361
            /* [in] */ 
362
            __in  UINT nChannel,
363
            /* [out] */ 
364
            __out  float *pfLevel);
365
        
366
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMute )( 
367
            IAudioEndpointVolume * This,
368
            /* [in] */ 
369
            __in  BOOL bMute,
370
            /* [unique][in] */ LPCGUID pguidEventContext);
371
        
372
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMute )( 
373
            IAudioEndpointVolume * This,
374
            /* [out] */ 
375
            __out  BOOL *pbMute);
376
        
377
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeStepInfo )( 
378
            IAudioEndpointVolume * This,
379
            /* [out] */ 
380
            __out  UINT *pnStep,
381
            /* [out] */ 
382
            __out  UINT *pnStepCount);
383
        
384
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepUp )( 
385
            IAudioEndpointVolume * This,
386
            /* [unique][in] */ LPCGUID pguidEventContext);
387
        
388
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepDown )( 
389
            IAudioEndpointVolume * This,
390
            /* [unique][in] */ LPCGUID pguidEventContext);
391
        
392
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )( 
393
            IAudioEndpointVolume * This,
394
            /* [out] */ 
395
            __out  DWORD *pdwHardwareSupportMask);
396
        
397
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeRange )( 
398
            IAudioEndpointVolume * This,
399
            /* [out] */ 
400
            __out  float *pflVolumeMindB,
401
            /* [out] */ 
402
            __out  float *pflVolumeMaxdB,
403
            /* [out] */ 
404
            __out  float *pflVolumeIncrementdB);
405
        
406
        END_INTERFACE
407
    } IAudioEndpointVolumeVtbl;
408

    
409
    interface IAudioEndpointVolume
410
    {
411
        CONST_VTBL struct IAudioEndpointVolumeVtbl *lpVtbl;
412
    };
413

    
414
    
415

    
416
#ifdef COBJMACROS
417

    
418

    
419
#define IAudioEndpointVolume_QueryInterface(This,riid,ppvObject)        \
420
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
421

    
422
#define IAudioEndpointVolume_AddRef(This)        \
423
    ( (This)->lpVtbl -> AddRef(This) ) 
424

    
425
#define IAudioEndpointVolume_Release(This)        \
426
    ( (This)->lpVtbl -> Release(This) ) 
427

    
428

    
429
#define IAudioEndpointVolume_RegisterControlChangeNotify(This,pNotify)        \
430
    ( (This)->lpVtbl -> RegisterControlChangeNotify(This,pNotify) ) 
431

    
432
#define IAudioEndpointVolume_UnregisterControlChangeNotify(This,pNotify)        \
433
    ( (This)->lpVtbl -> UnregisterControlChangeNotify(This,pNotify) ) 
434

    
435
#define IAudioEndpointVolume_GetChannelCount(This,pnChannelCount)        \
436
    ( (This)->lpVtbl -> GetChannelCount(This,pnChannelCount) ) 
437

    
438
#define IAudioEndpointVolume_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext)        \
439
    ( (This)->lpVtbl -> SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) ) 
440

    
441
#define IAudioEndpointVolume_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext)        \
442
    ( (This)->lpVtbl -> SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) ) 
443

    
444
#define IAudioEndpointVolume_GetMasterVolumeLevel(This,pfLevelDB)        \
445
    ( (This)->lpVtbl -> GetMasterVolumeLevel(This,pfLevelDB) ) 
446

    
447
#define IAudioEndpointVolume_GetMasterVolumeLevelScalar(This,pfLevel)        \
448
    ( (This)->lpVtbl -> GetMasterVolumeLevelScalar(This,pfLevel) ) 
449

    
450
#define IAudioEndpointVolume_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext)        \
451
    ( (This)->lpVtbl -> SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
452

    
453
#define IAudioEndpointVolume_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext)        \
454
    ( (This)->lpVtbl -> SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) ) 
455

    
456
#define IAudioEndpointVolume_GetChannelVolumeLevel(This,nChannel,pfLevelDB)        \
457
    ( (This)->lpVtbl -> GetChannelVolumeLevel(This,nChannel,pfLevelDB) ) 
458

    
459
#define IAudioEndpointVolume_GetChannelVolumeLevelScalar(This,nChannel,pfLevel)        \
460
    ( (This)->lpVtbl -> GetChannelVolumeLevelScalar(This,nChannel,pfLevel) ) 
461

    
462
#define IAudioEndpointVolume_SetMute(This,bMute,pguidEventContext)        \
463
    ( (This)->lpVtbl -> SetMute(This,bMute,pguidEventContext) ) 
464

    
465
#define IAudioEndpointVolume_GetMute(This,pbMute)        \
466
    ( (This)->lpVtbl -> GetMute(This,pbMute) ) 
467

    
468
#define IAudioEndpointVolume_GetVolumeStepInfo(This,pnStep,pnStepCount)        \
469
    ( (This)->lpVtbl -> GetVolumeStepInfo(This,pnStep,pnStepCount) ) 
470

    
471
#define IAudioEndpointVolume_VolumeStepUp(This,pguidEventContext)        \
472
    ( (This)->lpVtbl -> VolumeStepUp(This,pguidEventContext) ) 
473

    
474
#define IAudioEndpointVolume_VolumeStepDown(This,pguidEventContext)        \
475
    ( (This)->lpVtbl -> VolumeStepDown(This,pguidEventContext) ) 
476

    
477
#define IAudioEndpointVolume_QueryHardwareSupport(This,pdwHardwareSupportMask)        \
478
    ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) ) 
479

    
480
#define IAudioEndpointVolume_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB)        \
481
    ( (This)->lpVtbl -> GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) ) 
482

    
483
#endif /* COBJMACROS */
484

    
485

    
486
#endif         /* C style interface */
487

    
488

    
489

    
490

    
491
#endif         /* __IAudioEndpointVolume_INTERFACE_DEFINED__ */
492

    
493

    
494
#ifndef __IAudioMeterInformation_INTERFACE_DEFINED__
495
#define __IAudioMeterInformation_INTERFACE_DEFINED__
496

    
497
/* interface IAudioMeterInformation */
498
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
499

    
500

    
501
EXTERN_C const IID IID_IAudioMeterInformation;
502

    
503
#if defined(__cplusplus) && !defined(CINTERFACE)
504
    
505
    MIDL_INTERFACE("C02216F6-8C67-4B5B-9D00-D008E73E0064")
506
    IAudioMeterInformation : public IUnknown
507
    {
508
    public:
509
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPeakValue( 
510
            /* [out] */ float *pfPeak) = 0;
511
        
512
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMeteringChannelCount( 
513
            /* [out] */ 
514
            __out  UINT *pnChannelCount) = 0;
515
        
516
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelsPeakValues( 
517
            /* [in] */ UINT32 u32ChannelCount,
518
            /* [size_is][out] */ float *afPeakValues) = 0;
519
        
520
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport( 
521
            /* [out] */ 
522
            __out  DWORD *pdwHardwareSupportMask) = 0;
523
        
524
    };
525
    
526
#else         /* C style interface */
527

    
528
    typedef struct IAudioMeterInformationVtbl
529
    {
530
        BEGIN_INTERFACE
531
        
532
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
533
            IAudioMeterInformation * This,
534
            /* [in] */ REFIID riid,
535
            /* [iid_is][out] */ 
536
            __RPC__deref_out  void **ppvObject);
537
        
538
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
539
            IAudioMeterInformation * This);
540
        
541
        ULONG ( STDMETHODCALLTYPE *Release )( 
542
            IAudioMeterInformation * This);
543
        
544
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPeakValue )( 
545
            IAudioMeterInformation * This,
546
            /* [out] */ float *pfPeak);
547
        
548
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMeteringChannelCount )( 
549
            IAudioMeterInformation * This,
550
            /* [out] */ 
551
            __out  UINT *pnChannelCount);
552
        
553
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelsPeakValues )( 
554
            IAudioMeterInformation * This,
555
            /* [in] */ UINT32 u32ChannelCount,
556
            /* [size_is][out] */ float *afPeakValues);
557
        
558
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )( 
559
            IAudioMeterInformation * This,
560
            /* [out] */ 
561
            __out  DWORD *pdwHardwareSupportMask);
562
        
563
        END_INTERFACE
564
    } IAudioMeterInformationVtbl;
565

    
566
    interface IAudioMeterInformation
567
    {
568
        CONST_VTBL struct IAudioMeterInformationVtbl *lpVtbl;
569
    };
570

    
571
    
572

    
573
#ifdef COBJMACROS
574

    
575

    
576
#define IAudioMeterInformation_QueryInterface(This,riid,ppvObject)        \
577
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
578

    
579
#define IAudioMeterInformation_AddRef(This)        \
580
    ( (This)->lpVtbl -> AddRef(This) ) 
581

    
582
#define IAudioMeterInformation_Release(This)        \
583
    ( (This)->lpVtbl -> Release(This) ) 
584

    
585

    
586
#define IAudioMeterInformation_GetPeakValue(This,pfPeak)        \
587
    ( (This)->lpVtbl -> GetPeakValue(This,pfPeak) ) 
588

    
589
#define IAudioMeterInformation_GetMeteringChannelCount(This,pnChannelCount)        \
590
    ( (This)->lpVtbl -> GetMeteringChannelCount(This,pnChannelCount) ) 
591

    
592
#define IAudioMeterInformation_GetChannelsPeakValues(This,u32ChannelCount,afPeakValues)        \
593
    ( (This)->lpVtbl -> GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) ) 
594

    
595
#define IAudioMeterInformation_QueryHardwareSupport(This,pdwHardwareSupportMask)        \
596
    ( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) ) 
597

    
598
#endif /* COBJMACROS */
599

    
600

    
601
#endif         /* C style interface */
602

    
603

    
604

    
605

    
606
#endif         /* __IAudioMeterInformation_INTERFACE_DEFINED__ */
607

    
608

    
609
/* Additional Prototypes for ALL interfaces */
610

    
611
/* end of Additional Prototypes */
612

    
613
#ifdef __cplusplus
614
}
615
#endif
616

    
617
#endif
618

    
619

    
620