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 / devicetopology.h @ 162:d43aab368df9

History | View | Annotate | Download (92.8 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 devicetopology.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 __devicetopology_h__
43
#define __devicetopology_h__
44

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

    
49
/* Forward Declarations */ 
50

    
51
#ifndef __IKsControl_FWD_DEFINED__
52
#define __IKsControl_FWD_DEFINED__
53
typedef interface IKsControl IKsControl;
54
#endif         /* __IKsControl_FWD_DEFINED__ */
55

    
56

    
57
#ifndef __IPerChannelDbLevel_FWD_DEFINED__
58
#define __IPerChannelDbLevel_FWD_DEFINED__
59
typedef interface IPerChannelDbLevel IPerChannelDbLevel;
60
#endif         /* __IPerChannelDbLevel_FWD_DEFINED__ */
61

    
62

    
63
#ifndef __IAudioVolumeLevel_FWD_DEFINED__
64
#define __IAudioVolumeLevel_FWD_DEFINED__
65
typedef interface IAudioVolumeLevel IAudioVolumeLevel;
66
#endif         /* __IAudioVolumeLevel_FWD_DEFINED__ */
67

    
68

    
69
#ifndef __IAudioChannelConfig_FWD_DEFINED__
70
#define __IAudioChannelConfig_FWD_DEFINED__
71
typedef interface IAudioChannelConfig IAudioChannelConfig;
72
#endif         /* __IAudioChannelConfig_FWD_DEFINED__ */
73

    
74

    
75
#ifndef __IAudioLoudness_FWD_DEFINED__
76
#define __IAudioLoudness_FWD_DEFINED__
77
typedef interface IAudioLoudness IAudioLoudness;
78
#endif         /* __IAudioLoudness_FWD_DEFINED__ */
79

    
80

    
81
#ifndef __IAudioInputSelector_FWD_DEFINED__
82
#define __IAudioInputSelector_FWD_DEFINED__
83
typedef interface IAudioInputSelector IAudioInputSelector;
84
#endif         /* __IAudioInputSelector_FWD_DEFINED__ */
85

    
86

    
87
#ifndef __IAudioOutputSelector_FWD_DEFINED__
88
#define __IAudioOutputSelector_FWD_DEFINED__
89
typedef interface IAudioOutputSelector IAudioOutputSelector;
90
#endif         /* __IAudioOutputSelector_FWD_DEFINED__ */
91

    
92

    
93
#ifndef __IAudioMute_FWD_DEFINED__
94
#define __IAudioMute_FWD_DEFINED__
95
typedef interface IAudioMute IAudioMute;
96
#endif         /* __IAudioMute_FWD_DEFINED__ */
97

    
98

    
99
#ifndef __IAudioBass_FWD_DEFINED__
100
#define __IAudioBass_FWD_DEFINED__
101
typedef interface IAudioBass IAudioBass;
102
#endif         /* __IAudioBass_FWD_DEFINED__ */
103

    
104

    
105
#ifndef __IAudioMidrange_FWD_DEFINED__
106
#define __IAudioMidrange_FWD_DEFINED__
107
typedef interface IAudioMidrange IAudioMidrange;
108
#endif         /* __IAudioMidrange_FWD_DEFINED__ */
109

    
110

    
111
#ifndef __IAudioTreble_FWD_DEFINED__
112
#define __IAudioTreble_FWD_DEFINED__
113
typedef interface IAudioTreble IAudioTreble;
114
#endif         /* __IAudioTreble_FWD_DEFINED__ */
115

    
116

    
117
#ifndef __IAudioAutoGainControl_FWD_DEFINED__
118
#define __IAudioAutoGainControl_FWD_DEFINED__
119
typedef interface IAudioAutoGainControl IAudioAutoGainControl;
120
#endif         /* __IAudioAutoGainControl_FWD_DEFINED__ */
121

    
122

    
123
#ifndef __IAudioPeakMeter_FWD_DEFINED__
124
#define __IAudioPeakMeter_FWD_DEFINED__
125
typedef interface IAudioPeakMeter IAudioPeakMeter;
126
#endif         /* __IAudioPeakMeter_FWD_DEFINED__ */
127

    
128

    
129
#ifndef __IDeviceSpecificProperty_FWD_DEFINED__
130
#define __IDeviceSpecificProperty_FWD_DEFINED__
131
typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
132
#endif         /* __IDeviceSpecificProperty_FWD_DEFINED__ */
133

    
134

    
135
#ifndef __IKsFormatSupport_FWD_DEFINED__
136
#define __IKsFormatSupport_FWD_DEFINED__
137
typedef interface IKsFormatSupport IKsFormatSupport;
138
#endif         /* __IKsFormatSupport_FWD_DEFINED__ */
139

    
140

    
141
#ifndef __IKsJackDescription_FWD_DEFINED__
142
#define __IKsJackDescription_FWD_DEFINED__
143
typedef interface IKsJackDescription IKsJackDescription;
144
#endif         /* __IKsJackDescription_FWD_DEFINED__ */
145

    
146

    
147
#ifndef __IPartsList_FWD_DEFINED__
148
#define __IPartsList_FWD_DEFINED__
149
typedef interface IPartsList IPartsList;
150
#endif         /* __IPartsList_FWD_DEFINED__ */
151

    
152

    
153
#ifndef __IPart_FWD_DEFINED__
154
#define __IPart_FWD_DEFINED__
155
typedef interface IPart IPart;
156
#endif         /* __IPart_FWD_DEFINED__ */
157

    
158

    
159
#ifndef __IConnector_FWD_DEFINED__
160
#define __IConnector_FWD_DEFINED__
161
typedef interface IConnector IConnector;
162
#endif         /* __IConnector_FWD_DEFINED__ */
163

    
164

    
165
#ifndef __ISubunit_FWD_DEFINED__
166
#define __ISubunit_FWD_DEFINED__
167
typedef interface ISubunit ISubunit;
168
#endif         /* __ISubunit_FWD_DEFINED__ */
169

    
170

    
171
#ifndef __IControlInterface_FWD_DEFINED__
172
#define __IControlInterface_FWD_DEFINED__
173
typedef interface IControlInterface IControlInterface;
174
#endif         /* __IControlInterface_FWD_DEFINED__ */
175

    
176

    
177
#ifndef __IControlChangeNotify_FWD_DEFINED__
178
#define __IControlChangeNotify_FWD_DEFINED__
179
typedef interface IControlChangeNotify IControlChangeNotify;
180
#endif         /* __IControlChangeNotify_FWD_DEFINED__ */
181

    
182

    
183
#ifndef __IDeviceTopology_FWD_DEFINED__
184
#define __IDeviceTopology_FWD_DEFINED__
185
typedef interface IDeviceTopology IDeviceTopology;
186
#endif         /* __IDeviceTopology_FWD_DEFINED__ */
187

    
188

    
189
#ifndef __DeviceTopology_FWD_DEFINED__
190
#define __DeviceTopology_FWD_DEFINED__
191

    
192
#ifdef __cplusplus
193
typedef class DeviceTopology DeviceTopology;
194
#else
195
typedef struct DeviceTopology DeviceTopology;
196
#endif /* __cplusplus */
197

    
198
#endif         /* __DeviceTopology_FWD_DEFINED__ */
199

    
200

    
201
#ifndef __IPartsList_FWD_DEFINED__
202
#define __IPartsList_FWD_DEFINED__
203
typedef interface IPartsList IPartsList;
204
#endif         /* __IPartsList_FWD_DEFINED__ */
205

    
206

    
207
#ifndef __IPerChannelDbLevel_FWD_DEFINED__
208
#define __IPerChannelDbLevel_FWD_DEFINED__
209
typedef interface IPerChannelDbLevel IPerChannelDbLevel;
210
#endif         /* __IPerChannelDbLevel_FWD_DEFINED__ */
211

    
212

    
213
#ifndef __IAudioVolumeLevel_FWD_DEFINED__
214
#define __IAudioVolumeLevel_FWD_DEFINED__
215
typedef interface IAudioVolumeLevel IAudioVolumeLevel;
216
#endif         /* __IAudioVolumeLevel_FWD_DEFINED__ */
217

    
218

    
219
#ifndef __IAudioLoudness_FWD_DEFINED__
220
#define __IAudioLoudness_FWD_DEFINED__
221
typedef interface IAudioLoudness IAudioLoudness;
222
#endif         /* __IAudioLoudness_FWD_DEFINED__ */
223

    
224

    
225
#ifndef __IAudioInputSelector_FWD_DEFINED__
226
#define __IAudioInputSelector_FWD_DEFINED__
227
typedef interface IAudioInputSelector IAudioInputSelector;
228
#endif         /* __IAudioInputSelector_FWD_DEFINED__ */
229

    
230

    
231
#ifndef __IAudioMute_FWD_DEFINED__
232
#define __IAudioMute_FWD_DEFINED__
233
typedef interface IAudioMute IAudioMute;
234
#endif         /* __IAudioMute_FWD_DEFINED__ */
235

    
236

    
237
#ifndef __IAudioBass_FWD_DEFINED__
238
#define __IAudioBass_FWD_DEFINED__
239
typedef interface IAudioBass IAudioBass;
240
#endif         /* __IAudioBass_FWD_DEFINED__ */
241

    
242

    
243
#ifndef __IAudioMidrange_FWD_DEFINED__
244
#define __IAudioMidrange_FWD_DEFINED__
245
typedef interface IAudioMidrange IAudioMidrange;
246
#endif         /* __IAudioMidrange_FWD_DEFINED__ */
247

    
248

    
249
#ifndef __IAudioTreble_FWD_DEFINED__
250
#define __IAudioTreble_FWD_DEFINED__
251
typedef interface IAudioTreble IAudioTreble;
252
#endif         /* __IAudioTreble_FWD_DEFINED__ */
253

    
254

    
255
#ifndef __IAudioAutoGainControl_FWD_DEFINED__
256
#define __IAudioAutoGainControl_FWD_DEFINED__
257
typedef interface IAudioAutoGainControl IAudioAutoGainControl;
258
#endif         /* __IAudioAutoGainControl_FWD_DEFINED__ */
259

    
260

    
261
#ifndef __IAudioOutputSelector_FWD_DEFINED__
262
#define __IAudioOutputSelector_FWD_DEFINED__
263
typedef interface IAudioOutputSelector IAudioOutputSelector;
264
#endif         /* __IAudioOutputSelector_FWD_DEFINED__ */
265

    
266

    
267
#ifndef __IAudioPeakMeter_FWD_DEFINED__
268
#define __IAudioPeakMeter_FWD_DEFINED__
269
typedef interface IAudioPeakMeter IAudioPeakMeter;
270
#endif         /* __IAudioPeakMeter_FWD_DEFINED__ */
271

    
272

    
273
#ifndef __IDeviceSpecificProperty_FWD_DEFINED__
274
#define __IDeviceSpecificProperty_FWD_DEFINED__
275
typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
276
#endif         /* __IDeviceSpecificProperty_FWD_DEFINED__ */
277

    
278

    
279
#ifndef __IKsFormatSupport_FWD_DEFINED__
280
#define __IKsFormatSupport_FWD_DEFINED__
281
typedef interface IKsFormatSupport IKsFormatSupport;
282
#endif         /* __IKsFormatSupport_FWD_DEFINED__ */
283

    
284

    
285
/* header files for imported files */
286
#include "oaidl.h"
287
#include "ocidl.h"
288
#include "propidl.h"
289

    
290
#ifdef __cplusplus
291
extern "C"{
292
#endif 
293

    
294

    
295
/* interface __MIDL_itf_devicetopology_0000_0000 */
296
/* [local] */ 
297

    
298
#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
299
//
300
//   Flag for clients of IControlChangeNotify::OnNotify to allow those clients to identify hardware initiated notifications
301
//
302
#define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 'draH'
303
/* E2C2E9DE-09B1-4B04-84E5-07931225EE04 */
304
DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xE2C2E9DE,0x09B1,0x4B04,0x84, 0xE5, 0x07, 0x93, 0x12, 0x25, 0xEE, 0x04);
305
#define _IKsControl_
306
#include "ks.h"
307
#include "ksmedia.h"
308
#ifndef _KS_
309
typedef /* [public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001
310
    {
311
    ULONG FormatSize;
312
    ULONG Flags;
313
    ULONG SampleSize;
314
    ULONG Reserved;
315
    GUID MajorFormat;
316
    GUID SubFormat;
317
    GUID Specifier;
318
    }         KSDATAFORMAT;
319

    
320
typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001 *PKSDATAFORMAT;
321

    
322
typedef /* [public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002
323
    {
324
    union 
325
        {
326
        struct 
327
            {
328
            GUID Set;
329
            ULONG Id;
330
            ULONG Flags;
331
            }         ;
332
        LONGLONG Alignment;
333
        }         ;
334
    }         KSIDENTIFIER;
335

    
336
typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002 *PKSIDENTIFIER;
337

    
338
typedef /* [public][public][public][public] */ 
339
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0005
340
    {        ePcxChanMap_FL_FR        = 0,
341
        ePcxChanMap_FC_LFE        = ( ePcxChanMap_FL_FR + 1 ) ,
342
        ePcxChanMap_BL_BR        = ( ePcxChanMap_FC_LFE + 1 ) ,
343
        ePcxChanMap_FLC_FRC        = ( ePcxChanMap_BL_BR + 1 ) ,
344
        ePcxChanMap_SL_SR        = ( ePcxChanMap_FLC_FRC + 1 ) ,
345
        ePcxChanMap_Unknown        = ( ePcxChanMap_SL_SR + 1 ) 
346
    }         EChannelMapping;
347

    
348
typedef /* [public][public][public][public] */ 
349
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0006
350
    {        eConnTypeUnknown        = 0,
351
        eConnTypeEighth        = ( eConnTypeUnknown + 1 ) ,
352
        eConnTypeQuarter        = ( eConnTypeEighth + 1 ) ,
353
        eConnTypeAtapiInternal        = ( eConnTypeQuarter + 1 ) ,
354
        eConnTypeRCA        = ( eConnTypeAtapiInternal + 1 ) ,
355
        eConnTypeOptical        = ( eConnTypeRCA + 1 ) ,
356
        eConnTypeOtherDigital        = ( eConnTypeOptical + 1 ) ,
357
        eConnTypeOtherAnalog        = ( eConnTypeOtherDigital + 1 ) ,
358
        eConnTypeMultichannelAnalogDIN        = ( eConnTypeOtherAnalog + 1 ) ,
359
        eConnTypeXlrProfessional        = ( eConnTypeMultichannelAnalogDIN + 1 ) ,
360
        eConnTypeRJ11Modem        = ( eConnTypeXlrProfessional + 1 ) ,
361
        eConnTypeCombination        = ( eConnTypeRJ11Modem + 1 ) 
362
    }         EPcxConnectionType;
363

    
364
typedef /* [public][public][public][public] */ 
365
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0007
366
    {        eGeoLocRear        = 0x1,
367
        eGeoLocFront        = ( eGeoLocRear + 1 ) ,
368
        eGeoLocLeft        = ( eGeoLocFront + 1 ) ,
369
        eGeoLocRight        = ( eGeoLocLeft + 1 ) ,
370
        eGeoLocTop        = ( eGeoLocRight + 1 ) ,
371
        eGeoLocBottom        = ( eGeoLocTop + 1 ) ,
372
        eGeoLocRearOPanel        = ( eGeoLocBottom + 1 ) ,
373
        eGeoLocRiser        = ( eGeoLocRearOPanel + 1 ) ,
374
        eGeoLocInsideMobileLid        = ( eGeoLocRiser + 1 ) ,
375
        eGeoLocDrivebay        = ( eGeoLocInsideMobileLid + 1 ) ,
376
        eGeoLocHDMI        = ( eGeoLocDrivebay + 1 ) ,
377
        eGeoLocOutsideMobileLid        = ( eGeoLocHDMI + 1 ) ,
378
        eGeoLocATAPI        = ( eGeoLocOutsideMobileLid + 1 ) ,
379
        eGeoLocReserved5        = ( eGeoLocATAPI + 1 ) ,
380
        eGeoLocReserved6        = ( eGeoLocReserved5 + 1 ) 
381
    }         EPcxGeoLocation;
382

    
383
typedef /* [public][public][public][public] */ 
384
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0008
385
    {        eGenLocPrimaryBox        = 0,
386
        eGenLocInternal        = ( eGenLocPrimaryBox + 1 ) ,
387
        eGenLocSeperate        = ( eGenLocInternal + 1 ) ,
388
        eGenLocOther        = ( eGenLocSeperate + 1 ) 
389
    }         EPcxGenLocation;
390

    
391
typedef /* [public][public][public][public] */ 
392
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0009
393
    {        ePortConnJack        = 0,
394
        ePortConnIntegratedDevice        = ( ePortConnJack + 1 ) ,
395
        ePortConnBothIntegratedAndJack        = ( ePortConnIntegratedDevice + 1 ) ,
396
        ePortConnUnknown        = ( ePortConnBothIntegratedAndJack + 1 ) 
397
    }         EPxcPortConnection;
398

    
399
typedef /* [public][public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010
400
    {
401
    EChannelMapping ChannelMapping;
402
    COLORREF Color;
403
    EPcxConnectionType ConnectionType;
404
    EPcxGeoLocation GeoLocation;
405
    EPcxGenLocation GenLocation;
406
    EPxcPortConnection PortConnection;
407
    BOOL IsConnected;
408
    }         KSJACK_DESCRIPTION;
409

    
410
typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010 *PKSJACK_DESCRIPTION;
411

    
412
typedef KSIDENTIFIER KSPROPERTY;
413

    
414
typedef KSIDENTIFIER *PKSPROPERTY;
415

    
416
typedef KSIDENTIFIER KSMETHOD;
417

    
418
typedef KSIDENTIFIER *PKSMETHOD;
419

    
420
typedef KSIDENTIFIER KSEVENT;
421

    
422
typedef KSIDENTIFIER *PKSEVENT;
423

    
424
#endif
425

    
426

    
427

    
428

    
429

    
430

    
431

    
432

    
433
typedef /* [public][public] */ 
434
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0011
435
    {        In        = 0,
436
        Out        = ( In + 1 ) 
437
    }         DataFlow;
438

    
439
typedef /* [public][public] */ 
440
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0012
441
    {        Connector        = 0,
442
        Subunit        = ( Connector + 1 ) 
443
    }         PartType;
444

    
445
#define PARTTYPE_FLAG_CONNECTOR 0x00010000
446
#define PARTTYPE_FLAG_SUBUNIT   0x00020000
447
#define PARTTYPE_MASK           0x00030000
448
#define PARTID_MASK             0x0000ffff
449
typedef /* [public][public] */ 
450
enum __MIDL___MIDL_itf_devicetopology_0000_0000_0013
451
    {        Unknown_Connector        = 0,
452
        Physical_Internal        = ( Unknown_Connector + 1 ) ,
453
        Physical_External        = ( Physical_Internal + 1 ) ,
454
        Software_IO        = ( Physical_External + 1 ) ,
455
        Software_Fixed        = ( Software_IO + 1 ) ,
456
        Network        = ( Software_Fixed + 1 ) 
457
    }         ConnectorType;
458

    
459

    
460

    
461
extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_c_ifspec;
462
extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_s_ifspec;
463

    
464
#ifndef __IKsControl_INTERFACE_DEFINED__
465
#define __IKsControl_INTERFACE_DEFINED__
466

    
467
/* interface IKsControl */
468
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
469

    
470

    
471
EXTERN_C const IID IID_IKsControl;
472

    
473
#if defined(__cplusplus) && !defined(CINTERFACE)
474
    
475
    MIDL_INTERFACE("28F54685-06FD-11D2-B27A-00A0C9223196")
476
    IKsControl : public IUnknown
477
    {
478
    public:
479
        virtual HRESULT STDMETHODCALLTYPE KsProperty( 
480
            /* [in] */ PKSPROPERTY Property,
481
            /* [in] */ ULONG PropertyLength,
482
            /* [out][in] */ void *PropertyData,
483
            /* [in] */ ULONG DataLength,
484
            /* [out] */ ULONG *BytesReturned) = 0;
485
        
486
        virtual HRESULT STDMETHODCALLTYPE KsMethod( 
487
            /* [in] */ PKSMETHOD Method,
488
            /* [in] */ ULONG MethodLength,
489
            /* [out][in] */ void *MethodData,
490
            /* [in] */ ULONG DataLength,
491
            /* [out] */ ULONG *BytesReturned) = 0;
492
        
493
        virtual HRESULT STDMETHODCALLTYPE KsEvent( 
494
            /* [in] */ PKSEVENT Event,
495
            /* [in] */ ULONG EventLength,
496
            /* [out][in] */ void *EventData,
497
            /* [in] */ ULONG DataLength,
498
            /* [out] */ ULONG *BytesReturned) = 0;
499
        
500
    };
501
    
502
#else         /* C style interface */
503

    
504
    typedef struct IKsControlVtbl
505
    {
506
        BEGIN_INTERFACE
507
        
508
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
509
            IKsControl * This,
510
            /* [in] */ REFIID riid,
511
            /* [iid_is][out] */ 
512
            __RPC__deref_out  void **ppvObject);
513
        
514
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
515
            IKsControl * This);
516
        
517
        ULONG ( STDMETHODCALLTYPE *Release )( 
518
            IKsControl * This);
519
        
520
        HRESULT ( STDMETHODCALLTYPE *KsProperty )( 
521
            IKsControl * This,
522
            /* [in] */ PKSPROPERTY Property,
523
            /* [in] */ ULONG PropertyLength,
524
            /* [out][in] */ void *PropertyData,
525
            /* [in] */ ULONG DataLength,
526
            /* [out] */ ULONG *BytesReturned);
527
        
528
        HRESULT ( STDMETHODCALLTYPE *KsMethod )( 
529
            IKsControl * This,
530
            /* [in] */ PKSMETHOD Method,
531
            /* [in] */ ULONG MethodLength,
532
            /* [out][in] */ void *MethodData,
533
            /* [in] */ ULONG DataLength,
534
            /* [out] */ ULONG *BytesReturned);
535
        
536
        HRESULT ( STDMETHODCALLTYPE *KsEvent )( 
537
            IKsControl * This,
538
            /* [in] */ PKSEVENT Event,
539
            /* [in] */ ULONG EventLength,
540
            /* [out][in] */ void *EventData,
541
            /* [in] */ ULONG DataLength,
542
            /* [out] */ ULONG *BytesReturned);
543
        
544
        END_INTERFACE
545
    } IKsControlVtbl;
546

    
547
    interface IKsControl
548
    {
549
        CONST_VTBL struct IKsControlVtbl *lpVtbl;
550
    };
551

    
552
    
553

    
554
#ifdef COBJMACROS
555

    
556

    
557
#define IKsControl_QueryInterface(This,riid,ppvObject)        \
558
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
559

    
560
#define IKsControl_AddRef(This)        \
561
    ( (This)->lpVtbl -> AddRef(This) ) 
562

    
563
#define IKsControl_Release(This)        \
564
    ( (This)->lpVtbl -> Release(This) ) 
565

    
566

    
567
#define IKsControl_KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned)        \
568
    ( (This)->lpVtbl -> KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) ) 
569

    
570
#define IKsControl_KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned)        \
571
    ( (This)->lpVtbl -> KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) ) 
572

    
573
#define IKsControl_KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned)        \
574
    ( (This)->lpVtbl -> KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) ) 
575

    
576
#endif /* COBJMACROS */
577

    
578

    
579
#endif         /* C style interface */
580

    
581

    
582

    
583

    
584
#endif         /* __IKsControl_INTERFACE_DEFINED__ */
585

    
586

    
587
#ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__
588
#define __IPerChannelDbLevel_INTERFACE_DEFINED__
589

    
590
/* interface IPerChannelDbLevel */
591
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
592

    
593

    
594
EXTERN_C const IID IID_IPerChannelDbLevel;
595

    
596
#if defined(__cplusplus) && !defined(CINTERFACE)
597
    
598
    MIDL_INTERFACE("C2F8E001-F205-4BC9-99BC-C13B1E048CCB")
599
    IPerChannelDbLevel : public IUnknown
600
    {
601
    public:
602
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
603
            /* [out] */ 
604
            __out  UINT *pcChannels) = 0;
605
        
606
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevelRange( 
607
            /* [in] */ 
608
            __in  UINT nChannel,
609
            /* [out] */ 
610
            __out  float *pfMinLevelDB,
611
            /* [out] */ 
612
            __out  float *pfMaxLevelDB,
613
            /* [out] */ 
614
            __out  float *pfStepping) = 0;
615
        
616
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( 
617
            /* [in] */ 
618
            __in  UINT nChannel,
619
            /* [out] */ 
620
            __out  float *pfLevelDB) = 0;
621
        
622
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevel( 
623
            /* [in] */ 
624
            __in  UINT nChannel,
625
            /* [in] */ 
626
            __in  float fLevelDB,
627
            /* [unique][in] */ 
628
            __in_opt  LPCGUID pguidEventContext) = 0;
629
        
630
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelUniform( 
631
            /* [in] */ 
632
            __in  float fLevelDB,
633
            /* [unique][in] */ 
634
            __in_opt  LPCGUID pguidEventContext) = 0;
635
        
636
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelAllChannels( 
637
            /* [size_is][in] */ 
638
            __in_ecount(cChannels)  float aLevelsDB[  ],
639
            /* [in] */ 
640
            __in  ULONG cChannels,
641
            /* [unique][in] */ 
642
            __in_opt  LPCGUID pguidEventContext) = 0;
643
        
644
    };
645
    
646
#else         /* C style interface */
647

    
648
    typedef struct IPerChannelDbLevelVtbl
649
    {
650
        BEGIN_INTERFACE
651
        
652
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
653
            IPerChannelDbLevel * This,
654
            /* [in] */ REFIID riid,
655
            /* [iid_is][out] */ 
656
            __RPC__deref_out  void **ppvObject);
657
        
658
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
659
            IPerChannelDbLevel * This);
660
        
661
        ULONG ( STDMETHODCALLTYPE *Release )( 
662
            IPerChannelDbLevel * This);
663
        
664
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
665
            IPerChannelDbLevel * This,
666
            /* [out] */ 
667
            __out  UINT *pcChannels);
668
        
669
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
670
            IPerChannelDbLevel * This,
671
            /* [in] */ 
672
            __in  UINT nChannel,
673
            /* [out] */ 
674
            __out  float *pfMinLevelDB,
675
            /* [out] */ 
676
            __out  float *pfMaxLevelDB,
677
            /* [out] */ 
678
            __out  float *pfStepping);
679
        
680
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
681
            IPerChannelDbLevel * This,
682
            /* [in] */ 
683
            __in  UINT nChannel,
684
            /* [out] */ 
685
            __out  float *pfLevelDB);
686
        
687
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
688
            IPerChannelDbLevel * This,
689
            /* [in] */ 
690
            __in  UINT nChannel,
691
            /* [in] */ 
692
            __in  float fLevelDB,
693
            /* [unique][in] */ 
694
            __in_opt  LPCGUID pguidEventContext);
695
        
696
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
697
            IPerChannelDbLevel * This,
698
            /* [in] */ 
699
            __in  float fLevelDB,
700
            /* [unique][in] */ 
701
            __in_opt  LPCGUID pguidEventContext);
702
        
703
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
704
            IPerChannelDbLevel * This,
705
            /* [size_is][in] */ 
706
            __in_ecount(cChannels)  float aLevelsDB[  ],
707
            /* [in] */ 
708
            __in  ULONG cChannels,
709
            /* [unique][in] */ 
710
            __in_opt  LPCGUID pguidEventContext);
711
        
712
        END_INTERFACE
713
    } IPerChannelDbLevelVtbl;
714

    
715
    interface IPerChannelDbLevel
716
    {
717
        CONST_VTBL struct IPerChannelDbLevelVtbl *lpVtbl;
718
    };
719

    
720
    
721

    
722
#ifdef COBJMACROS
723

    
724

    
725
#define IPerChannelDbLevel_QueryInterface(This,riid,ppvObject)        \
726
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
727

    
728
#define IPerChannelDbLevel_AddRef(This)        \
729
    ( (This)->lpVtbl -> AddRef(This) ) 
730

    
731
#define IPerChannelDbLevel_Release(This)        \
732
    ( (This)->lpVtbl -> Release(This) ) 
733

    
734

    
735
#define IPerChannelDbLevel_GetChannelCount(This,pcChannels)        \
736
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
737

    
738
#define IPerChannelDbLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)        \
739
    ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) ) 
740

    
741
#define IPerChannelDbLevel_GetLevel(This,nChannel,pfLevelDB)        \
742
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) ) 
743

    
744
#define IPerChannelDbLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext)        \
745
    ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
746

    
747
#define IPerChannelDbLevel_SetLevelUniform(This,fLevelDB,pguidEventContext)        \
748
    ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) ) 
749

    
750
#define IPerChannelDbLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)        \
751
    ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) ) 
752

    
753
#endif /* COBJMACROS */
754

    
755

    
756
#endif         /* C style interface */
757

    
758

    
759

    
760

    
761
#endif         /* __IPerChannelDbLevel_INTERFACE_DEFINED__ */
762

    
763

    
764
#ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__
765
#define __IAudioVolumeLevel_INTERFACE_DEFINED__
766

    
767
/* interface IAudioVolumeLevel */
768
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
769

    
770

    
771
EXTERN_C const IID IID_IAudioVolumeLevel;
772

    
773
#if defined(__cplusplus) && !defined(CINTERFACE)
774
    
775
    MIDL_INTERFACE("7FB7B48F-531D-44A2-BCB3-5AD5A134B3DC")
776
    IAudioVolumeLevel : public IPerChannelDbLevel
777
    {
778
    public:
779
    };
780
    
781
#else         /* C style interface */
782

    
783
    typedef struct IAudioVolumeLevelVtbl
784
    {
785
        BEGIN_INTERFACE
786
        
787
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
788
            IAudioVolumeLevel * This,
789
            /* [in] */ REFIID riid,
790
            /* [iid_is][out] */ 
791
            __RPC__deref_out  void **ppvObject);
792
        
793
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
794
            IAudioVolumeLevel * This);
795
        
796
        ULONG ( STDMETHODCALLTYPE *Release )( 
797
            IAudioVolumeLevel * This);
798
        
799
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
800
            IAudioVolumeLevel * This,
801
            /* [out] */ 
802
            __out  UINT *pcChannels);
803
        
804
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
805
            IAudioVolumeLevel * This,
806
            /* [in] */ 
807
            __in  UINT nChannel,
808
            /* [out] */ 
809
            __out  float *pfMinLevelDB,
810
            /* [out] */ 
811
            __out  float *pfMaxLevelDB,
812
            /* [out] */ 
813
            __out  float *pfStepping);
814
        
815
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
816
            IAudioVolumeLevel * This,
817
            /* [in] */ 
818
            __in  UINT nChannel,
819
            /* [out] */ 
820
            __out  float *pfLevelDB);
821
        
822
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
823
            IAudioVolumeLevel * This,
824
            /* [in] */ 
825
            __in  UINT nChannel,
826
            /* [in] */ 
827
            __in  float fLevelDB,
828
            /* [unique][in] */ 
829
            __in_opt  LPCGUID pguidEventContext);
830
        
831
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
832
            IAudioVolumeLevel * This,
833
            /* [in] */ 
834
            __in  float fLevelDB,
835
            /* [unique][in] */ 
836
            __in_opt  LPCGUID pguidEventContext);
837
        
838
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
839
            IAudioVolumeLevel * This,
840
            /* [size_is][in] */ 
841
            __in_ecount(cChannels)  float aLevelsDB[  ],
842
            /* [in] */ 
843
            __in  ULONG cChannels,
844
            /* [unique][in] */ 
845
            __in_opt  LPCGUID pguidEventContext);
846
        
847
        END_INTERFACE
848
    } IAudioVolumeLevelVtbl;
849

    
850
    interface IAudioVolumeLevel
851
    {
852
        CONST_VTBL struct IAudioVolumeLevelVtbl *lpVtbl;
853
    };
854

    
855
    
856

    
857
#ifdef COBJMACROS
858

    
859

    
860
#define IAudioVolumeLevel_QueryInterface(This,riid,ppvObject)        \
861
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
862

    
863
#define IAudioVolumeLevel_AddRef(This)        \
864
    ( (This)->lpVtbl -> AddRef(This) ) 
865

    
866
#define IAudioVolumeLevel_Release(This)        \
867
    ( (This)->lpVtbl -> Release(This) ) 
868

    
869

    
870
#define IAudioVolumeLevel_GetChannelCount(This,pcChannels)        \
871
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
872

    
873
#define IAudioVolumeLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)        \
874
    ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) ) 
875

    
876
#define IAudioVolumeLevel_GetLevel(This,nChannel,pfLevelDB)        \
877
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) ) 
878

    
879
#define IAudioVolumeLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext)        \
880
    ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
881

    
882
#define IAudioVolumeLevel_SetLevelUniform(This,fLevelDB,pguidEventContext)        \
883
    ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) ) 
884

    
885
#define IAudioVolumeLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)        \
886
    ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) ) 
887

    
888

    
889
#endif /* COBJMACROS */
890

    
891

    
892
#endif         /* C style interface */
893

    
894

    
895

    
896

    
897
#endif         /* __IAudioVolumeLevel_INTERFACE_DEFINED__ */
898

    
899

    
900
#ifndef __IAudioChannelConfig_INTERFACE_DEFINED__
901
#define __IAudioChannelConfig_INTERFACE_DEFINED__
902

    
903
/* interface IAudioChannelConfig */
904
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
905

    
906

    
907
EXTERN_C const IID IID_IAudioChannelConfig;
908

    
909
#if defined(__cplusplus) && !defined(CINTERFACE)
910
    
911
    MIDL_INTERFACE("BB11C46F-EC28-493C-B88A-5DB88062CE98")
912
    IAudioChannelConfig : public IUnknown
913
    {
914
    public:
915
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetChannelConfig( 
916
            /* [in] */ DWORD dwConfig,
917
            /* [unique][in] */ 
918
            __in_opt  LPCGUID pguidEventContext) = 0;
919
        
920
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelConfig( 
921
            /* [retval][out] */ DWORD *pdwConfig) = 0;
922
        
923
    };
924
    
925
#else         /* C style interface */
926

    
927
    typedef struct IAudioChannelConfigVtbl
928
    {
929
        BEGIN_INTERFACE
930
        
931
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
932
            IAudioChannelConfig * This,
933
            /* [in] */ REFIID riid,
934
            /* [iid_is][out] */ 
935
            __RPC__deref_out  void **ppvObject);
936
        
937
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
938
            IAudioChannelConfig * This);
939
        
940
        ULONG ( STDMETHODCALLTYPE *Release )( 
941
            IAudioChannelConfig * This);
942
        
943
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetChannelConfig )( 
944
            IAudioChannelConfig * This,
945
            /* [in] */ DWORD dwConfig,
946
            /* [unique][in] */ 
947
            __in_opt  LPCGUID pguidEventContext);
948
        
949
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelConfig )( 
950
            IAudioChannelConfig * This,
951
            /* [retval][out] */ DWORD *pdwConfig);
952
        
953
        END_INTERFACE
954
    } IAudioChannelConfigVtbl;
955

    
956
    interface IAudioChannelConfig
957
    {
958
        CONST_VTBL struct IAudioChannelConfigVtbl *lpVtbl;
959
    };
960

    
961
    
962

    
963
#ifdef COBJMACROS
964

    
965

    
966
#define IAudioChannelConfig_QueryInterface(This,riid,ppvObject)        \
967
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
968

    
969
#define IAudioChannelConfig_AddRef(This)        \
970
    ( (This)->lpVtbl -> AddRef(This) ) 
971

    
972
#define IAudioChannelConfig_Release(This)        \
973
    ( (This)->lpVtbl -> Release(This) ) 
974

    
975

    
976
#define IAudioChannelConfig_SetChannelConfig(This,dwConfig,pguidEventContext)        \
977
    ( (This)->lpVtbl -> SetChannelConfig(This,dwConfig,pguidEventContext) ) 
978

    
979
#define IAudioChannelConfig_GetChannelConfig(This,pdwConfig)        \
980
    ( (This)->lpVtbl -> GetChannelConfig(This,pdwConfig) ) 
981

    
982
#endif /* COBJMACROS */
983

    
984

    
985
#endif         /* C style interface */
986

    
987

    
988

    
989

    
990
#endif         /* __IAudioChannelConfig_INTERFACE_DEFINED__ */
991

    
992

    
993
#ifndef __IAudioLoudness_INTERFACE_DEFINED__
994
#define __IAudioLoudness_INTERFACE_DEFINED__
995

    
996
/* interface IAudioLoudness */
997
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
998

    
999

    
1000
EXTERN_C const IID IID_IAudioLoudness;
1001

    
1002
#if defined(__cplusplus) && !defined(CINTERFACE)
1003
    
1004
    MIDL_INTERFACE("7D8B1437-DD53-4350-9C1B-1EE2890BD938")
1005
    IAudioLoudness : public IUnknown
1006
    {
1007
    public:
1008
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( 
1009
            /* [out] */ 
1010
            __out  BOOL *pbEnabled) = 0;
1011
        
1012
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( 
1013
            /* [in] */ 
1014
            __in  BOOL bEnable,
1015
            /* [unique][in] */ 
1016
            __in_opt  LPCGUID pguidEventContext) = 0;
1017
        
1018
    };
1019
    
1020
#else         /* C style interface */
1021

    
1022
    typedef struct IAudioLoudnessVtbl
1023
    {
1024
        BEGIN_INTERFACE
1025
        
1026
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1027
            IAudioLoudness * This,
1028
            /* [in] */ REFIID riid,
1029
            /* [iid_is][out] */ 
1030
            __RPC__deref_out  void **ppvObject);
1031
        
1032
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1033
            IAudioLoudness * This);
1034
        
1035
        ULONG ( STDMETHODCALLTYPE *Release )( 
1036
            IAudioLoudness * This);
1037
        
1038
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
1039
            IAudioLoudness * This,
1040
            /* [out] */ 
1041
            __out  BOOL *pbEnabled);
1042
        
1043
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( 
1044
            IAudioLoudness * This,
1045
            /* [in] */ 
1046
            __in  BOOL bEnable,
1047
            /* [unique][in] */ 
1048
            __in_opt  LPCGUID pguidEventContext);
1049
        
1050
        END_INTERFACE
1051
    } IAudioLoudnessVtbl;
1052

    
1053
    interface IAudioLoudness
1054
    {
1055
        CONST_VTBL struct IAudioLoudnessVtbl *lpVtbl;
1056
    };
1057

    
1058
    
1059

    
1060
#ifdef COBJMACROS
1061

    
1062

    
1063
#define IAudioLoudness_QueryInterface(This,riid,ppvObject)        \
1064
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1065

    
1066
#define IAudioLoudness_AddRef(This)        \
1067
    ( (This)->lpVtbl -> AddRef(This) ) 
1068

    
1069
#define IAudioLoudness_Release(This)        \
1070
    ( (This)->lpVtbl -> Release(This) ) 
1071

    
1072

    
1073
#define IAudioLoudness_GetEnabled(This,pbEnabled)        \
1074
    ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) ) 
1075

    
1076
#define IAudioLoudness_SetEnabled(This,bEnable,pguidEventContext)        \
1077
    ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) ) 
1078

    
1079
#endif /* COBJMACROS */
1080

    
1081

    
1082
#endif         /* C style interface */
1083

    
1084

    
1085

    
1086

    
1087
#endif         /* __IAudioLoudness_INTERFACE_DEFINED__ */
1088

    
1089

    
1090
#ifndef __IAudioInputSelector_INTERFACE_DEFINED__
1091
#define __IAudioInputSelector_INTERFACE_DEFINED__
1092

    
1093
/* interface IAudioInputSelector */
1094
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1095

    
1096

    
1097
EXTERN_C const IID IID_IAudioInputSelector;
1098

    
1099
#if defined(__cplusplus) && !defined(CINTERFACE)
1100
    
1101
    MIDL_INTERFACE("4F03DC02-5E6E-4653-8F72-A030C123D598")
1102
    IAudioInputSelector : public IUnknown
1103
    {
1104
    public:
1105
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( 
1106
            /* [out] */ 
1107
            __out  UINT *pnIdSelected) = 0;
1108
        
1109
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( 
1110
            /* [in] */ 
1111
            __in  UINT nIdSelect,
1112
            /* [unique][in] */ 
1113
            __in_opt  LPCGUID pguidEventContext) = 0;
1114
        
1115
    };
1116
    
1117
#else         /* C style interface */
1118

    
1119
    typedef struct IAudioInputSelectorVtbl
1120
    {
1121
        BEGIN_INTERFACE
1122
        
1123
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1124
            IAudioInputSelector * This,
1125
            /* [in] */ REFIID riid,
1126
            /* [iid_is][out] */ 
1127
            __RPC__deref_out  void **ppvObject);
1128
        
1129
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1130
            IAudioInputSelector * This);
1131
        
1132
        ULONG ( STDMETHODCALLTYPE *Release )( 
1133
            IAudioInputSelector * This);
1134
        
1135
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
1136
            IAudioInputSelector * This,
1137
            /* [out] */ 
1138
            __out  UINT *pnIdSelected);
1139
        
1140
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
1141
            IAudioInputSelector * This,
1142
            /* [in] */ 
1143
            __in  UINT nIdSelect,
1144
            /* [unique][in] */ 
1145
            __in_opt  LPCGUID pguidEventContext);
1146
        
1147
        END_INTERFACE
1148
    } IAudioInputSelectorVtbl;
1149

    
1150
    interface IAudioInputSelector
1151
    {
1152
        CONST_VTBL struct IAudioInputSelectorVtbl *lpVtbl;
1153
    };
1154

    
1155
    
1156

    
1157
#ifdef COBJMACROS
1158

    
1159

    
1160
#define IAudioInputSelector_QueryInterface(This,riid,ppvObject)        \
1161
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1162

    
1163
#define IAudioInputSelector_AddRef(This)        \
1164
    ( (This)->lpVtbl -> AddRef(This) ) 
1165

    
1166
#define IAudioInputSelector_Release(This)        \
1167
    ( (This)->lpVtbl -> Release(This) ) 
1168

    
1169

    
1170
#define IAudioInputSelector_GetSelection(This,pnIdSelected)        \
1171
    ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) ) 
1172

    
1173
#define IAudioInputSelector_SetSelection(This,nIdSelect,pguidEventContext)        \
1174
    ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) ) 
1175

    
1176
#endif /* COBJMACROS */
1177

    
1178

    
1179
#endif         /* C style interface */
1180

    
1181

    
1182

    
1183

    
1184
#endif         /* __IAudioInputSelector_INTERFACE_DEFINED__ */
1185

    
1186

    
1187
#ifndef __IAudioOutputSelector_INTERFACE_DEFINED__
1188
#define __IAudioOutputSelector_INTERFACE_DEFINED__
1189

    
1190
/* interface IAudioOutputSelector */
1191
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1192

    
1193

    
1194
EXTERN_C const IID IID_IAudioOutputSelector;
1195

    
1196
#if defined(__cplusplus) && !defined(CINTERFACE)
1197
    
1198
    MIDL_INTERFACE("BB515F69-94A7-429e-8B9C-271B3F11A3AB")
1199
    IAudioOutputSelector : public IUnknown
1200
    {
1201
    public:
1202
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( 
1203
            /* [out] */ 
1204
            __out  UINT *pnIdSelected) = 0;
1205
        
1206
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( 
1207
            /* [in] */ 
1208
            __in  UINT nIdSelect,
1209
            /* [unique][in] */ 
1210
            __in_opt  LPCGUID pguidEventContext) = 0;
1211
        
1212
    };
1213
    
1214
#else         /* C style interface */
1215

    
1216
    typedef struct IAudioOutputSelectorVtbl
1217
    {
1218
        BEGIN_INTERFACE
1219
        
1220
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1221
            IAudioOutputSelector * This,
1222
            /* [in] */ REFIID riid,
1223
            /* [iid_is][out] */ 
1224
            __RPC__deref_out  void **ppvObject);
1225
        
1226
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1227
            IAudioOutputSelector * This);
1228
        
1229
        ULONG ( STDMETHODCALLTYPE *Release )( 
1230
            IAudioOutputSelector * This);
1231
        
1232
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
1233
            IAudioOutputSelector * This,
1234
            /* [out] */ 
1235
            __out  UINT *pnIdSelected);
1236
        
1237
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
1238
            IAudioOutputSelector * This,
1239
            /* [in] */ 
1240
            __in  UINT nIdSelect,
1241
            /* [unique][in] */ 
1242
            __in_opt  LPCGUID pguidEventContext);
1243
        
1244
        END_INTERFACE
1245
    } IAudioOutputSelectorVtbl;
1246

    
1247
    interface IAudioOutputSelector
1248
    {
1249
        CONST_VTBL struct IAudioOutputSelectorVtbl *lpVtbl;
1250
    };
1251

    
1252
    
1253

    
1254
#ifdef COBJMACROS
1255

    
1256

    
1257
#define IAudioOutputSelector_QueryInterface(This,riid,ppvObject)        \
1258
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1259

    
1260
#define IAudioOutputSelector_AddRef(This)        \
1261
    ( (This)->lpVtbl -> AddRef(This) ) 
1262

    
1263
#define IAudioOutputSelector_Release(This)        \
1264
    ( (This)->lpVtbl -> Release(This) ) 
1265

    
1266

    
1267
#define IAudioOutputSelector_GetSelection(This,pnIdSelected)        \
1268
    ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) ) 
1269

    
1270
#define IAudioOutputSelector_SetSelection(This,nIdSelect,pguidEventContext)        \
1271
    ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) ) 
1272

    
1273
#endif /* COBJMACROS */
1274

    
1275

    
1276
#endif         /* C style interface */
1277

    
1278

    
1279

    
1280

    
1281
#endif         /* __IAudioOutputSelector_INTERFACE_DEFINED__ */
1282

    
1283

    
1284
#ifndef __IAudioMute_INTERFACE_DEFINED__
1285
#define __IAudioMute_INTERFACE_DEFINED__
1286

    
1287
/* interface IAudioMute */
1288
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1289

    
1290

    
1291
EXTERN_C const IID IID_IAudioMute;
1292

    
1293
#if defined(__cplusplus) && !defined(CINTERFACE)
1294
    
1295
    MIDL_INTERFACE("DF45AEEA-B74A-4B6B-AFAD-2366B6AA012E")
1296
    IAudioMute : public IUnknown
1297
    {
1298
    public:
1299
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMute( 
1300
            /* [in] */ 
1301
            __in  BOOL bMuted,
1302
            /* [unique][in] */ 
1303
            __in_opt  LPCGUID pguidEventContext) = 0;
1304
        
1305
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMute( 
1306
            /* [out] */ 
1307
            __out  BOOL *pbMuted) = 0;
1308
        
1309
    };
1310
    
1311
#else         /* C style interface */
1312

    
1313
    typedef struct IAudioMuteVtbl
1314
    {
1315
        BEGIN_INTERFACE
1316
        
1317
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1318
            IAudioMute * This,
1319
            /* [in] */ REFIID riid,
1320
            /* [iid_is][out] */ 
1321
            __RPC__deref_out  void **ppvObject);
1322
        
1323
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1324
            IAudioMute * This);
1325
        
1326
        ULONG ( STDMETHODCALLTYPE *Release )( 
1327
            IAudioMute * This);
1328
        
1329
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMute )( 
1330
            IAudioMute * This,
1331
            /* [in] */ 
1332
            __in  BOOL bMuted,
1333
            /* [unique][in] */ 
1334
            __in_opt  LPCGUID pguidEventContext);
1335
        
1336
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMute )( 
1337
            IAudioMute * This,
1338
            /* [out] */ 
1339
            __out  BOOL *pbMuted);
1340
        
1341
        END_INTERFACE
1342
    } IAudioMuteVtbl;
1343

    
1344
    interface IAudioMute
1345
    {
1346
        CONST_VTBL struct IAudioMuteVtbl *lpVtbl;
1347
    };
1348

    
1349
    
1350

    
1351
#ifdef COBJMACROS
1352

    
1353

    
1354
#define IAudioMute_QueryInterface(This,riid,ppvObject)        \
1355
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1356

    
1357
#define IAudioMute_AddRef(This)        \
1358
    ( (This)->lpVtbl -> AddRef(This) ) 
1359

    
1360
#define IAudioMute_Release(This)        \
1361
    ( (This)->lpVtbl -> Release(This) ) 
1362

    
1363

    
1364
#define IAudioMute_SetMute(This,bMuted,pguidEventContext)        \
1365
    ( (This)->lpVtbl -> SetMute(This,bMuted,pguidEventContext) ) 
1366

    
1367
#define IAudioMute_GetMute(This,pbMuted)        \
1368
    ( (This)->lpVtbl -> GetMute(This,pbMuted) ) 
1369

    
1370
#endif /* COBJMACROS */
1371

    
1372

    
1373
#endif         /* C style interface */
1374

    
1375

    
1376

    
1377

    
1378
#endif         /* __IAudioMute_INTERFACE_DEFINED__ */
1379

    
1380

    
1381
#ifndef __IAudioBass_INTERFACE_DEFINED__
1382
#define __IAudioBass_INTERFACE_DEFINED__
1383

    
1384
/* interface IAudioBass */
1385
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1386

    
1387

    
1388
EXTERN_C const IID IID_IAudioBass;
1389

    
1390
#if defined(__cplusplus) && !defined(CINTERFACE)
1391
    
1392
    MIDL_INTERFACE("A2B1A1D9-4DB3-425D-A2B2-BD335CB3E2E5")
1393
    IAudioBass : public IPerChannelDbLevel
1394
    {
1395
    public:
1396
    };
1397
    
1398
#else         /* C style interface */
1399

    
1400
    typedef struct IAudioBassVtbl
1401
    {
1402
        BEGIN_INTERFACE
1403
        
1404
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1405
            IAudioBass * This,
1406
            /* [in] */ REFIID riid,
1407
            /* [iid_is][out] */ 
1408
            __RPC__deref_out  void **ppvObject);
1409
        
1410
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1411
            IAudioBass * This);
1412
        
1413
        ULONG ( STDMETHODCALLTYPE *Release )( 
1414
            IAudioBass * This);
1415
        
1416
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
1417
            IAudioBass * This,
1418
            /* [out] */ 
1419
            __out  UINT *pcChannels);
1420
        
1421
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
1422
            IAudioBass * This,
1423
            /* [in] */ 
1424
            __in  UINT nChannel,
1425
            /* [out] */ 
1426
            __out  float *pfMinLevelDB,
1427
            /* [out] */ 
1428
            __out  float *pfMaxLevelDB,
1429
            /* [out] */ 
1430
            __out  float *pfStepping);
1431
        
1432
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
1433
            IAudioBass * This,
1434
            /* [in] */ 
1435
            __in  UINT nChannel,
1436
            /* [out] */ 
1437
            __out  float *pfLevelDB);
1438
        
1439
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
1440
            IAudioBass * This,
1441
            /* [in] */ 
1442
            __in  UINT nChannel,
1443
            /* [in] */ 
1444
            __in  float fLevelDB,
1445
            /* [unique][in] */ 
1446
            __in_opt  LPCGUID pguidEventContext);
1447
        
1448
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
1449
            IAudioBass * This,
1450
            /* [in] */ 
1451
            __in  float fLevelDB,
1452
            /* [unique][in] */ 
1453
            __in_opt  LPCGUID pguidEventContext);
1454
        
1455
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
1456
            IAudioBass * This,
1457
            /* [size_is][in] */ 
1458
            __in_ecount(cChannels)  float aLevelsDB[  ],
1459
            /* [in] */ 
1460
            __in  ULONG cChannels,
1461
            /* [unique][in] */ 
1462
            __in_opt  LPCGUID pguidEventContext);
1463
        
1464
        END_INTERFACE
1465
    } IAudioBassVtbl;
1466

    
1467
    interface IAudioBass
1468
    {
1469
        CONST_VTBL struct IAudioBassVtbl *lpVtbl;
1470
    };
1471

    
1472
    
1473

    
1474
#ifdef COBJMACROS
1475

    
1476

    
1477
#define IAudioBass_QueryInterface(This,riid,ppvObject)        \
1478
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1479

    
1480
#define IAudioBass_AddRef(This)        \
1481
    ( (This)->lpVtbl -> AddRef(This) ) 
1482

    
1483
#define IAudioBass_Release(This)        \
1484
    ( (This)->lpVtbl -> Release(This) ) 
1485

    
1486

    
1487
#define IAudioBass_GetChannelCount(This,pcChannels)        \
1488
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
1489

    
1490
#define IAudioBass_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)        \
1491
    ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) ) 
1492

    
1493
#define IAudioBass_GetLevel(This,nChannel,pfLevelDB)        \
1494
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) ) 
1495

    
1496
#define IAudioBass_SetLevel(This,nChannel,fLevelDB,pguidEventContext)        \
1497
    ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
1498

    
1499
#define IAudioBass_SetLevelUniform(This,fLevelDB,pguidEventContext)        \
1500
    ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) ) 
1501

    
1502
#define IAudioBass_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)        \
1503
    ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) ) 
1504

    
1505

    
1506
#endif /* COBJMACROS */
1507

    
1508

    
1509
#endif         /* C style interface */
1510

    
1511

    
1512

    
1513

    
1514
#endif         /* __IAudioBass_INTERFACE_DEFINED__ */
1515

    
1516

    
1517
#ifndef __IAudioMidrange_INTERFACE_DEFINED__
1518
#define __IAudioMidrange_INTERFACE_DEFINED__
1519

    
1520
/* interface IAudioMidrange */
1521
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1522

    
1523

    
1524
EXTERN_C const IID IID_IAudioMidrange;
1525

    
1526
#if defined(__cplusplus) && !defined(CINTERFACE)
1527
    
1528
    MIDL_INTERFACE("5E54B6D7-B44B-40D9-9A9E-E691D9CE6EDF")
1529
    IAudioMidrange : public IPerChannelDbLevel
1530
    {
1531
    public:
1532
    };
1533
    
1534
#else         /* C style interface */
1535

    
1536
    typedef struct IAudioMidrangeVtbl
1537
    {
1538
        BEGIN_INTERFACE
1539
        
1540
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1541
            IAudioMidrange * This,
1542
            /* [in] */ REFIID riid,
1543
            /* [iid_is][out] */ 
1544
            __RPC__deref_out  void **ppvObject);
1545
        
1546
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1547
            IAudioMidrange * This);
1548
        
1549
        ULONG ( STDMETHODCALLTYPE *Release )( 
1550
            IAudioMidrange * This);
1551
        
1552
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
1553
            IAudioMidrange * This,
1554
            /* [out] */ 
1555
            __out  UINT *pcChannels);
1556
        
1557
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
1558
            IAudioMidrange * This,
1559
            /* [in] */ 
1560
            __in  UINT nChannel,
1561
            /* [out] */ 
1562
            __out  float *pfMinLevelDB,
1563
            /* [out] */ 
1564
            __out  float *pfMaxLevelDB,
1565
            /* [out] */ 
1566
            __out  float *pfStepping);
1567
        
1568
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
1569
            IAudioMidrange * This,
1570
            /* [in] */ 
1571
            __in  UINT nChannel,
1572
            /* [out] */ 
1573
            __out  float *pfLevelDB);
1574
        
1575
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
1576
            IAudioMidrange * This,
1577
            /* [in] */ 
1578
            __in  UINT nChannel,
1579
            /* [in] */ 
1580
            __in  float fLevelDB,
1581
            /* [unique][in] */ 
1582
            __in_opt  LPCGUID pguidEventContext);
1583
        
1584
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
1585
            IAudioMidrange * This,
1586
            /* [in] */ 
1587
            __in  float fLevelDB,
1588
            /* [unique][in] */ 
1589
            __in_opt  LPCGUID pguidEventContext);
1590
        
1591
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
1592
            IAudioMidrange * This,
1593
            /* [size_is][in] */ 
1594
            __in_ecount(cChannels)  float aLevelsDB[  ],
1595
            /* [in] */ 
1596
            __in  ULONG cChannels,
1597
            /* [unique][in] */ 
1598
            __in_opt  LPCGUID pguidEventContext);
1599
        
1600
        END_INTERFACE
1601
    } IAudioMidrangeVtbl;
1602

    
1603
    interface IAudioMidrange
1604
    {
1605
        CONST_VTBL struct IAudioMidrangeVtbl *lpVtbl;
1606
    };
1607

    
1608
    
1609

    
1610
#ifdef COBJMACROS
1611

    
1612

    
1613
#define IAudioMidrange_QueryInterface(This,riid,ppvObject)        \
1614
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1615

    
1616
#define IAudioMidrange_AddRef(This)        \
1617
    ( (This)->lpVtbl -> AddRef(This) ) 
1618

    
1619
#define IAudioMidrange_Release(This)        \
1620
    ( (This)->lpVtbl -> Release(This) ) 
1621

    
1622

    
1623
#define IAudioMidrange_GetChannelCount(This,pcChannels)        \
1624
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
1625

    
1626
#define IAudioMidrange_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)        \
1627
    ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) ) 
1628

    
1629
#define IAudioMidrange_GetLevel(This,nChannel,pfLevelDB)        \
1630
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) ) 
1631

    
1632
#define IAudioMidrange_SetLevel(This,nChannel,fLevelDB,pguidEventContext)        \
1633
    ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
1634

    
1635
#define IAudioMidrange_SetLevelUniform(This,fLevelDB,pguidEventContext)        \
1636
    ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) ) 
1637

    
1638
#define IAudioMidrange_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)        \
1639
    ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) ) 
1640

    
1641

    
1642
#endif /* COBJMACROS */
1643

    
1644

    
1645
#endif         /* C style interface */
1646

    
1647

    
1648

    
1649

    
1650
#endif         /* __IAudioMidrange_INTERFACE_DEFINED__ */
1651

    
1652

    
1653
#ifndef __IAudioTreble_INTERFACE_DEFINED__
1654
#define __IAudioTreble_INTERFACE_DEFINED__
1655

    
1656
/* interface IAudioTreble */
1657
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1658

    
1659

    
1660
EXTERN_C const IID IID_IAudioTreble;
1661

    
1662
#if defined(__cplusplus) && !defined(CINTERFACE)
1663
    
1664
    MIDL_INTERFACE("0A717812-694E-4907-B74B-BAFA5CFDCA7B")
1665
    IAudioTreble : public IPerChannelDbLevel
1666
    {
1667
    public:
1668
    };
1669
    
1670
#else         /* C style interface */
1671

    
1672
    typedef struct IAudioTrebleVtbl
1673
    {
1674
        BEGIN_INTERFACE
1675
        
1676
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1677
            IAudioTreble * This,
1678
            /* [in] */ REFIID riid,
1679
            /* [iid_is][out] */ 
1680
            __RPC__deref_out  void **ppvObject);
1681
        
1682
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1683
            IAudioTreble * This);
1684
        
1685
        ULONG ( STDMETHODCALLTYPE *Release )( 
1686
            IAudioTreble * This);
1687
        
1688
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
1689
            IAudioTreble * This,
1690
            /* [out] */ 
1691
            __out  UINT *pcChannels);
1692
        
1693
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
1694
            IAudioTreble * This,
1695
            /* [in] */ 
1696
            __in  UINT nChannel,
1697
            /* [out] */ 
1698
            __out  float *pfMinLevelDB,
1699
            /* [out] */ 
1700
            __out  float *pfMaxLevelDB,
1701
            /* [out] */ 
1702
            __out  float *pfStepping);
1703
        
1704
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
1705
            IAudioTreble * This,
1706
            /* [in] */ 
1707
            __in  UINT nChannel,
1708
            /* [out] */ 
1709
            __out  float *pfLevelDB);
1710
        
1711
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
1712
            IAudioTreble * This,
1713
            /* [in] */ 
1714
            __in  UINT nChannel,
1715
            /* [in] */ 
1716
            __in  float fLevelDB,
1717
            /* [unique][in] */ 
1718
            __in_opt  LPCGUID pguidEventContext);
1719
        
1720
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
1721
            IAudioTreble * This,
1722
            /* [in] */ 
1723
            __in  float fLevelDB,
1724
            /* [unique][in] */ 
1725
            __in_opt  LPCGUID pguidEventContext);
1726
        
1727
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
1728
            IAudioTreble * This,
1729
            /* [size_is][in] */ 
1730
            __in_ecount(cChannels)  float aLevelsDB[  ],
1731
            /* [in] */ 
1732
            __in  ULONG cChannels,
1733
            /* [unique][in] */ 
1734
            __in_opt  LPCGUID pguidEventContext);
1735
        
1736
        END_INTERFACE
1737
    } IAudioTrebleVtbl;
1738

    
1739
    interface IAudioTreble
1740
    {
1741
        CONST_VTBL struct IAudioTrebleVtbl *lpVtbl;
1742
    };
1743

    
1744
    
1745

    
1746
#ifdef COBJMACROS
1747

    
1748

    
1749
#define IAudioTreble_QueryInterface(This,riid,ppvObject)        \
1750
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1751

    
1752
#define IAudioTreble_AddRef(This)        \
1753
    ( (This)->lpVtbl -> AddRef(This) ) 
1754

    
1755
#define IAudioTreble_Release(This)        \
1756
    ( (This)->lpVtbl -> Release(This) ) 
1757

    
1758

    
1759
#define IAudioTreble_GetChannelCount(This,pcChannels)        \
1760
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
1761

    
1762
#define IAudioTreble_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)        \
1763
    ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) ) 
1764

    
1765
#define IAudioTreble_GetLevel(This,nChannel,pfLevelDB)        \
1766
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) ) 
1767

    
1768
#define IAudioTreble_SetLevel(This,nChannel,fLevelDB,pguidEventContext)        \
1769
    ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) ) 
1770

    
1771
#define IAudioTreble_SetLevelUniform(This,fLevelDB,pguidEventContext)        \
1772
    ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) ) 
1773

    
1774
#define IAudioTreble_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)        \
1775
    ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) ) 
1776

    
1777

    
1778
#endif /* COBJMACROS */
1779

    
1780

    
1781
#endif         /* C style interface */
1782

    
1783

    
1784

    
1785

    
1786
#endif         /* __IAudioTreble_INTERFACE_DEFINED__ */
1787

    
1788

    
1789
#ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__
1790
#define __IAudioAutoGainControl_INTERFACE_DEFINED__
1791

    
1792
/* interface IAudioAutoGainControl */
1793
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1794

    
1795

    
1796
EXTERN_C const IID IID_IAudioAutoGainControl;
1797

    
1798
#if defined(__cplusplus) && !defined(CINTERFACE)
1799
    
1800
    MIDL_INTERFACE("85401FD4-6DE4-4b9d-9869-2D6753A82F3C")
1801
    IAudioAutoGainControl : public IUnknown
1802
    {
1803
    public:
1804
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( 
1805
            /* [out] */ 
1806
            __out  BOOL *pbEnabled) = 0;
1807
        
1808
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( 
1809
            /* [in] */ 
1810
            __in  BOOL bEnable,
1811
            /* [unique][in] */ 
1812
            __in_opt  LPCGUID pguidEventContext) = 0;
1813
        
1814
    };
1815
    
1816
#else         /* C style interface */
1817

    
1818
    typedef struct IAudioAutoGainControlVtbl
1819
    {
1820
        BEGIN_INTERFACE
1821
        
1822
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1823
            IAudioAutoGainControl * This,
1824
            /* [in] */ REFIID riid,
1825
            /* [iid_is][out] */ 
1826
            __RPC__deref_out  void **ppvObject);
1827
        
1828
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1829
            IAudioAutoGainControl * This);
1830
        
1831
        ULONG ( STDMETHODCALLTYPE *Release )( 
1832
            IAudioAutoGainControl * This);
1833
        
1834
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
1835
            IAudioAutoGainControl * This,
1836
            /* [out] */ 
1837
            __out  BOOL *pbEnabled);
1838
        
1839
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( 
1840
            IAudioAutoGainControl * This,
1841
            /* [in] */ 
1842
            __in  BOOL bEnable,
1843
            /* [unique][in] */ 
1844
            __in_opt  LPCGUID pguidEventContext);
1845
        
1846
        END_INTERFACE
1847
    } IAudioAutoGainControlVtbl;
1848

    
1849
    interface IAudioAutoGainControl
1850
    {
1851
        CONST_VTBL struct IAudioAutoGainControlVtbl *lpVtbl;
1852
    };
1853

    
1854
    
1855

    
1856
#ifdef COBJMACROS
1857

    
1858

    
1859
#define IAudioAutoGainControl_QueryInterface(This,riid,ppvObject)        \
1860
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1861

    
1862
#define IAudioAutoGainControl_AddRef(This)        \
1863
    ( (This)->lpVtbl -> AddRef(This) ) 
1864

    
1865
#define IAudioAutoGainControl_Release(This)        \
1866
    ( (This)->lpVtbl -> Release(This) ) 
1867

    
1868

    
1869
#define IAudioAutoGainControl_GetEnabled(This,pbEnabled)        \
1870
    ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) ) 
1871

    
1872
#define IAudioAutoGainControl_SetEnabled(This,bEnable,pguidEventContext)        \
1873
    ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) ) 
1874

    
1875
#endif /* COBJMACROS */
1876

    
1877

    
1878
#endif         /* C style interface */
1879

    
1880

    
1881

    
1882

    
1883
#endif         /* __IAudioAutoGainControl_INTERFACE_DEFINED__ */
1884

    
1885

    
1886
#ifndef __IAudioPeakMeter_INTERFACE_DEFINED__
1887
#define __IAudioPeakMeter_INTERFACE_DEFINED__
1888

    
1889
/* interface IAudioPeakMeter */
1890
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1891

    
1892

    
1893
EXTERN_C const IID IID_IAudioPeakMeter;
1894

    
1895
#if defined(__cplusplus) && !defined(CINTERFACE)
1896
    
1897
    MIDL_INTERFACE("DD79923C-0599-45e0-B8B6-C8DF7DB6E796")
1898
    IAudioPeakMeter : public IUnknown
1899
    {
1900
    public:
1901
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
1902
            /* [out] */ 
1903
            __out  UINT *pcChannels) = 0;
1904
        
1905
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( 
1906
            /* [in] */ 
1907
            __in  UINT nChannel,
1908
            /* [out] */ 
1909
            __out  float *pfLevel) = 0;
1910
        
1911
    };
1912
    
1913
#else         /* C style interface */
1914

    
1915
    typedef struct IAudioPeakMeterVtbl
1916
    {
1917
        BEGIN_INTERFACE
1918
        
1919
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1920
            IAudioPeakMeter * This,
1921
            /* [in] */ REFIID riid,
1922
            /* [iid_is][out] */ 
1923
            __RPC__deref_out  void **ppvObject);
1924
        
1925
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1926
            IAudioPeakMeter * This);
1927
        
1928
        ULONG ( STDMETHODCALLTYPE *Release )( 
1929
            IAudioPeakMeter * This);
1930
        
1931
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
1932
            IAudioPeakMeter * This,
1933
            /* [out] */ 
1934
            __out  UINT *pcChannels);
1935
        
1936
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
1937
            IAudioPeakMeter * This,
1938
            /* [in] */ 
1939
            __in  UINT nChannel,
1940
            /* [out] */ 
1941
            __out  float *pfLevel);
1942
        
1943
        END_INTERFACE
1944
    } IAudioPeakMeterVtbl;
1945

    
1946
    interface IAudioPeakMeter
1947
    {
1948
        CONST_VTBL struct IAudioPeakMeterVtbl *lpVtbl;
1949
    };
1950

    
1951
    
1952

    
1953
#ifdef COBJMACROS
1954

    
1955

    
1956
#define IAudioPeakMeter_QueryInterface(This,riid,ppvObject)        \
1957
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1958

    
1959
#define IAudioPeakMeter_AddRef(This)        \
1960
    ( (This)->lpVtbl -> AddRef(This) ) 
1961

    
1962
#define IAudioPeakMeter_Release(This)        \
1963
    ( (This)->lpVtbl -> Release(This) ) 
1964

    
1965

    
1966
#define IAudioPeakMeter_GetChannelCount(This,pcChannels)        \
1967
    ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) 
1968

    
1969
#define IAudioPeakMeter_GetLevel(This,nChannel,pfLevel)        \
1970
    ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevel) ) 
1971

    
1972
#endif /* COBJMACROS */
1973

    
1974

    
1975
#endif         /* C style interface */
1976

    
1977

    
1978

    
1979

    
1980
#endif         /* __IAudioPeakMeter_INTERFACE_DEFINED__ */
1981

    
1982

    
1983
#ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__
1984
#define __IDeviceSpecificProperty_INTERFACE_DEFINED__
1985

    
1986
/* interface IDeviceSpecificProperty */
1987
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
1988

    
1989

    
1990
EXTERN_C const IID IID_IDeviceSpecificProperty;
1991

    
1992
#if defined(__cplusplus) && !defined(CINTERFACE)
1993
    
1994
    MIDL_INTERFACE("3B22BCBF-2586-4af0-8583-205D391B807C")
1995
    IDeviceSpecificProperty : public IUnknown
1996
    {
1997
    public:
1998
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( 
1999
            /* [out] */ 
2000
            __deref_out  VARTYPE *pVType) = 0;
2001
        
2002
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetValue( 
2003
            /* [out] */ 
2004
            __out  void *pvValue,
2005
            /* [out][in] */ 
2006
            __inout  DWORD *pcbValue) = 0;
2007
        
2008
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetValue( 
2009
            /* [in] */ 
2010
            __in  void *pvValue,
2011
            /* [in] */ DWORD cbValue,
2012
            /* [unique][in] */ 
2013
            __in_opt  LPCGUID pguidEventContext) = 0;
2014
        
2015
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Get4BRange( 
2016
            /* [out] */ 
2017
            __deref_out  LONG *plMin,
2018
            /* [out] */ 
2019
            __deref_out  LONG *plMax,
2020
            /* [out] */ 
2021
            __deref_out  LONG *plStepping) = 0;
2022
        
2023
    };
2024
    
2025
#else         /* C style interface */
2026

    
2027
    typedef struct IDeviceSpecificPropertyVtbl
2028
    {
2029
        BEGIN_INTERFACE
2030
        
2031
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2032
            IDeviceSpecificProperty * This,
2033
            /* [in] */ REFIID riid,
2034
            /* [iid_is][out] */ 
2035
            __RPC__deref_out  void **ppvObject);
2036
        
2037
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2038
            IDeviceSpecificProperty * This);
2039
        
2040
        ULONG ( STDMETHODCALLTYPE *Release )( 
2041
            IDeviceSpecificProperty * This);
2042
        
2043
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
2044
            IDeviceSpecificProperty * This,
2045
            /* [out] */ 
2046
            __deref_out  VARTYPE *pVType);
2047
        
2048
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
2049
            IDeviceSpecificProperty * This,
2050
            /* [out] */ 
2051
            __out  void *pvValue,
2052
            /* [out][in] */ 
2053
            __inout  DWORD *pcbValue);
2054
        
2055
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( 
2056
            IDeviceSpecificProperty * This,
2057
            /* [in] */ 
2058
            __in  void *pvValue,
2059
            /* [in] */ DWORD cbValue,
2060
            /* [unique][in] */ 
2061
            __in_opt  LPCGUID pguidEventContext);
2062
        
2063
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Get4BRange )( 
2064
            IDeviceSpecificProperty * This,
2065
            /* [out] */ 
2066
            __deref_out  LONG *plMin,
2067
            /* [out] */ 
2068
            __deref_out  LONG *plMax,
2069
            /* [out] */ 
2070
            __deref_out  LONG *plStepping);
2071
        
2072
        END_INTERFACE
2073
    } IDeviceSpecificPropertyVtbl;
2074

    
2075
    interface IDeviceSpecificProperty
2076
    {
2077
        CONST_VTBL struct IDeviceSpecificPropertyVtbl *lpVtbl;
2078
    };
2079

    
2080
    
2081

    
2082
#ifdef COBJMACROS
2083

    
2084

    
2085
#define IDeviceSpecificProperty_QueryInterface(This,riid,ppvObject)        \
2086
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2087

    
2088
#define IDeviceSpecificProperty_AddRef(This)        \
2089
    ( (This)->lpVtbl -> AddRef(This) ) 
2090

    
2091
#define IDeviceSpecificProperty_Release(This)        \
2092
    ( (This)->lpVtbl -> Release(This) ) 
2093

    
2094

    
2095
#define IDeviceSpecificProperty_GetType(This,pVType)        \
2096
    ( (This)->lpVtbl -> GetType(This,pVType) ) 
2097

    
2098
#define IDeviceSpecificProperty_GetValue(This,pvValue,pcbValue)        \
2099
    ( (This)->lpVtbl -> GetValue(This,pvValue,pcbValue) ) 
2100

    
2101
#define IDeviceSpecificProperty_SetValue(This,pvValue,cbValue,pguidEventContext)        \
2102
    ( (This)->lpVtbl -> SetValue(This,pvValue,cbValue,pguidEventContext) ) 
2103

    
2104
#define IDeviceSpecificProperty_Get4BRange(This,plMin,plMax,plStepping)        \
2105
    ( (This)->lpVtbl -> Get4BRange(This,plMin,plMax,plStepping) ) 
2106

    
2107
#endif /* COBJMACROS */
2108

    
2109

    
2110
#endif         /* C style interface */
2111

    
2112

    
2113

    
2114

    
2115
#endif         /* __IDeviceSpecificProperty_INTERFACE_DEFINED__ */
2116

    
2117

    
2118
#ifndef __IKsFormatSupport_INTERFACE_DEFINED__
2119
#define __IKsFormatSupport_INTERFACE_DEFINED__
2120

    
2121
/* interface IKsFormatSupport */
2122
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
2123

    
2124

    
2125
EXTERN_C const IID IID_IKsFormatSupport;
2126

    
2127
#if defined(__cplusplus) && !defined(CINTERFACE)
2128
    
2129
    MIDL_INTERFACE("3CB4A69D-BB6F-4D2B-95B7-452D2C155DB5")
2130
    IKsFormatSupport : public IUnknown
2131
    {
2132
    public:
2133
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsFormatSupported( 
2134
            /* [size_is][in] */ PKSDATAFORMAT pKsFormat,
2135
            /* [in] */ 
2136
            __in  DWORD cbFormat,
2137
            /* [out] */ 
2138
            __out  BOOL *pbSupported) = 0;
2139
        
2140
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat( 
2141
            /* [out] */ PKSDATAFORMAT *ppKsFormat) = 0;
2142
        
2143
    };
2144
    
2145
#else         /* C style interface */
2146

    
2147
    typedef struct IKsFormatSupportVtbl
2148
    {
2149
        BEGIN_INTERFACE
2150
        
2151
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2152
            IKsFormatSupport * This,
2153
            /* [in] */ REFIID riid,
2154
            /* [iid_is][out] */ 
2155
            __RPC__deref_out  void **ppvObject);
2156
        
2157
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2158
            IKsFormatSupport * This);
2159
        
2160
        ULONG ( STDMETHODCALLTYPE *Release )( 
2161
            IKsFormatSupport * This);
2162
        
2163
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
2164
            IKsFormatSupport * This,
2165
            /* [size_is][in] */ PKSDATAFORMAT pKsFormat,
2166
            /* [in] */ 
2167
            __in  DWORD cbFormat,
2168
            /* [out] */ 
2169
            __out  BOOL *pbSupported);
2170
        
2171
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDevicePreferredFormat )( 
2172
            IKsFormatSupport * This,
2173
            /* [out] */ PKSDATAFORMAT *ppKsFormat);
2174
        
2175
        END_INTERFACE
2176
    } IKsFormatSupportVtbl;
2177

    
2178
    interface IKsFormatSupport
2179
    {
2180
        CONST_VTBL struct IKsFormatSupportVtbl *lpVtbl;
2181
    };
2182

    
2183
    
2184

    
2185
#ifdef COBJMACROS
2186

    
2187

    
2188
#define IKsFormatSupport_QueryInterface(This,riid,ppvObject)        \
2189
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2190

    
2191
#define IKsFormatSupport_AddRef(This)        \
2192
    ( (This)->lpVtbl -> AddRef(This) ) 
2193

    
2194
#define IKsFormatSupport_Release(This)        \
2195
    ( (This)->lpVtbl -> Release(This) ) 
2196

    
2197

    
2198
#define IKsFormatSupport_IsFormatSupported(This,pKsFormat,cbFormat,pbSupported)        \
2199
    ( (This)->lpVtbl -> IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) ) 
2200

    
2201
#define IKsFormatSupport_GetDevicePreferredFormat(This,ppKsFormat)        \
2202
    ( (This)->lpVtbl -> GetDevicePreferredFormat(This,ppKsFormat) ) 
2203

    
2204
#endif /* COBJMACROS */
2205

    
2206

    
2207
#endif         /* C style interface */
2208

    
2209

    
2210

    
2211

    
2212
#endif         /* __IKsFormatSupport_INTERFACE_DEFINED__ */
2213

    
2214

    
2215
#ifndef __IKsJackDescription_INTERFACE_DEFINED__
2216
#define __IKsJackDescription_INTERFACE_DEFINED__
2217

    
2218
/* interface IKsJackDescription */
2219
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
2220

    
2221

    
2222
EXTERN_C const IID IID_IKsJackDescription;
2223

    
2224
#if defined(__cplusplus) && !defined(CINTERFACE)
2225
    
2226
    MIDL_INTERFACE("4509F757-2D46-4637-8E62-CE7DB944F57B")
2227
    IKsJackDescription : public IUnknown
2228
    {
2229
    public:
2230
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackCount( 
2231
            /* [out] */ 
2232
            __out  UINT *pcJacks) = 0;
2233
        
2234
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackDescription( 
2235
            /* [in] */ UINT nJack,
2236
            /* [out] */ 
2237
            __out  KSJACK_DESCRIPTION *pDescription) = 0;
2238
        
2239
    };
2240
    
2241
#else         /* C style interface */
2242

    
2243
    typedef struct IKsJackDescriptionVtbl
2244
    {
2245
        BEGIN_INTERFACE
2246
        
2247
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2248
            IKsJackDescription * This,
2249
            /* [in] */ REFIID riid,
2250
            /* [iid_is][out] */ 
2251
            __RPC__deref_out  void **ppvObject);
2252
        
2253
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2254
            IKsJackDescription * This);
2255
        
2256
        ULONG ( STDMETHODCALLTYPE *Release )( 
2257
            IKsJackDescription * This);
2258
        
2259
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackCount )( 
2260
            IKsJackDescription * This,
2261
            /* [out] */ 
2262
            __out  UINT *pcJacks);
2263
        
2264
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackDescription )( 
2265
            IKsJackDescription * This,
2266
            /* [in] */ UINT nJack,
2267
            /* [out] */ 
2268
            __out  KSJACK_DESCRIPTION *pDescription);
2269
        
2270
        END_INTERFACE
2271
    } IKsJackDescriptionVtbl;
2272

    
2273
    interface IKsJackDescription
2274
    {
2275
        CONST_VTBL struct IKsJackDescriptionVtbl *lpVtbl;
2276
    };
2277

    
2278
    
2279

    
2280
#ifdef COBJMACROS
2281

    
2282

    
2283
#define IKsJackDescription_QueryInterface(This,riid,ppvObject)        \
2284
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2285

    
2286
#define IKsJackDescription_AddRef(This)        \
2287
    ( (This)->lpVtbl -> AddRef(This) ) 
2288

    
2289
#define IKsJackDescription_Release(This)        \
2290
    ( (This)->lpVtbl -> Release(This) ) 
2291

    
2292

    
2293
#define IKsJackDescription_GetJackCount(This,pcJacks)        \
2294
    ( (This)->lpVtbl -> GetJackCount(This,pcJacks) ) 
2295

    
2296
#define IKsJackDescription_GetJackDescription(This,nJack,pDescription)        \
2297
    ( (This)->lpVtbl -> GetJackDescription(This,nJack,pDescription) ) 
2298

    
2299
#endif /* COBJMACROS */
2300

    
2301

    
2302
#endif         /* C style interface */
2303

    
2304

    
2305

    
2306

    
2307
#endif         /* __IKsJackDescription_INTERFACE_DEFINED__ */
2308

    
2309

    
2310
#ifndef __IPartsList_INTERFACE_DEFINED__
2311
#define __IPartsList_INTERFACE_DEFINED__
2312

    
2313
/* interface IPartsList */
2314
/* [object][unique][helpstring][uuid][local] */ 
2315

    
2316

    
2317
EXTERN_C const IID IID_IPartsList;
2318

    
2319
#if defined(__cplusplus) && !defined(CINTERFACE)
2320
    
2321
    MIDL_INTERFACE("6DAA848C-5EB0-45CC-AEA5-998A2CDA1FFB")
2322
    IPartsList : public IUnknown
2323
    {
2324
    public:
2325
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
2326
            /* [out] */ 
2327
            __out  UINT *pCount) = 0;
2328
        
2329
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPart( 
2330
            /* [in] */ 
2331
            __in  UINT nIndex,
2332
            /* [out] */ 
2333
            __out  IPart **ppPart) = 0;
2334
        
2335
    };
2336
    
2337
#else         /* C style interface */
2338

    
2339
    typedef struct IPartsListVtbl
2340
    {
2341
        BEGIN_INTERFACE
2342
        
2343
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2344
            IPartsList * This,
2345
            /* [in] */ REFIID riid,
2346
            /* [iid_is][out] */ 
2347
            __RPC__deref_out  void **ppvObject);
2348
        
2349
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2350
            IPartsList * This);
2351
        
2352
        ULONG ( STDMETHODCALLTYPE *Release )( 
2353
            IPartsList * This);
2354
        
2355
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
2356
            IPartsList * This,
2357
            /* [out] */ 
2358
            __out  UINT *pCount);
2359
        
2360
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPart )( 
2361
            IPartsList * This,
2362
            /* [in] */ 
2363
            __in  UINT nIndex,
2364
            /* [out] */ 
2365
            __out  IPart **ppPart);
2366
        
2367
        END_INTERFACE
2368
    } IPartsListVtbl;
2369

    
2370
    interface IPartsList
2371
    {
2372
        CONST_VTBL struct IPartsListVtbl *lpVtbl;
2373
    };
2374

    
2375
    
2376

    
2377
#ifdef COBJMACROS
2378

    
2379

    
2380
#define IPartsList_QueryInterface(This,riid,ppvObject)        \
2381
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2382

    
2383
#define IPartsList_AddRef(This)        \
2384
    ( (This)->lpVtbl -> AddRef(This) ) 
2385

    
2386
#define IPartsList_Release(This)        \
2387
    ( (This)->lpVtbl -> Release(This) ) 
2388

    
2389

    
2390
#define IPartsList_GetCount(This,pCount)        \
2391
    ( (This)->lpVtbl -> GetCount(This,pCount) ) 
2392

    
2393
#define IPartsList_GetPart(This,nIndex,ppPart)        \
2394
    ( (This)->lpVtbl -> GetPart(This,nIndex,ppPart) ) 
2395

    
2396
#endif /* COBJMACROS */
2397

    
2398

    
2399
#endif         /* C style interface */
2400

    
2401

    
2402

    
2403

    
2404
#endif         /* __IPartsList_INTERFACE_DEFINED__ */
2405

    
2406

    
2407
#ifndef __IPart_INTERFACE_DEFINED__
2408
#define __IPart_INTERFACE_DEFINED__
2409

    
2410
/* interface IPart */
2411
/* [object][unique][helpstring][uuid][local] */ 
2412

    
2413

    
2414
EXTERN_C const IID IID_IPart;
2415

    
2416
#if defined(__cplusplus) && !defined(CINTERFACE)
2417
    
2418
    MIDL_INTERFACE("AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9")
2419
    IPart : public IUnknown
2420
    {
2421
    public:
2422
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( 
2423
            /* [out] */ 
2424
            __deref_out  LPWSTR *ppwstrName) = 0;
2425
        
2426
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLocalId( 
2427
            /* [out] */ 
2428
            __out  UINT *pnId) = 0;
2429
        
2430
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetGlobalId( 
2431
            /* [out] */ 
2432
            __deref_out  LPWSTR *ppwstrGlobalId) = 0;
2433
        
2434
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartType( 
2435
            /* [out] */ 
2436
            __out  PartType *pPartType) = 0;
2437
        
2438
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubType( 
2439
            /* [out] */ GUID *pSubType) = 0;
2440
        
2441
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterfaceCount( 
2442
            /* [out] */ 
2443
            __out  UINT *pCount) = 0;
2444
        
2445
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterface( 
2446
            /* [in] */ 
2447
            __in  UINT nIndex,
2448
            /* [out] */ 
2449
            __out  IControlInterface **ppInterfaceDesc) = 0;
2450
        
2451
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsIncoming( 
2452
            /* [out] */ 
2453
            __out  IPartsList **ppParts) = 0;
2454
        
2455
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsOutgoing( 
2456
            /* [out] */ 
2457
            __out  IPartsList **ppParts) = 0;
2458
        
2459
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTopologyObject( 
2460
            /* [out] */ 
2461
            __out  IDeviceTopology **ppTopology) = 0;
2462
        
2463
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate( 
2464
            /* [in] */ 
2465
            __in  DWORD dwClsContext,
2466
            /* [in] */ 
2467
            __in  REFIID refiid,
2468
            /* [iid_is][out] */ 
2469
            __out_opt  void **ppvObject) = 0;
2470
        
2471
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback( 
2472
            /* [in] */ 
2473
            __in  REFGUID riid,
2474
            /* [in] */ 
2475
            __in  IControlChangeNotify *pNotify) = 0;
2476
        
2477
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback( 
2478
            /* [in] */ 
2479
            __in  IControlChangeNotify *pNotify) = 0;
2480
        
2481
    };
2482
    
2483
#else         /* C style interface */
2484

    
2485
    typedef struct IPartVtbl
2486
    {
2487
        BEGIN_INTERFACE
2488
        
2489
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2490
            IPart * This,
2491
            /* [in] */ REFIID riid,
2492
            /* [iid_is][out] */ 
2493
            __RPC__deref_out  void **ppvObject);
2494
        
2495
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2496
            IPart * This);
2497
        
2498
        ULONG ( STDMETHODCALLTYPE *Release )( 
2499
            IPart * This);
2500
        
2501
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
2502
            IPart * This,
2503
            /* [out] */ 
2504
            __deref_out  LPWSTR *ppwstrName);
2505
        
2506
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLocalId )( 
2507
            IPart * This,
2508
            /* [out] */ 
2509
            __out  UINT *pnId);
2510
        
2511
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetGlobalId )( 
2512
            IPart * This,
2513
            /* [out] */ 
2514
            __deref_out  LPWSTR *ppwstrGlobalId);
2515
        
2516
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartType )( 
2517
            IPart * This,
2518
            /* [out] */ 
2519
            __out  PartType *pPartType);
2520
        
2521
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubType )( 
2522
            IPart * This,
2523
            /* [out] */ GUID *pSubType);
2524
        
2525
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterfaceCount )( 
2526
            IPart * This,
2527
            /* [out] */ 
2528
            __out  UINT *pCount);
2529
        
2530
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterface )( 
2531
            IPart * This,
2532
            /* [in] */ 
2533
            __in  UINT nIndex,
2534
            /* [out] */ 
2535
            __out  IControlInterface **ppInterfaceDesc);
2536
        
2537
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsIncoming )( 
2538
            IPart * This,
2539
            /* [out] */ 
2540
            __out  IPartsList **ppParts);
2541
        
2542
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsOutgoing )( 
2543
            IPart * This,
2544
            /* [out] */ 
2545
            __out  IPartsList **ppParts);
2546
        
2547
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTopologyObject )( 
2548
            IPart * This,
2549
            /* [out] */ 
2550
            __out  IDeviceTopology **ppTopology);
2551
        
2552
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( 
2553
            IPart * This,
2554
            /* [in] */ 
2555
            __in  DWORD dwClsContext,
2556
            /* [in] */ 
2557
            __in  REFIID refiid,
2558
            /* [iid_is][out] */ 
2559
            __out_opt  void **ppvObject);
2560
        
2561
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeCallback )( 
2562
            IPart * This,
2563
            /* [in] */ 
2564
            __in  REFGUID riid,
2565
            /* [in] */ 
2566
            __in  IControlChangeNotify *pNotify);
2567
        
2568
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeCallback )( 
2569
            IPart * This,
2570
            /* [in] */ 
2571
            __in  IControlChangeNotify *pNotify);
2572
        
2573
        END_INTERFACE
2574
    } IPartVtbl;
2575

    
2576
    interface IPart
2577
    {
2578
        CONST_VTBL struct IPartVtbl *lpVtbl;
2579
    };
2580

    
2581
    
2582

    
2583
#ifdef COBJMACROS
2584

    
2585

    
2586
#define IPart_QueryInterface(This,riid,ppvObject)        \
2587
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2588

    
2589
#define IPart_AddRef(This)        \
2590
    ( (This)->lpVtbl -> AddRef(This) ) 
2591

    
2592
#define IPart_Release(This)        \
2593
    ( (This)->lpVtbl -> Release(This) ) 
2594

    
2595

    
2596
#define IPart_GetName(This,ppwstrName)        \
2597
    ( (This)->lpVtbl -> GetName(This,ppwstrName) ) 
2598

    
2599
#define IPart_GetLocalId(This,pnId)        \
2600
    ( (This)->lpVtbl -> GetLocalId(This,pnId) ) 
2601

    
2602
#define IPart_GetGlobalId(This,ppwstrGlobalId)        \
2603
    ( (This)->lpVtbl -> GetGlobalId(This,ppwstrGlobalId) ) 
2604

    
2605
#define IPart_GetPartType(This,pPartType)        \
2606
    ( (This)->lpVtbl -> GetPartType(This,pPartType) ) 
2607

    
2608
#define IPart_GetSubType(This,pSubType)        \
2609
    ( (This)->lpVtbl -> GetSubType(This,pSubType) ) 
2610

    
2611
#define IPart_GetControlInterfaceCount(This,pCount)        \
2612
    ( (This)->lpVtbl -> GetControlInterfaceCount(This,pCount) ) 
2613

    
2614
#define IPart_GetControlInterface(This,nIndex,ppInterfaceDesc)        \
2615
    ( (This)->lpVtbl -> GetControlInterface(This,nIndex,ppInterfaceDesc) ) 
2616

    
2617
#define IPart_EnumPartsIncoming(This,ppParts)        \
2618
    ( (This)->lpVtbl -> EnumPartsIncoming(This,ppParts) ) 
2619

    
2620
#define IPart_EnumPartsOutgoing(This,ppParts)        \
2621
    ( (This)->lpVtbl -> EnumPartsOutgoing(This,ppParts) ) 
2622

    
2623
#define IPart_GetTopologyObject(This,ppTopology)        \
2624
    ( (This)->lpVtbl -> GetTopologyObject(This,ppTopology) ) 
2625

    
2626
#define IPart_Activate(This,dwClsContext,refiid,ppvObject)        \
2627
    ( (This)->lpVtbl -> Activate(This,dwClsContext,refiid,ppvObject) ) 
2628

    
2629
#define IPart_RegisterControlChangeCallback(This,riid,pNotify)        \
2630
    ( (This)->lpVtbl -> RegisterControlChangeCallback(This,riid,pNotify) ) 
2631

    
2632
#define IPart_UnregisterControlChangeCallback(This,pNotify)        \
2633
    ( (This)->lpVtbl -> UnregisterControlChangeCallback(This,pNotify) ) 
2634

    
2635
#endif /* COBJMACROS */
2636

    
2637

    
2638
#endif         /* C style interface */
2639

    
2640

    
2641

    
2642

    
2643
#endif         /* __IPart_INTERFACE_DEFINED__ */
2644

    
2645

    
2646
#ifndef __IConnector_INTERFACE_DEFINED__
2647
#define __IConnector_INTERFACE_DEFINED__
2648

    
2649
/* interface IConnector */
2650
/* [object][unique][helpstring][uuid][local] */ 
2651

    
2652

    
2653
EXTERN_C const IID IID_IConnector;
2654

    
2655
#if defined(__cplusplus) && !defined(CINTERFACE)
2656
    
2657
    MIDL_INTERFACE("9c2c4058-23f5-41de-877a-df3af236a09e")
2658
    IConnector : public IUnknown
2659
    {
2660
    public:
2661
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( 
2662
            /* [out] */ 
2663
            __out  ConnectorType *pType) = 0;
2664
        
2665
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDataFlow( 
2666
            /* [out] */ 
2667
            __out  DataFlow *pFlow) = 0;
2668
        
2669
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConnectTo( 
2670
            /* [in] */ 
2671
            __in  IConnector *pConnectTo) = 0;
2672
        
2673
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
2674
        
2675
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsConnected( 
2676
            /* [out] */ 
2677
            __out  BOOL *pbConnected) = 0;
2678
        
2679
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectedTo( 
2680
            /* [out] */ 
2681
            __out  IConnector **ppConTo) = 0;
2682
        
2683
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo( 
2684
            /* [out] */ 
2685
            __deref_out  LPWSTR *ppwstrConnectorId) = 0;
2686
        
2687
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo( 
2688
            /* [out] */ 
2689
            __deref_out  LPWSTR *ppwstrDeviceId) = 0;
2690
        
2691
    };
2692
    
2693
#else         /* C style interface */
2694

    
2695
    typedef struct IConnectorVtbl
2696
    {
2697
        BEGIN_INTERFACE
2698
        
2699
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2700
            IConnector * This,
2701
            /* [in] */ REFIID riid,
2702
            /* [iid_is][out] */ 
2703
            __RPC__deref_out  void **ppvObject);
2704
        
2705
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2706
            IConnector * This);
2707
        
2708
        ULONG ( STDMETHODCALLTYPE *Release )( 
2709
            IConnector * This);
2710
        
2711
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
2712
            IConnector * This,
2713
            /* [out] */ 
2714
            __out  ConnectorType *pType);
2715
        
2716
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFlow )( 
2717
            IConnector * This,
2718
            /* [out] */ 
2719
            __out  DataFlow *pFlow);
2720
        
2721
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConnectTo )( 
2722
            IConnector * This,
2723
            /* [in] */ 
2724
            __in  IConnector *pConnectTo);
2725
        
2726
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
2727
            IConnector * This);
2728
        
2729
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
2730
            IConnector * This,
2731
            /* [out] */ 
2732
            __out  BOOL *pbConnected);
2733
        
2734
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectedTo )( 
2735
            IConnector * This,
2736
            /* [out] */ 
2737
            __out  IConnector **ppConTo);
2738
        
2739
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorIdConnectedTo )( 
2740
            IConnector * This,
2741
            /* [out] */ 
2742
            __deref_out  LPWSTR *ppwstrConnectorId);
2743
        
2744
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceIdConnectedTo )( 
2745
            IConnector * This,
2746
            /* [out] */ 
2747
            __deref_out  LPWSTR *ppwstrDeviceId);
2748
        
2749
        END_INTERFACE
2750
    } IConnectorVtbl;
2751

    
2752
    interface IConnector
2753
    {
2754
        CONST_VTBL struct IConnectorVtbl *lpVtbl;
2755
    };
2756

    
2757
    
2758

    
2759
#ifdef COBJMACROS
2760

    
2761

    
2762
#define IConnector_QueryInterface(This,riid,ppvObject)        \
2763
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2764

    
2765
#define IConnector_AddRef(This)        \
2766
    ( (This)->lpVtbl -> AddRef(This) ) 
2767

    
2768
#define IConnector_Release(This)        \
2769
    ( (This)->lpVtbl -> Release(This) ) 
2770

    
2771

    
2772
#define IConnector_GetType(This,pType)        \
2773
    ( (This)->lpVtbl -> GetType(This,pType) ) 
2774

    
2775
#define IConnector_GetDataFlow(This,pFlow)        \
2776
    ( (This)->lpVtbl -> GetDataFlow(This,pFlow) ) 
2777

    
2778
#define IConnector_ConnectTo(This,pConnectTo)        \
2779
    ( (This)->lpVtbl -> ConnectTo(This,pConnectTo) ) 
2780

    
2781
#define IConnector_Disconnect(This)        \
2782
    ( (This)->lpVtbl -> Disconnect(This) ) 
2783

    
2784
#define IConnector_IsConnected(This,pbConnected)        \
2785
    ( (This)->lpVtbl -> IsConnected(This,pbConnected) ) 
2786

    
2787
#define IConnector_GetConnectedTo(This,ppConTo)        \
2788
    ( (This)->lpVtbl -> GetConnectedTo(This,ppConTo) ) 
2789

    
2790
#define IConnector_GetConnectorIdConnectedTo(This,ppwstrConnectorId)        \
2791
    ( (This)->lpVtbl -> GetConnectorIdConnectedTo(This,ppwstrConnectorId) ) 
2792

    
2793
#define IConnector_GetDeviceIdConnectedTo(This,ppwstrDeviceId)        \
2794
    ( (This)->lpVtbl -> GetDeviceIdConnectedTo(This,ppwstrDeviceId) ) 
2795

    
2796
#endif /* COBJMACROS */
2797

    
2798

    
2799
#endif         /* C style interface */
2800

    
2801

    
2802

    
2803

    
2804
#endif         /* __IConnector_INTERFACE_DEFINED__ */
2805

    
2806

    
2807
#ifndef __ISubunit_INTERFACE_DEFINED__
2808
#define __ISubunit_INTERFACE_DEFINED__
2809

    
2810
/* interface ISubunit */
2811
/* [object][unique][helpstring][uuid][local] */ 
2812

    
2813

    
2814
EXTERN_C const IID IID_ISubunit;
2815

    
2816
#if defined(__cplusplus) && !defined(CINTERFACE)
2817
    
2818
    MIDL_INTERFACE("82149A85-DBA6-4487-86BB-EA8F7FEFCC71")
2819
    ISubunit : public IUnknown
2820
    {
2821
    public:
2822
    };
2823
    
2824
#else         /* C style interface */
2825

    
2826
    typedef struct ISubunitVtbl
2827
    {
2828
        BEGIN_INTERFACE
2829
        
2830
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2831
            ISubunit * This,
2832
            /* [in] */ REFIID riid,
2833
            /* [iid_is][out] */ 
2834
            __RPC__deref_out  void **ppvObject);
2835
        
2836
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2837
            ISubunit * This);
2838
        
2839
        ULONG ( STDMETHODCALLTYPE *Release )( 
2840
            ISubunit * This);
2841
        
2842
        END_INTERFACE
2843
    } ISubunitVtbl;
2844

    
2845
    interface ISubunit
2846
    {
2847
        CONST_VTBL struct ISubunitVtbl *lpVtbl;
2848
    };
2849

    
2850
    
2851

    
2852
#ifdef COBJMACROS
2853

    
2854

    
2855
#define ISubunit_QueryInterface(This,riid,ppvObject)        \
2856
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2857

    
2858
#define ISubunit_AddRef(This)        \
2859
    ( (This)->lpVtbl -> AddRef(This) ) 
2860

    
2861
#define ISubunit_Release(This)        \
2862
    ( (This)->lpVtbl -> Release(This) ) 
2863

    
2864

    
2865
#endif /* COBJMACROS */
2866

    
2867

    
2868
#endif         /* C style interface */
2869

    
2870

    
2871

    
2872

    
2873
#endif         /* __ISubunit_INTERFACE_DEFINED__ */
2874

    
2875

    
2876
#ifndef __IControlInterface_INTERFACE_DEFINED__
2877
#define __IControlInterface_INTERFACE_DEFINED__
2878

    
2879
/* interface IControlInterface */
2880
/* [object][unique][helpstring][uuid][local] */ 
2881

    
2882

    
2883
EXTERN_C const IID IID_IControlInterface;
2884

    
2885
#if defined(__cplusplus) && !defined(CINTERFACE)
2886
    
2887
    MIDL_INTERFACE("45d37c3f-5140-444a-ae24-400789f3cbf3")
2888
    IControlInterface : public IUnknown
2889
    {
2890
    public:
2891
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( 
2892
            /* [out] */ 
2893
            __deref_out  LPWSTR *ppwstrName) = 0;
2894
        
2895
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetIID( 
2896
            /* [out] */ 
2897
            __out  GUID *pIID) = 0;
2898
        
2899
    };
2900
    
2901
#else         /* C style interface */
2902

    
2903
    typedef struct IControlInterfaceVtbl
2904
    {
2905
        BEGIN_INTERFACE
2906
        
2907
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2908
            IControlInterface * This,
2909
            /* [in] */ REFIID riid,
2910
            /* [iid_is][out] */ 
2911
            __RPC__deref_out  void **ppvObject);
2912
        
2913
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2914
            IControlInterface * This);
2915
        
2916
        ULONG ( STDMETHODCALLTYPE *Release )( 
2917
            IControlInterface * This);
2918
        
2919
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
2920
            IControlInterface * This,
2921
            /* [out] */ 
2922
            __deref_out  LPWSTR *ppwstrName);
2923
        
2924
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
2925
            IControlInterface * This,
2926
            /* [out] */ 
2927
            __out  GUID *pIID);
2928
        
2929
        END_INTERFACE
2930
    } IControlInterfaceVtbl;
2931

    
2932
    interface IControlInterface
2933
    {
2934
        CONST_VTBL struct IControlInterfaceVtbl *lpVtbl;
2935
    };
2936

    
2937
    
2938

    
2939
#ifdef COBJMACROS
2940

    
2941

    
2942
#define IControlInterface_QueryInterface(This,riid,ppvObject)        \
2943
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2944

    
2945
#define IControlInterface_AddRef(This)        \
2946
    ( (This)->lpVtbl -> AddRef(This) ) 
2947

    
2948
#define IControlInterface_Release(This)        \
2949
    ( (This)->lpVtbl -> Release(This) ) 
2950

    
2951

    
2952
#define IControlInterface_GetName(This,ppwstrName)        \
2953
    ( (This)->lpVtbl -> GetName(This,ppwstrName) ) 
2954

    
2955
#define IControlInterface_GetIID(This,pIID)        \
2956
    ( (This)->lpVtbl -> GetIID(This,pIID) ) 
2957

    
2958
#endif /* COBJMACROS */
2959

    
2960

    
2961
#endif         /* C style interface */
2962

    
2963

    
2964

    
2965

    
2966
#endif         /* __IControlInterface_INTERFACE_DEFINED__ */
2967

    
2968

    
2969
#ifndef __IControlChangeNotify_INTERFACE_DEFINED__
2970
#define __IControlChangeNotify_INTERFACE_DEFINED__
2971

    
2972
/* interface IControlChangeNotify */
2973
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
2974

    
2975

    
2976
EXTERN_C const IID IID_IControlChangeNotify;
2977

    
2978
#if defined(__cplusplus) && !defined(CINTERFACE)
2979
    
2980
    MIDL_INTERFACE("A09513ED-C709-4d21-BD7B-5F34C47F3947")
2981
    IControlChangeNotify : public IUnknown
2982
    {
2983
    public:
2984
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnNotify( 
2985
            /* [in] */ 
2986
            __in  DWORD dwSenderProcessId,
2987
            /* [unique][in] */ 
2988
            __in_opt  LPCGUID pguidEventContext) = 0;
2989
        
2990
    };
2991
    
2992
#else         /* C style interface */
2993

    
2994
    typedef struct IControlChangeNotifyVtbl
2995
    {
2996
        BEGIN_INTERFACE
2997
        
2998
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2999
            IControlChangeNotify * This,
3000
            /* [in] */ REFIID riid,
3001
            /* [iid_is][out] */ 
3002
            __RPC__deref_out  void **ppvObject);
3003
        
3004
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
3005
            IControlChangeNotify * This);
3006
        
3007
        ULONG ( STDMETHODCALLTYPE *Release )( 
3008
            IControlChangeNotify * This);
3009
        
3010
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnNotify )( 
3011
            IControlChangeNotify * This,
3012
            /* [in] */ 
3013
            __in  DWORD dwSenderProcessId,
3014
            /* [unique][in] */ 
3015
            __in_opt  LPCGUID pguidEventContext);
3016
        
3017
        END_INTERFACE
3018
    } IControlChangeNotifyVtbl;
3019

    
3020
    interface IControlChangeNotify
3021
    {
3022
        CONST_VTBL struct IControlChangeNotifyVtbl *lpVtbl;
3023
    };
3024

    
3025
    
3026

    
3027
#ifdef COBJMACROS
3028

    
3029

    
3030
#define IControlChangeNotify_QueryInterface(This,riid,ppvObject)        \
3031
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3032

    
3033
#define IControlChangeNotify_AddRef(This)        \
3034
    ( (This)->lpVtbl -> AddRef(This) ) 
3035

    
3036
#define IControlChangeNotify_Release(This)        \
3037
    ( (This)->lpVtbl -> Release(This) ) 
3038

    
3039

    
3040
#define IControlChangeNotify_OnNotify(This,dwSenderProcessId,pguidEventContext)        \
3041
    ( (This)->lpVtbl -> OnNotify(This,dwSenderProcessId,pguidEventContext) ) 
3042

    
3043
#endif /* COBJMACROS */
3044

    
3045

    
3046
#endif         /* C style interface */
3047

    
3048

    
3049

    
3050

    
3051
#endif         /* __IControlChangeNotify_INTERFACE_DEFINED__ */
3052

    
3053

    
3054
#ifndef __IDeviceTopology_INTERFACE_DEFINED__
3055
#define __IDeviceTopology_INTERFACE_DEFINED__
3056

    
3057
/* interface IDeviceTopology */
3058
/* [unique][helpstring][nonextensible][uuid][local][object] */ 
3059

    
3060

    
3061
EXTERN_C const IID IID_IDeviceTopology;
3062

    
3063
#if defined(__cplusplus) && !defined(CINTERFACE)
3064
    
3065
    MIDL_INTERFACE("2A07407E-6497-4A18-9787-32F79BD0D98F")
3066
    IDeviceTopology : public IUnknown
3067
    {
3068
    public:
3069
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorCount( 
3070
            /* [out] */ 
3071
            __out  UINT *pCount) = 0;
3072
        
3073
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnector( 
3074
            /* [in] */ 
3075
            __in  UINT nIndex,
3076
            /* [out] */ 
3077
            __out  IConnector **ppConnector) = 0;
3078
        
3079
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunitCount( 
3080
            /* [out] */ 
3081
            __out  UINT *pCount) = 0;
3082
        
3083
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunit( 
3084
            /* [in] */ 
3085
            __in  UINT nIndex,
3086
            /* [out] */ 
3087
            __deref_out  ISubunit **ppSubunit) = 0;
3088
        
3089
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartById( 
3090
            /* [in] */ 
3091
            __in  UINT nId,
3092
            /* [out] */ 
3093
            __deref_out  IPart **ppPart) = 0;
3094
        
3095
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceId( 
3096
            /* [out] */ 
3097
            __deref_out  LPWSTR *ppwstrDeviceId) = 0;
3098
        
3099
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSignalPath( 
3100
            /* [in] */ 
3101
            __in  IPart *pIPartFrom,
3102
            /* [in] */ 
3103
            __in  IPart *pIPartTo,
3104
            /* [in] */ 
3105
            __in  BOOL bRejectMixedPaths,
3106
            /* [out] */ 
3107
            __deref_out  IPartsList **ppParts) = 0;
3108
        
3109
    };
3110
    
3111
#else         /* C style interface */
3112

    
3113
    typedef struct IDeviceTopologyVtbl
3114
    {
3115
        BEGIN_INTERFACE
3116
        
3117
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
3118
            IDeviceTopology * This,
3119
            /* [in] */ REFIID riid,
3120
            /* [iid_is][out] */ 
3121
            __RPC__deref_out  void **ppvObject);
3122
        
3123
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
3124
            IDeviceTopology * This);
3125
        
3126
        ULONG ( STDMETHODCALLTYPE *Release )( 
3127
            IDeviceTopology * This);
3128
        
3129
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorCount )( 
3130
            IDeviceTopology * This,
3131
            /* [out] */ 
3132
            __out  UINT *pCount);
3133
        
3134
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnector )( 
3135
            IDeviceTopology * This,
3136
            /* [in] */ 
3137
            __in  UINT nIndex,
3138
            /* [out] */ 
3139
            __out  IConnector **ppConnector);
3140
        
3141
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunitCount )( 
3142
            IDeviceTopology * This,
3143
            /* [out] */ 
3144
            __out  UINT *pCount);
3145
        
3146
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunit )( 
3147
            IDeviceTopology * This,
3148
            /* [in] */ 
3149
            __in  UINT nIndex,
3150
            /* [out] */ 
3151
            __deref_out  ISubunit **ppSubunit);
3152
        
3153
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartById )( 
3154
            IDeviceTopology * This,
3155
            /* [in] */ 
3156
            __in  UINT nId,
3157
            /* [out] */ 
3158
            __deref_out  IPart **ppPart);
3159
        
3160
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceId )( 
3161
            IDeviceTopology * This,
3162
            /* [out] */ 
3163
            __deref_out  LPWSTR *ppwstrDeviceId);
3164
        
3165
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSignalPath )( 
3166
            IDeviceTopology * This,
3167
            /* [in] */ 
3168
            __in  IPart *pIPartFrom,
3169
            /* [in] */ 
3170
            __in  IPart *pIPartTo,
3171
            /* [in] */ 
3172
            __in  BOOL bRejectMixedPaths,
3173
            /* [out] */ 
3174
            __deref_out  IPartsList **ppParts);
3175
        
3176
        END_INTERFACE
3177
    } IDeviceTopologyVtbl;
3178

    
3179
    interface IDeviceTopology
3180
    {
3181
        CONST_VTBL struct IDeviceTopologyVtbl *lpVtbl;
3182
    };
3183

    
3184
    
3185

    
3186
#ifdef COBJMACROS
3187

    
3188

    
3189
#define IDeviceTopology_QueryInterface(This,riid,ppvObject)        \
3190
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3191

    
3192
#define IDeviceTopology_AddRef(This)        \
3193
    ( (This)->lpVtbl -> AddRef(This) ) 
3194

    
3195
#define IDeviceTopology_Release(This)        \
3196
    ( (This)->lpVtbl -> Release(This) ) 
3197

    
3198

    
3199
#define IDeviceTopology_GetConnectorCount(This,pCount)        \
3200
    ( (This)->lpVtbl -> GetConnectorCount(This,pCount) ) 
3201

    
3202
#define IDeviceTopology_GetConnector(This,nIndex,ppConnector)        \
3203
    ( (This)->lpVtbl -> GetConnector(This,nIndex,ppConnector) ) 
3204

    
3205
#define IDeviceTopology_GetSubunitCount(This,pCount)        \
3206
    ( (This)->lpVtbl -> GetSubunitCount(This,pCount) ) 
3207

    
3208
#define IDeviceTopology_GetSubunit(This,nIndex,ppSubunit)        \
3209
    ( (This)->lpVtbl -> GetSubunit(This,nIndex,ppSubunit) ) 
3210

    
3211
#define IDeviceTopology_GetPartById(This,nId,ppPart)        \
3212
    ( (This)->lpVtbl -> GetPartById(This,nId,ppPart) ) 
3213

    
3214
#define IDeviceTopology_GetDeviceId(This,ppwstrDeviceId)        \
3215
    ( (This)->lpVtbl -> GetDeviceId(This,ppwstrDeviceId) ) 
3216

    
3217
#define IDeviceTopology_GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts)        \
3218
    ( (This)->lpVtbl -> GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) ) 
3219

    
3220
#endif /* COBJMACROS */
3221

    
3222

    
3223
#endif         /* C style interface */
3224

    
3225

    
3226

    
3227

    
3228
#endif         /* __IDeviceTopology_INTERFACE_DEFINED__ */
3229

    
3230

    
3231

    
3232
#ifndef __DevTopologyLib_LIBRARY_DEFINED__
3233
#define __DevTopologyLib_LIBRARY_DEFINED__
3234

    
3235
/* library DevTopologyLib */
3236
/* [helpstring][version][uuid] */ 
3237

    
3238

    
3239

    
3240

    
3241

    
3242

    
3243

    
3244

    
3245

    
3246

    
3247

    
3248

    
3249

    
3250

    
3251

    
3252

    
3253
EXTERN_C const IID LIBID_DevTopologyLib;
3254

    
3255
EXTERN_C const CLSID CLSID_DeviceTopology;
3256

    
3257
#ifdef __cplusplus
3258

    
3259
class DECLSPEC_UUID("1DF639D0-5EC1-47AA-9379-828DC1AA8C59")
3260
DeviceTopology;
3261
#endif
3262
#endif /* __DevTopologyLib_LIBRARY_DEFINED__ */
3263

    
3264
/* Additional Prototypes for ALL interfaces */
3265

    
3266
/* end of Additional Prototypes */
3267

    
3268
#ifdef __cplusplus
3269
}
3270
#endif
3271

    
3272
#endif
3273

    
3274

    
3275