source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/devicetopology.h@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 106.8 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/devicetopology.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __devicetopology_h__
17#define __devicetopology_h__
18
19/* Forward declarations */
20
21#ifndef __IKsControl_FWD_DEFINED__
22#define __IKsControl_FWD_DEFINED__
23typedef interface IKsControl IKsControl;
24#ifdef __cplusplus
25interface IKsControl;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IPerChannelDbLevel_FWD_DEFINED__
30#define __IPerChannelDbLevel_FWD_DEFINED__
31typedef interface IPerChannelDbLevel IPerChannelDbLevel;
32#ifdef __cplusplus
33interface IPerChannelDbLevel;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IAudioVolumeLevel_FWD_DEFINED__
38#define __IAudioVolumeLevel_FWD_DEFINED__
39typedef interface IAudioVolumeLevel IAudioVolumeLevel;
40#ifdef __cplusplus
41interface IAudioVolumeLevel;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IAudioChannelConfig_FWD_DEFINED__
46#define __IAudioChannelConfig_FWD_DEFINED__
47typedef interface IAudioChannelConfig IAudioChannelConfig;
48#ifdef __cplusplus
49interface IAudioChannelConfig;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IAudioLoudness_FWD_DEFINED__
54#define __IAudioLoudness_FWD_DEFINED__
55typedef interface IAudioLoudness IAudioLoudness;
56#ifdef __cplusplus
57interface IAudioLoudness;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IAudioInputSelector_FWD_DEFINED__
62#define __IAudioInputSelector_FWD_DEFINED__
63typedef interface IAudioInputSelector IAudioInputSelector;
64#ifdef __cplusplus
65interface IAudioInputSelector;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IAudioOutputSelector_FWD_DEFINED__
70#define __IAudioOutputSelector_FWD_DEFINED__
71typedef interface IAudioOutputSelector IAudioOutputSelector;
72#ifdef __cplusplus
73interface IAudioOutputSelector;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IAudioMute_FWD_DEFINED__
78#define __IAudioMute_FWD_DEFINED__
79typedef interface IAudioMute IAudioMute;
80#ifdef __cplusplus
81interface IAudioMute;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IAudioBass_FWD_DEFINED__
86#define __IAudioBass_FWD_DEFINED__
87typedef interface IAudioBass IAudioBass;
88#ifdef __cplusplus
89interface IAudioBass;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IAudioMidRange_FWD_DEFINED__
94#define __IAudioMidRange_FWD_DEFINED__
95typedef interface IAudioMidRange IAudioMidRange;
96#ifdef __cplusplus
97interface IAudioMidRange;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IAudioTreble_FWD_DEFINED__
102#define __IAudioTreble_FWD_DEFINED__
103typedef interface IAudioTreble IAudioTreble;
104#ifdef __cplusplus
105interface IAudioTreble;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IAudioAutoGainControl_FWD_DEFINED__
110#define __IAudioAutoGainControl_FWD_DEFINED__
111typedef interface IAudioAutoGainControl IAudioAutoGainControl;
112#ifdef __cplusplus
113interface IAudioAutoGainControl;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IAudioPeakMeter_FWD_DEFINED__
118#define __IAudioPeakMeter_FWD_DEFINED__
119typedef interface IAudioPeakMeter IAudioPeakMeter;
120#ifdef __cplusplus
121interface IAudioPeakMeter;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __IDeviceSpecificProperty_FWD_DEFINED__
126#define __IDeviceSpecificProperty_FWD_DEFINED__
127typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
128#ifdef __cplusplus
129interface IDeviceSpecificProperty;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IKsFormatSupport_FWD_DEFINED__
134#define __IKsFormatSupport_FWD_DEFINED__
135typedef interface IKsFormatSupport IKsFormatSupport;
136#ifdef __cplusplus
137interface IKsFormatSupport;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IKsJackDescription_FWD_DEFINED__
142#define __IKsJackDescription_FWD_DEFINED__
143typedef interface IKsJackDescription IKsJackDescription;
144#ifdef __cplusplus
145interface IKsJackDescription;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IKsJackDescription2_FWD_DEFINED__
150#define __IKsJackDescription2_FWD_DEFINED__
151typedef interface IKsJackDescription2 IKsJackDescription2;
152#ifdef __cplusplus
153interface IKsJackDescription2;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IKsJackSinkInformation_FWD_DEFINED__
158#define __IKsJackSinkInformation_FWD_DEFINED__
159typedef interface IKsJackSinkInformation IKsJackSinkInformation;
160#ifdef __cplusplus
161interface IKsJackSinkInformation;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IPartsList_FWD_DEFINED__
166#define __IPartsList_FWD_DEFINED__
167typedef interface IPartsList IPartsList;
168#ifdef __cplusplus
169interface IPartsList;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IPart_FWD_DEFINED__
174#define __IPart_FWD_DEFINED__
175typedef interface IPart IPart;
176#ifdef __cplusplus
177interface IPart;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IConnector_FWD_DEFINED__
182#define __IConnector_FWD_DEFINED__
183typedef interface IConnector IConnector;
184#ifdef __cplusplus
185interface IConnector;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __ISubUnit_FWD_DEFINED__
190#define __ISubUnit_FWD_DEFINED__
191typedef interface ISubUnit ISubUnit;
192#ifdef __cplusplus
193interface ISubUnit;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IControlInterface_FWD_DEFINED__
198#define __IControlInterface_FWD_DEFINED__
199typedef interface IControlInterface IControlInterface;
200#ifdef __cplusplus
201interface IControlInterface;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IControlChangeNotify_FWD_DEFINED__
206#define __IControlChangeNotify_FWD_DEFINED__
207typedef interface IControlChangeNotify IControlChangeNotify;
208#ifdef __cplusplus
209interface IControlChangeNotify;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IDeviceTopology_FWD_DEFINED__
214#define __IDeviceTopology_FWD_DEFINED__
215typedef interface IDeviceTopology IDeviceTopology;
216#ifdef __cplusplus
217interface IDeviceTopology;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __DeviceTopology_FWD_DEFINED__
222#define __DeviceTopology_FWD_DEFINED__
223#ifdef __cplusplus
224typedef class DeviceTopology DeviceTopology;
225#else
226typedef struct DeviceTopology DeviceTopology;
227#endif /* defined __cplusplus */
228#endif /* defined __DeviceTopology_FWD_DEFINED__ */
229
230/* Headers for imported files */
231
232#include <oaidl.h>
233#include <ocidl.h>
234#include <propidl.h>
235
236#ifdef __cplusplus
237extern "C" {
238#endif
239
240#ifndef __IPart_FWD_DEFINED__
241#define __IPart_FWD_DEFINED__
242typedef interface IPart IPart;
243#ifdef __cplusplus
244interface IPart;
245#endif /* __cplusplus */
246#endif
247
248#ifndef __IControlInterface_FWD_DEFINED__
249#define __IControlInterface_FWD_DEFINED__
250typedef interface IControlInterface IControlInterface;
251#ifdef __cplusplus
252interface IControlInterface;
253#endif /* __cplusplus */
254#endif
255
256#ifndef __IDeviceTopology_FWD_DEFINED__
257#define __IDeviceTopology_FWD_DEFINED__
258typedef interface IDeviceTopology IDeviceTopology;
259#ifdef __cplusplus
260interface IDeviceTopology;
261#endif /* __cplusplus */
262#endif
263
264#ifndef __IControlChangeNotify_FWD_DEFINED__
265#define __IControlChangeNotify_FWD_DEFINED__
266typedef interface IControlChangeNotify IControlChangeNotify;
267#ifdef __cplusplus
268interface IControlChangeNotify;
269#endif /* __cplusplus */
270#endif
271
272#ifndef E_NOTFOUND
273#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
274#endif
275#define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 0x64726148 /* 'draH' */
276DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xe2c2e9de, 0x09b1, 0x4b04,0x84,0xe5, 0x07, 0x93, 0x12, 0x25, 0xee, 0x04);
277#define _IKsControl_
278#include <ks.h>
279#include <ksmedia.h>
280#ifndef _KS_
281typedef struct __WIDL_devicetopology_generated_name_00000020 {
282 ULONG FormatSize;
283 ULONG Flags;
284 ULONG SampleSize;
285 ULONG Reserved;
286 GUID MajorFormat;
287 GUID SubFormat;
288 GUID Specifier;
289} KSDATAFORMAT;
290typedef KSDATAFORMAT *PKSDATAFORMAT;
291typedef struct __WIDL_devicetopology_generated_name_00000021 {
292 __C89_NAMELESS union {
293 __C89_NAMELESS struct {
294 GUID Set;
295 ULONG Id;
296 ULONG Flags;
297 } __C89_NAMELESSSTRUCTNAME;
298 LONGLONG Alignment;
299 } __C89_NAMELESSUNIONNAME;
300} KSIDENTIFIER;
301typedef KSIDENTIFIER KSPROPERTY;
302typedef KSIDENTIFIER *PKSPROPERTY;
303typedef KSIDENTIFIER KSMETHOD;
304typedef KSIDENTIFIER *PKSMETHOD;
305typedef KSIDENTIFIER KSEVENT;
306typedef KSIDENTIFIER *PKSEVENT;
307typedef enum __WIDL_devicetopology_generated_name_00000022 {
308 eConnTypeUnknown = 0,
309 eConnType3Point5mm = 1,
310 eConnTypeQuarter = 2,
311 eConnTypeAtapiInternal = 3,
312 eConnTypeRCA = 4,
313 eConnTypeOptical = 5,
314 eConnTypeOtherDigital = 6,
315 eConnTypeOtherAnalog = 7,
316 eConnTypeMultichannelAnalogDIN = 8,
317 eConnTypeXlrProfessional = 9,
318 eConnTypeRJ11Modem = 10,
319 eConnTypeCombination = 11
320} EPcxConnectionType;
321typedef enum __WIDL_devicetopology_generated_name_00000023 {
322 eGeoLocRear = 1,
323 eGeoLocFront = 2,
324 eGeoLocLeft = 3,
325 eGeoLocRight = 4,
326 eGeoLocTop = 5,
327 eGeoLocBottom = 6,
328 eGeoLocRearPanel = 7,
329 eGeoLocRiser = 8,
330 eGeoLocInsideMobileLid = 9,
331 eGeoLocDrivebay = 10,
332 eGeoLocHDMI = 11,
333 eGeoLocOutsideMobileLid = 12,
334 eGeoLocATAPI = 13,
335 eGeoLocReserved5 = 14,
336 eGeoLocReserved6 = 15
337} EPcxGeoLocation;
338typedef enum __WIDL_devicetopology_generated_name_00000024 {
339 eGenLocPrimaryBox = 0,
340 eGenLocInternal = 1,
341 eGenLocSeparate = 2,
342 eGenLocOther = 3
343} EPcxGenLocation;
344typedef enum __WIDL_devicetopology_generated_name_00000025 {
345 ePortConnJack = 0,
346 ePortConnIntegratedDevice = 1,
347 ePortConnBothIntegratedAndJack = 2,
348 ePortConnUnknown = 3
349} EPxcPortConnection;
350typedef struct __WIDL_devicetopology_generated_name_00000026 {
351 DWORD ChannelMapping;
352 COLORREF Color;
353 EPcxConnectionType ConnectionType;
354 EPcxGeoLocation GeoLocation;
355 EPcxGenLocation GenLocation;
356 EPxcPortConnection PortConnection;
357 WINBOOL IsConnected;
358} KSJACK_DESCRIPTION;
359typedef KSJACK_DESCRIPTION *PKSJACK_DESCRIPTION;
360typedef struct _LUID {
361 DWORD LowPart;
362 LONG HighPart;
363} LUID;
364typedef struct _LUID *PLUID;
365typedef enum __WIDL_devicetopology_generated_name_00000027 {
366 KSJACK_SINK_CONNECTIONTYPE_HDMI = 0,
367 KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT = 1
368} KSJACK_SINK_CONNECTIONTYPE;
369typedef struct _tagKSJACK_SINK_INFORMATION {
370 KSJACK_SINK_CONNECTIONTYPE ConnType;
371 WORD ManufacturerId;
372 WORD ProductId;
373 WORD AudioLatency;
374 WINBOOL HDCPCapable;
375 WINBOOL AICapable;
376 UCHAR SinkDescriptionLength;
377 WCHAR SinkDescription[32];
378 LUID PortId;
379} KSJACK_SINK_INFORMATION;
380typedef struct _tagKSJACK_DESCRIPTION2 {
381 DWORD DeviceStateInfo;
382 DWORD JackCapabilities;
383} KSJACK_DESCRIPTION2;
384typedef struct _tagKSJACK_DESCRIPTION2 *PKSJACK_DESCRIPTION2;
385#endif
386typedef enum __WIDL_devicetopology_generated_name_00000028 {
387 In = 0,
388 Out = 1
389} DataFlow;
390typedef enum __WIDL_devicetopology_generated_name_00000029 {
391 Connector = 0,
392 Subunit = 1
393} PartType;
394typedef enum __WIDL_devicetopology_generated_name_0000002A {
395 Unknown_Connector = 0,
396 Physical_Internal = 1,
397 Physical_External = 2,
398 Software_IO = 3,
399 Software_Fixed = 4,
400 Network = 5
401} ConnectorType;
402/*****************************************************************************
403 * IKsControl interface
404 */
405#ifndef __IKsControl_INTERFACE_DEFINED__
406#define __IKsControl_INTERFACE_DEFINED__
407
408DEFINE_GUID(IID_IKsControl, 0x28f54685, 0x06fd, 0x11d2, 0xb2,0x7a, 0x00,0xa0,0xc9,0x22,0x31,0x96);
409#if defined(__cplusplus) && !defined(CINTERFACE)
410MIDL_INTERFACE("28f54685-06fd-11d2-b27a-00a0c9223196")
411IKsControl : public IUnknown
412{
413 virtual HRESULT STDMETHODCALLTYPE KsProperty(
414 PKSPROPERTY Property,
415 ULONG PropertyLength,
416 void *PropertyData,
417 ULONG DataLength,
418 ULONG *BytesReturned) = 0;
419
420 virtual HRESULT STDMETHODCALLTYPE KsMethod(
421 PKSMETHOD Method,
422 ULONG MethodLength,
423 void *MethodData,
424 ULONG DataLength,
425 ULONG *BytesReturned) = 0;
426
427 virtual HRESULT STDMETHODCALLTYPE KsEvent(
428 PKSEVENT Event,
429 ULONG EventLength,
430 void *EventData,
431 ULONG DataLength,
432 ULONG *BytesReturned) = 0;
433
434};
435#ifdef __CRT_UUID_DECL
436__CRT_UUID_DECL(IKsControl, 0x28f54685, 0x06fd, 0x11d2, 0xb2,0x7a, 0x00,0xa0,0xc9,0x22,0x31,0x96)
437#endif
438#else
439typedef struct IKsControlVtbl {
440 BEGIN_INTERFACE
441
442 /*** IUnknown methods ***/
443 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
444 IKsControl *This,
445 REFIID riid,
446 void **ppvObject);
447
448 ULONG (STDMETHODCALLTYPE *AddRef)(
449 IKsControl *This);
450
451 ULONG (STDMETHODCALLTYPE *Release)(
452 IKsControl *This);
453
454 /*** IKsControl methods ***/
455 HRESULT (STDMETHODCALLTYPE *KsProperty)(
456 IKsControl *This,
457 PKSPROPERTY Property,
458 ULONG PropertyLength,
459 void *PropertyData,
460 ULONG DataLength,
461 ULONG *BytesReturned);
462
463 HRESULT (STDMETHODCALLTYPE *KsMethod)(
464 IKsControl *This,
465 PKSMETHOD Method,
466 ULONG MethodLength,
467 void *MethodData,
468 ULONG DataLength,
469 ULONG *BytesReturned);
470
471 HRESULT (STDMETHODCALLTYPE *KsEvent)(
472 IKsControl *This,
473 PKSEVENT Event,
474 ULONG EventLength,
475 void *EventData,
476 ULONG DataLength,
477 ULONG *BytesReturned);
478
479 END_INTERFACE
480} IKsControlVtbl;
481
482interface IKsControl {
483 CONST_VTBL IKsControlVtbl* lpVtbl;
484};
485
486#ifdef COBJMACROS
487#ifndef WIDL_C_INLINE_WRAPPERS
488/*** IUnknown methods ***/
489#define IKsControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
490#define IKsControl_AddRef(This) (This)->lpVtbl->AddRef(This)
491#define IKsControl_Release(This) (This)->lpVtbl->Release(This)
492/*** IKsControl methods ***/
493#define IKsControl_KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) (This)->lpVtbl->KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned)
494#define IKsControl_KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) (This)->lpVtbl->KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned)
495#define IKsControl_KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) (This)->lpVtbl->KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned)
496#else
497/*** IUnknown methods ***/
498static FORCEINLINE HRESULT IKsControl_QueryInterface(IKsControl* This,REFIID riid,void **ppvObject) {
499 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
500}
501static FORCEINLINE ULONG IKsControl_AddRef(IKsControl* This) {
502 return This->lpVtbl->AddRef(This);
503}
504static FORCEINLINE ULONG IKsControl_Release(IKsControl* This) {
505 return This->lpVtbl->Release(This);
506}
507/*** IKsControl methods ***/
508static FORCEINLINE HRESULT IKsControl_KsProperty(IKsControl* This,PKSPROPERTY Property,ULONG PropertyLength,void *PropertyData,ULONG DataLength,ULONG *BytesReturned) {
509 return This->lpVtbl->KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned);
510}
511static FORCEINLINE HRESULT IKsControl_KsMethod(IKsControl* This,PKSMETHOD Method,ULONG MethodLength,void *MethodData,ULONG DataLength,ULONG *BytesReturned) {
512 return This->lpVtbl->KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned);
513}
514static FORCEINLINE HRESULT IKsControl_KsEvent(IKsControl* This,PKSEVENT Event,ULONG EventLength,void *EventData,ULONG DataLength,ULONG *BytesReturned) {
515 return This->lpVtbl->KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned);
516}
517#endif
518#endif
519
520#endif
521
522
523#endif /* __IKsControl_INTERFACE_DEFINED__ */
524
525/*****************************************************************************
526 * IPerChannelDbLevel interface
527 */
528#ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__
529#define __IPerChannelDbLevel_INTERFACE_DEFINED__
530
531DEFINE_GUID(IID_IPerChannelDbLevel, 0xc2f8e001, 0xf205, 0x4bc9, 0x99,0xbc, 0xc1,0x3b,0x1e,0x04,0x8c,0xcb);
532#if defined(__cplusplus) && !defined(CINTERFACE)
533MIDL_INTERFACE("c2f8e001-f205-4bc9-99bc-c13b1e048ccb")
534IPerChannelDbLevel : public IUnknown
535{
536 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
537 UINT *pcChannels) = 0;
538
539 virtual HRESULT STDMETHODCALLTYPE GetLevelRange(
540 UINT nChannel,
541 float *pfMinLevelDB,
542 float *pfMaxLevelDB,
543 float *pfStepping) = 0;
544
545 virtual HRESULT STDMETHODCALLTYPE GetLevel(
546 UINT nChannel,
547 float *pfLevelDB) = 0;
548
549 virtual HRESULT STDMETHODCALLTYPE SetLevel(
550 UINT nChannel,
551 float fLevelDB,
552 LPCGUID pguidEventContext) = 0;
553
554 virtual HRESULT STDMETHODCALLTYPE SetLevelUniform(
555 float fLevelDB,
556 LPCGUID pguidEventContext) = 0;
557
558 virtual HRESULT STDMETHODCALLTYPE SetLevelAllChannels(
559 float *aLevelsDB,
560 ULONG cChannels,
561 LPCGUID pguidEventContext) = 0;
562
563};
564#ifdef __CRT_UUID_DECL
565__CRT_UUID_DECL(IPerChannelDbLevel, 0xc2f8e001, 0xf205, 0x4bc9, 0x99,0xbc, 0xc1,0x3b,0x1e,0x04,0x8c,0xcb)
566#endif
567#else
568typedef struct IPerChannelDbLevelVtbl {
569 BEGIN_INTERFACE
570
571 /*** IUnknown methods ***/
572 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
573 IPerChannelDbLevel *This,
574 REFIID riid,
575 void **ppvObject);
576
577 ULONG (STDMETHODCALLTYPE *AddRef)(
578 IPerChannelDbLevel *This);
579
580 ULONG (STDMETHODCALLTYPE *Release)(
581 IPerChannelDbLevel *This);
582
583 /*** IPerChannelDbLevel methods ***/
584 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
585 IPerChannelDbLevel *This,
586 UINT *pcChannels);
587
588 HRESULT (STDMETHODCALLTYPE *GetLevelRange)(
589 IPerChannelDbLevel *This,
590 UINT nChannel,
591 float *pfMinLevelDB,
592 float *pfMaxLevelDB,
593 float *pfStepping);
594
595 HRESULT (STDMETHODCALLTYPE *GetLevel)(
596 IPerChannelDbLevel *This,
597 UINT nChannel,
598 float *pfLevelDB);
599
600 HRESULT (STDMETHODCALLTYPE *SetLevel)(
601 IPerChannelDbLevel *This,
602 UINT nChannel,
603 float fLevelDB,
604 LPCGUID pguidEventContext);
605
606 HRESULT (STDMETHODCALLTYPE *SetLevelUniform)(
607 IPerChannelDbLevel *This,
608 float fLevelDB,
609 LPCGUID pguidEventContext);
610
611 HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)(
612 IPerChannelDbLevel *This,
613 float *aLevelsDB,
614 ULONG cChannels,
615 LPCGUID pguidEventContext);
616
617 END_INTERFACE
618} IPerChannelDbLevelVtbl;
619
620interface IPerChannelDbLevel {
621 CONST_VTBL IPerChannelDbLevelVtbl* lpVtbl;
622};
623
624#ifdef COBJMACROS
625#ifndef WIDL_C_INLINE_WRAPPERS
626/*** IUnknown methods ***/
627#define IPerChannelDbLevel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
628#define IPerChannelDbLevel_AddRef(This) (This)->lpVtbl->AddRef(This)
629#define IPerChannelDbLevel_Release(This) (This)->lpVtbl->Release(This)
630/*** IPerChannelDbLevel methods ***/
631#define IPerChannelDbLevel_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
632#define IPerChannelDbLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)
633#define IPerChannelDbLevel_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB)
634#define IPerChannelDbLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext)
635#define IPerChannelDbLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext)
636#define IPerChannelDbLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)
637#else
638/*** IUnknown methods ***/
639static FORCEINLINE HRESULT IPerChannelDbLevel_QueryInterface(IPerChannelDbLevel* This,REFIID riid,void **ppvObject) {
640 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
641}
642static FORCEINLINE ULONG IPerChannelDbLevel_AddRef(IPerChannelDbLevel* This) {
643 return This->lpVtbl->AddRef(This);
644}
645static FORCEINLINE ULONG IPerChannelDbLevel_Release(IPerChannelDbLevel* This) {
646 return This->lpVtbl->Release(This);
647}
648/*** IPerChannelDbLevel methods ***/
649static FORCEINLINE HRESULT IPerChannelDbLevel_GetChannelCount(IPerChannelDbLevel* This,UINT *pcChannels) {
650 return This->lpVtbl->GetChannelCount(This,pcChannels);
651}
652static FORCEINLINE HRESULT IPerChannelDbLevel_GetLevelRange(IPerChannelDbLevel* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) {
653 return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping);
654}
655static FORCEINLINE HRESULT IPerChannelDbLevel_GetLevel(IPerChannelDbLevel* This,UINT nChannel,float *pfLevelDB) {
656 return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB);
657}
658static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevel(IPerChannelDbLevel* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) {
659 return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext);
660}
661static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevelUniform(IPerChannelDbLevel* This,float fLevelDB,LPCGUID pguidEventContext) {
662 return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext);
663}
664static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevelAllChannels(IPerChannelDbLevel* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) {
665 return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext);
666}
667#endif
668#endif
669
670#endif
671
672
673#endif /* __IPerChannelDbLevel_INTERFACE_DEFINED__ */
674
675/*****************************************************************************
676 * IAudioVolumeLevel interface
677 */
678#ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__
679#define __IAudioVolumeLevel_INTERFACE_DEFINED__
680
681DEFINE_GUID(IID_IAudioVolumeLevel, 0x7fb7b48f, 0x531d, 0x44a2, 0xbc,0xb3, 0x5a,0xd5,0xa1,0x34,0xb3,0xdc);
682#if defined(__cplusplus) && !defined(CINTERFACE)
683MIDL_INTERFACE("7fb7b48f-531d-44a2-bcb3-5ad5a134b3dc")
684IAudioVolumeLevel : public IPerChannelDbLevel
685{
686};
687#ifdef __CRT_UUID_DECL
688__CRT_UUID_DECL(IAudioVolumeLevel, 0x7fb7b48f, 0x531d, 0x44a2, 0xbc,0xb3, 0x5a,0xd5,0xa1,0x34,0xb3,0xdc)
689#endif
690#else
691typedef struct IAudioVolumeLevelVtbl {
692 BEGIN_INTERFACE
693
694 /*** IUnknown methods ***/
695 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
696 IAudioVolumeLevel *This,
697 REFIID riid,
698 void **ppvObject);
699
700 ULONG (STDMETHODCALLTYPE *AddRef)(
701 IAudioVolumeLevel *This);
702
703 ULONG (STDMETHODCALLTYPE *Release)(
704 IAudioVolumeLevel *This);
705
706 /*** IPerChannelDbLevel methods ***/
707 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
708 IAudioVolumeLevel *This,
709 UINT *pcChannels);
710
711 HRESULT (STDMETHODCALLTYPE *GetLevelRange)(
712 IAudioVolumeLevel *This,
713 UINT nChannel,
714 float *pfMinLevelDB,
715 float *pfMaxLevelDB,
716 float *pfStepping);
717
718 HRESULT (STDMETHODCALLTYPE *GetLevel)(
719 IAudioVolumeLevel *This,
720 UINT nChannel,
721 float *pfLevelDB);
722
723 HRESULT (STDMETHODCALLTYPE *SetLevel)(
724 IAudioVolumeLevel *This,
725 UINT nChannel,
726 float fLevelDB,
727 LPCGUID pguidEventContext);
728
729 HRESULT (STDMETHODCALLTYPE *SetLevelUniform)(
730 IAudioVolumeLevel *This,
731 float fLevelDB,
732 LPCGUID pguidEventContext);
733
734 HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)(
735 IAudioVolumeLevel *This,
736 float *aLevelsDB,
737 ULONG cChannels,
738 LPCGUID pguidEventContext);
739
740 END_INTERFACE
741} IAudioVolumeLevelVtbl;
742
743interface IAudioVolumeLevel {
744 CONST_VTBL IAudioVolumeLevelVtbl* lpVtbl;
745};
746
747#ifdef COBJMACROS
748#ifndef WIDL_C_INLINE_WRAPPERS
749/*** IUnknown methods ***/
750#define IAudioVolumeLevel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
751#define IAudioVolumeLevel_AddRef(This) (This)->lpVtbl->AddRef(This)
752#define IAudioVolumeLevel_Release(This) (This)->lpVtbl->Release(This)
753/*** IPerChannelDbLevel methods ***/
754#define IAudioVolumeLevel_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
755#define IAudioVolumeLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)
756#define IAudioVolumeLevel_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB)
757#define IAudioVolumeLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext)
758#define IAudioVolumeLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext)
759#define IAudioVolumeLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)
760#else
761/*** IUnknown methods ***/
762static FORCEINLINE HRESULT IAudioVolumeLevel_QueryInterface(IAudioVolumeLevel* This,REFIID riid,void **ppvObject) {
763 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
764}
765static FORCEINLINE ULONG IAudioVolumeLevel_AddRef(IAudioVolumeLevel* This) {
766 return This->lpVtbl->AddRef(This);
767}
768static FORCEINLINE ULONG IAudioVolumeLevel_Release(IAudioVolumeLevel* This) {
769 return This->lpVtbl->Release(This);
770}
771/*** IPerChannelDbLevel methods ***/
772static FORCEINLINE HRESULT IAudioVolumeLevel_GetChannelCount(IAudioVolumeLevel* This,UINT *pcChannels) {
773 return This->lpVtbl->GetChannelCount(This,pcChannels);
774}
775static FORCEINLINE HRESULT IAudioVolumeLevel_GetLevelRange(IAudioVolumeLevel* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) {
776 return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping);
777}
778static FORCEINLINE HRESULT IAudioVolumeLevel_GetLevel(IAudioVolumeLevel* This,UINT nChannel,float *pfLevelDB) {
779 return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB);
780}
781static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevel(IAudioVolumeLevel* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) {
782 return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext);
783}
784static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevelUniform(IAudioVolumeLevel* This,float fLevelDB,LPCGUID pguidEventContext) {
785 return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext);
786}
787static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevelAllChannels(IAudioVolumeLevel* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) {
788 return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext);
789}
790#endif
791#endif
792
793#endif
794
795
796#endif /* __IAudioVolumeLevel_INTERFACE_DEFINED__ */
797
798/*****************************************************************************
799 * IAudioChannelConfig interface
800 */
801#ifndef __IAudioChannelConfig_INTERFACE_DEFINED__
802#define __IAudioChannelConfig_INTERFACE_DEFINED__
803
804DEFINE_GUID(IID_IAudioChannelConfig, 0xbb11c46f, 0xec28, 0x493c, 0xb8,0x8a, 0x5d,0xb8,0x80,0x62,0xce,0x98);
805#if defined(__cplusplus) && !defined(CINTERFACE)
806MIDL_INTERFACE("bb11c46f-ec28-493c-b88a-5db88062ce98")
807IAudioChannelConfig : public IUnknown
808{
809 virtual HRESULT STDMETHODCALLTYPE SetChannelConfig(
810 DWORD dwConfig,
811 LPCGUID pguidEventContext) = 0;
812
813 virtual HRESULT STDMETHODCALLTYPE GetChannelConfig(
814 DWORD dwConfig,
815 DWORD *pdwConfig) = 0;
816
817};
818#ifdef __CRT_UUID_DECL
819__CRT_UUID_DECL(IAudioChannelConfig, 0xbb11c46f, 0xec28, 0x493c, 0xb8,0x8a, 0x5d,0xb8,0x80,0x62,0xce,0x98)
820#endif
821#else
822typedef struct IAudioChannelConfigVtbl {
823 BEGIN_INTERFACE
824
825 /*** IUnknown methods ***/
826 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
827 IAudioChannelConfig *This,
828 REFIID riid,
829 void **ppvObject);
830
831 ULONG (STDMETHODCALLTYPE *AddRef)(
832 IAudioChannelConfig *This);
833
834 ULONG (STDMETHODCALLTYPE *Release)(
835 IAudioChannelConfig *This);
836
837 /*** IAudioChannelConfig methods ***/
838 HRESULT (STDMETHODCALLTYPE *SetChannelConfig)(
839 IAudioChannelConfig *This,
840 DWORD dwConfig,
841 LPCGUID pguidEventContext);
842
843 HRESULT (STDMETHODCALLTYPE *GetChannelConfig)(
844 IAudioChannelConfig *This,
845 DWORD dwConfig,
846 DWORD *pdwConfig);
847
848 END_INTERFACE
849} IAudioChannelConfigVtbl;
850
851interface IAudioChannelConfig {
852 CONST_VTBL IAudioChannelConfigVtbl* lpVtbl;
853};
854
855#ifdef COBJMACROS
856#ifndef WIDL_C_INLINE_WRAPPERS
857/*** IUnknown methods ***/
858#define IAudioChannelConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
859#define IAudioChannelConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
860#define IAudioChannelConfig_Release(This) (This)->lpVtbl->Release(This)
861/*** IAudioChannelConfig methods ***/
862#define IAudioChannelConfig_SetChannelConfig(This,dwConfig,pguidEventContext) (This)->lpVtbl->SetChannelConfig(This,dwConfig,pguidEventContext)
863#define IAudioChannelConfig_GetChannelConfig(This,dwConfig,pdwConfig) (This)->lpVtbl->GetChannelConfig(This,dwConfig,pdwConfig)
864#else
865/*** IUnknown methods ***/
866static FORCEINLINE HRESULT IAudioChannelConfig_QueryInterface(IAudioChannelConfig* This,REFIID riid,void **ppvObject) {
867 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
868}
869static FORCEINLINE ULONG IAudioChannelConfig_AddRef(IAudioChannelConfig* This) {
870 return This->lpVtbl->AddRef(This);
871}
872static FORCEINLINE ULONG IAudioChannelConfig_Release(IAudioChannelConfig* This) {
873 return This->lpVtbl->Release(This);
874}
875/*** IAudioChannelConfig methods ***/
876static FORCEINLINE HRESULT IAudioChannelConfig_SetChannelConfig(IAudioChannelConfig* This,DWORD dwConfig,LPCGUID pguidEventContext) {
877 return This->lpVtbl->SetChannelConfig(This,dwConfig,pguidEventContext);
878}
879static FORCEINLINE HRESULT IAudioChannelConfig_GetChannelConfig(IAudioChannelConfig* This,DWORD dwConfig,DWORD *pdwConfig) {
880 return This->lpVtbl->GetChannelConfig(This,dwConfig,pdwConfig);
881}
882#endif
883#endif
884
885#endif
886
887
888#endif /* __IAudioChannelConfig_INTERFACE_DEFINED__ */
889
890/*****************************************************************************
891 * IAudioLoudness interface
892 */
893#ifndef __IAudioLoudness_INTERFACE_DEFINED__
894#define __IAudioLoudness_INTERFACE_DEFINED__
895
896DEFINE_GUID(IID_IAudioLoudness, 0x7d8b1437, 0xdd53, 0x4350, 0x9c,0x1b, 0x1e,0xe2,0x89,0x0b,0xf9,0x38);
897#if defined(__cplusplus) && !defined(CINTERFACE)
898MIDL_INTERFACE("7d8b1437-dd53-4350-9c1b-1ee2890bf938")
899IAudioLoudness : public IUnknown
900{
901 virtual HRESULT STDMETHODCALLTYPE GetEnabled(
902 WINBOOL *pbEnabled) = 0;
903
904 virtual HRESULT STDMETHODCALLTYPE SetEnabled(
905 WINBOOL bEnabled,
906 LPCGUID pguidEventContext) = 0;
907
908};
909#ifdef __CRT_UUID_DECL
910__CRT_UUID_DECL(IAudioLoudness, 0x7d8b1437, 0xdd53, 0x4350, 0x9c,0x1b, 0x1e,0xe2,0x89,0x0b,0xf9,0x38)
911#endif
912#else
913typedef struct IAudioLoudnessVtbl {
914 BEGIN_INTERFACE
915
916 /*** IUnknown methods ***/
917 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
918 IAudioLoudness *This,
919 REFIID riid,
920 void **ppvObject);
921
922 ULONG (STDMETHODCALLTYPE *AddRef)(
923 IAudioLoudness *This);
924
925 ULONG (STDMETHODCALLTYPE *Release)(
926 IAudioLoudness *This);
927
928 /*** IAudioLoudness methods ***/
929 HRESULT (STDMETHODCALLTYPE *GetEnabled)(
930 IAudioLoudness *This,
931 WINBOOL *pbEnabled);
932
933 HRESULT (STDMETHODCALLTYPE *SetEnabled)(
934 IAudioLoudness *This,
935 WINBOOL bEnabled,
936 LPCGUID pguidEventContext);
937
938 END_INTERFACE
939} IAudioLoudnessVtbl;
940
941interface IAudioLoudness {
942 CONST_VTBL IAudioLoudnessVtbl* lpVtbl;
943};
944
945#ifdef COBJMACROS
946#ifndef WIDL_C_INLINE_WRAPPERS
947/*** IUnknown methods ***/
948#define IAudioLoudness_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
949#define IAudioLoudness_AddRef(This) (This)->lpVtbl->AddRef(This)
950#define IAudioLoudness_Release(This) (This)->lpVtbl->Release(This)
951/*** IAudioLoudness methods ***/
952#define IAudioLoudness_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
953#define IAudioLoudness_SetEnabled(This,bEnabled,pguidEventContext) (This)->lpVtbl->SetEnabled(This,bEnabled,pguidEventContext)
954#else
955/*** IUnknown methods ***/
956static FORCEINLINE HRESULT IAudioLoudness_QueryInterface(IAudioLoudness* This,REFIID riid,void **ppvObject) {
957 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
958}
959static FORCEINLINE ULONG IAudioLoudness_AddRef(IAudioLoudness* This) {
960 return This->lpVtbl->AddRef(This);
961}
962static FORCEINLINE ULONG IAudioLoudness_Release(IAudioLoudness* This) {
963 return This->lpVtbl->Release(This);
964}
965/*** IAudioLoudness methods ***/
966static FORCEINLINE HRESULT IAudioLoudness_GetEnabled(IAudioLoudness* This,WINBOOL *pbEnabled) {
967 return This->lpVtbl->GetEnabled(This,pbEnabled);
968}
969static FORCEINLINE HRESULT IAudioLoudness_SetEnabled(IAudioLoudness* This,WINBOOL bEnabled,LPCGUID pguidEventContext) {
970 return This->lpVtbl->SetEnabled(This,bEnabled,pguidEventContext);
971}
972#endif
973#endif
974
975#endif
976
977
978#endif /* __IAudioLoudness_INTERFACE_DEFINED__ */
979
980/*****************************************************************************
981 * IAudioInputSelector interface
982 */
983#ifndef __IAudioInputSelector_INTERFACE_DEFINED__
984#define __IAudioInputSelector_INTERFACE_DEFINED__
985
986DEFINE_GUID(IID_IAudioInputSelector, 0x4f03dc02, 0x5e6e, 0x4653, 0x8f,0x72, 0xa0,0x30,0xc1,0x23,0xd5,0x98);
987#if defined(__cplusplus) && !defined(CINTERFACE)
988MIDL_INTERFACE("4f03dc02-5e6e-4653-8f72-a030c123d598")
989IAudioInputSelector : public IUnknown
990{
991 virtual HRESULT STDMETHODCALLTYPE GetSelection(
992 UINT *pnIdSelected) = 0;
993
994 virtual HRESULT STDMETHODCALLTYPE SetSelection(
995 UINT nIdSelect,
996 LPCGUID pguidEventContext) = 0;
997
998};
999#ifdef __CRT_UUID_DECL
1000__CRT_UUID_DECL(IAudioInputSelector, 0x4f03dc02, 0x5e6e, 0x4653, 0x8f,0x72, 0xa0,0x30,0xc1,0x23,0xd5,0x98)
1001#endif
1002#else
1003typedef struct IAudioInputSelectorVtbl {
1004 BEGIN_INTERFACE
1005
1006 /*** IUnknown methods ***/
1007 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1008 IAudioInputSelector *This,
1009 REFIID riid,
1010 void **ppvObject);
1011
1012 ULONG (STDMETHODCALLTYPE *AddRef)(
1013 IAudioInputSelector *This);
1014
1015 ULONG (STDMETHODCALLTYPE *Release)(
1016 IAudioInputSelector *This);
1017
1018 /*** IAudioInputSelector methods ***/
1019 HRESULT (STDMETHODCALLTYPE *GetSelection)(
1020 IAudioInputSelector *This,
1021 UINT *pnIdSelected);
1022
1023 HRESULT (STDMETHODCALLTYPE *SetSelection)(
1024 IAudioInputSelector *This,
1025 UINT nIdSelect,
1026 LPCGUID pguidEventContext);
1027
1028 END_INTERFACE
1029} IAudioInputSelectorVtbl;
1030
1031interface IAudioInputSelector {
1032 CONST_VTBL IAudioInputSelectorVtbl* lpVtbl;
1033};
1034
1035#ifdef COBJMACROS
1036#ifndef WIDL_C_INLINE_WRAPPERS
1037/*** IUnknown methods ***/
1038#define IAudioInputSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1039#define IAudioInputSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
1040#define IAudioInputSelector_Release(This) (This)->lpVtbl->Release(This)
1041/*** IAudioInputSelector methods ***/
1042#define IAudioInputSelector_GetSelection(This,pnIdSelected) (This)->lpVtbl->GetSelection(This,pnIdSelected)
1043#define IAudioInputSelector_SetSelection(This,nIdSelect,pguidEventContext) (This)->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext)
1044#else
1045/*** IUnknown methods ***/
1046static FORCEINLINE HRESULT IAudioInputSelector_QueryInterface(IAudioInputSelector* This,REFIID riid,void **ppvObject) {
1047 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1048}
1049static FORCEINLINE ULONG IAudioInputSelector_AddRef(IAudioInputSelector* This) {
1050 return This->lpVtbl->AddRef(This);
1051}
1052static FORCEINLINE ULONG IAudioInputSelector_Release(IAudioInputSelector* This) {
1053 return This->lpVtbl->Release(This);
1054}
1055/*** IAudioInputSelector methods ***/
1056static FORCEINLINE HRESULT IAudioInputSelector_GetSelection(IAudioInputSelector* This,UINT *pnIdSelected) {
1057 return This->lpVtbl->GetSelection(This,pnIdSelected);
1058}
1059static FORCEINLINE HRESULT IAudioInputSelector_SetSelection(IAudioInputSelector* This,UINT nIdSelect,LPCGUID pguidEventContext) {
1060 return This->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext);
1061}
1062#endif
1063#endif
1064
1065#endif
1066
1067
1068#endif /* __IAudioInputSelector_INTERFACE_DEFINED__ */
1069
1070/*****************************************************************************
1071 * IAudioOutputSelector interface
1072 */
1073#ifndef __IAudioOutputSelector_INTERFACE_DEFINED__
1074#define __IAudioOutputSelector_INTERFACE_DEFINED__
1075
1076DEFINE_GUID(IID_IAudioOutputSelector, 0xbb515f69, 0x94a7, 0x429e, 0x8b,0x9c, 0x27,0x1b,0x3f,0x11,0xa3,0xab);
1077#if defined(__cplusplus) && !defined(CINTERFACE)
1078MIDL_INTERFACE("bb515f69-94a7-429e-8b9c-271b3f11a3ab")
1079IAudioOutputSelector : public IUnknown
1080{
1081 virtual HRESULT STDMETHODCALLTYPE GetSelection(
1082 UINT *pnIdSelected) = 0;
1083
1084 virtual HRESULT STDMETHODCALLTYPE SetSelection(
1085 UINT nIdSelect,
1086 LPCGUID pguidEventContext) = 0;
1087
1088};
1089#ifdef __CRT_UUID_DECL
1090__CRT_UUID_DECL(IAudioOutputSelector, 0xbb515f69, 0x94a7, 0x429e, 0x8b,0x9c, 0x27,0x1b,0x3f,0x11,0xa3,0xab)
1091#endif
1092#else
1093typedef struct IAudioOutputSelectorVtbl {
1094 BEGIN_INTERFACE
1095
1096 /*** IUnknown methods ***/
1097 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1098 IAudioOutputSelector *This,
1099 REFIID riid,
1100 void **ppvObject);
1101
1102 ULONG (STDMETHODCALLTYPE *AddRef)(
1103 IAudioOutputSelector *This);
1104
1105 ULONG (STDMETHODCALLTYPE *Release)(
1106 IAudioOutputSelector *This);
1107
1108 /*** IAudioOutputSelector methods ***/
1109 HRESULT (STDMETHODCALLTYPE *GetSelection)(
1110 IAudioOutputSelector *This,
1111 UINT *pnIdSelected);
1112
1113 HRESULT (STDMETHODCALLTYPE *SetSelection)(
1114 IAudioOutputSelector *This,
1115 UINT nIdSelect,
1116 LPCGUID pguidEventContext);
1117
1118 END_INTERFACE
1119} IAudioOutputSelectorVtbl;
1120
1121interface IAudioOutputSelector {
1122 CONST_VTBL IAudioOutputSelectorVtbl* lpVtbl;
1123};
1124
1125#ifdef COBJMACROS
1126#ifndef WIDL_C_INLINE_WRAPPERS
1127/*** IUnknown methods ***/
1128#define IAudioOutputSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1129#define IAudioOutputSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
1130#define IAudioOutputSelector_Release(This) (This)->lpVtbl->Release(This)
1131/*** IAudioOutputSelector methods ***/
1132#define IAudioOutputSelector_GetSelection(This,pnIdSelected) (This)->lpVtbl->GetSelection(This,pnIdSelected)
1133#define IAudioOutputSelector_SetSelection(This,nIdSelect,pguidEventContext) (This)->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext)
1134#else
1135/*** IUnknown methods ***/
1136static FORCEINLINE HRESULT IAudioOutputSelector_QueryInterface(IAudioOutputSelector* This,REFIID riid,void **ppvObject) {
1137 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1138}
1139static FORCEINLINE ULONG IAudioOutputSelector_AddRef(IAudioOutputSelector* This) {
1140 return This->lpVtbl->AddRef(This);
1141}
1142static FORCEINLINE ULONG IAudioOutputSelector_Release(IAudioOutputSelector* This) {
1143 return This->lpVtbl->Release(This);
1144}
1145/*** IAudioOutputSelector methods ***/
1146static FORCEINLINE HRESULT IAudioOutputSelector_GetSelection(IAudioOutputSelector* This,UINT *pnIdSelected) {
1147 return This->lpVtbl->GetSelection(This,pnIdSelected);
1148}
1149static FORCEINLINE HRESULT IAudioOutputSelector_SetSelection(IAudioOutputSelector* This,UINT nIdSelect,LPCGUID pguidEventContext) {
1150 return This->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext);
1151}
1152#endif
1153#endif
1154
1155#endif
1156
1157
1158#endif /* __IAudioOutputSelector_INTERFACE_DEFINED__ */
1159
1160/*****************************************************************************
1161 * IAudioMute interface
1162 */
1163#ifndef __IAudioMute_INTERFACE_DEFINED__
1164#define __IAudioMute_INTERFACE_DEFINED__
1165
1166DEFINE_GUID(IID_IAudioMute, 0xdf45aeea, 0xb74a, 0x4b6b, 0xaf,0xad, 0x23,0x66,0xb6,0xaa,0x01,0x2e);
1167#if defined(__cplusplus) && !defined(CINTERFACE)
1168MIDL_INTERFACE("df45aeea-b74a-4b6b-afad-2366b6aa012e")
1169IAudioMute : public IUnknown
1170{
1171 virtual HRESULT STDMETHODCALLTYPE SetMute(
1172 WINBOOL bMute,
1173 LPCGUID pguidEventContext) = 0;
1174
1175 virtual HRESULT STDMETHODCALLTYPE GetMute(
1176 WINBOOL *pbMute) = 0;
1177
1178};
1179#ifdef __CRT_UUID_DECL
1180__CRT_UUID_DECL(IAudioMute, 0xdf45aeea, 0xb74a, 0x4b6b, 0xaf,0xad, 0x23,0x66,0xb6,0xaa,0x01,0x2e)
1181#endif
1182#else
1183typedef struct IAudioMuteVtbl {
1184 BEGIN_INTERFACE
1185
1186 /*** IUnknown methods ***/
1187 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1188 IAudioMute *This,
1189 REFIID riid,
1190 void **ppvObject);
1191
1192 ULONG (STDMETHODCALLTYPE *AddRef)(
1193 IAudioMute *This);
1194
1195 ULONG (STDMETHODCALLTYPE *Release)(
1196 IAudioMute *This);
1197
1198 /*** IAudioMute methods ***/
1199 HRESULT (STDMETHODCALLTYPE *SetMute)(
1200 IAudioMute *This,
1201 WINBOOL bMute,
1202 LPCGUID pguidEventContext);
1203
1204 HRESULT (STDMETHODCALLTYPE *GetMute)(
1205 IAudioMute *This,
1206 WINBOOL *pbMute);
1207
1208 END_INTERFACE
1209} IAudioMuteVtbl;
1210
1211interface IAudioMute {
1212 CONST_VTBL IAudioMuteVtbl* lpVtbl;
1213};
1214
1215#ifdef COBJMACROS
1216#ifndef WIDL_C_INLINE_WRAPPERS
1217/*** IUnknown methods ***/
1218#define IAudioMute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1219#define IAudioMute_AddRef(This) (This)->lpVtbl->AddRef(This)
1220#define IAudioMute_Release(This) (This)->lpVtbl->Release(This)
1221/*** IAudioMute methods ***/
1222#define IAudioMute_SetMute(This,bMute,pguidEventContext) (This)->lpVtbl->SetMute(This,bMute,pguidEventContext)
1223#define IAudioMute_GetMute(This,pbMute) (This)->lpVtbl->GetMute(This,pbMute)
1224#else
1225/*** IUnknown methods ***/
1226static FORCEINLINE HRESULT IAudioMute_QueryInterface(IAudioMute* This,REFIID riid,void **ppvObject) {
1227 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1228}
1229static FORCEINLINE ULONG IAudioMute_AddRef(IAudioMute* This) {
1230 return This->lpVtbl->AddRef(This);
1231}
1232static FORCEINLINE ULONG IAudioMute_Release(IAudioMute* This) {
1233 return This->lpVtbl->Release(This);
1234}
1235/*** IAudioMute methods ***/
1236static FORCEINLINE HRESULT IAudioMute_SetMute(IAudioMute* This,WINBOOL bMute,LPCGUID pguidEventContext) {
1237 return This->lpVtbl->SetMute(This,bMute,pguidEventContext);
1238}
1239static FORCEINLINE HRESULT IAudioMute_GetMute(IAudioMute* This,WINBOOL *pbMute) {
1240 return This->lpVtbl->GetMute(This,pbMute);
1241}
1242#endif
1243#endif
1244
1245#endif
1246
1247
1248#endif /* __IAudioMute_INTERFACE_DEFINED__ */
1249
1250/*****************************************************************************
1251 * IAudioBass interface
1252 */
1253#ifndef __IAudioBass_INTERFACE_DEFINED__
1254#define __IAudioBass_INTERFACE_DEFINED__
1255
1256DEFINE_GUID(IID_IAudioBass, 0xa2b1a1d9, 0x4db3, 0x425d, 0xa2,0xb2, 0xbd,0x33,0x5c,0xb3,0xe2,0xe5);
1257#if defined(__cplusplus) && !defined(CINTERFACE)
1258MIDL_INTERFACE("a2b1a1d9-4db3-425d-a2b2-bd335cb3e2e5")
1259IAudioBass : public IPerChannelDbLevel
1260{
1261};
1262#ifdef __CRT_UUID_DECL
1263__CRT_UUID_DECL(IAudioBass, 0xa2b1a1d9, 0x4db3, 0x425d, 0xa2,0xb2, 0xbd,0x33,0x5c,0xb3,0xe2,0xe5)
1264#endif
1265#else
1266typedef struct IAudioBassVtbl {
1267 BEGIN_INTERFACE
1268
1269 /*** IUnknown methods ***/
1270 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1271 IAudioBass *This,
1272 REFIID riid,
1273 void **ppvObject);
1274
1275 ULONG (STDMETHODCALLTYPE *AddRef)(
1276 IAudioBass *This);
1277
1278 ULONG (STDMETHODCALLTYPE *Release)(
1279 IAudioBass *This);
1280
1281 /*** IPerChannelDbLevel methods ***/
1282 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
1283 IAudioBass *This,
1284 UINT *pcChannels);
1285
1286 HRESULT (STDMETHODCALLTYPE *GetLevelRange)(
1287 IAudioBass *This,
1288 UINT nChannel,
1289 float *pfMinLevelDB,
1290 float *pfMaxLevelDB,
1291 float *pfStepping);
1292
1293 HRESULT (STDMETHODCALLTYPE *GetLevel)(
1294 IAudioBass *This,
1295 UINT nChannel,
1296 float *pfLevelDB);
1297
1298 HRESULT (STDMETHODCALLTYPE *SetLevel)(
1299 IAudioBass *This,
1300 UINT nChannel,
1301 float fLevelDB,
1302 LPCGUID pguidEventContext);
1303
1304 HRESULT (STDMETHODCALLTYPE *SetLevelUniform)(
1305 IAudioBass *This,
1306 float fLevelDB,
1307 LPCGUID pguidEventContext);
1308
1309 HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)(
1310 IAudioBass *This,
1311 float *aLevelsDB,
1312 ULONG cChannels,
1313 LPCGUID pguidEventContext);
1314
1315 END_INTERFACE
1316} IAudioBassVtbl;
1317
1318interface IAudioBass {
1319 CONST_VTBL IAudioBassVtbl* lpVtbl;
1320};
1321
1322#ifdef COBJMACROS
1323#ifndef WIDL_C_INLINE_WRAPPERS
1324/*** IUnknown methods ***/
1325#define IAudioBass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1326#define IAudioBass_AddRef(This) (This)->lpVtbl->AddRef(This)
1327#define IAudioBass_Release(This) (This)->lpVtbl->Release(This)
1328/*** IPerChannelDbLevel methods ***/
1329#define IAudioBass_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
1330#define IAudioBass_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)
1331#define IAudioBass_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB)
1332#define IAudioBass_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext)
1333#define IAudioBass_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext)
1334#define IAudioBass_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)
1335#else
1336/*** IUnknown methods ***/
1337static FORCEINLINE HRESULT IAudioBass_QueryInterface(IAudioBass* This,REFIID riid,void **ppvObject) {
1338 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1339}
1340static FORCEINLINE ULONG IAudioBass_AddRef(IAudioBass* This) {
1341 return This->lpVtbl->AddRef(This);
1342}
1343static FORCEINLINE ULONG IAudioBass_Release(IAudioBass* This) {
1344 return This->lpVtbl->Release(This);
1345}
1346/*** IPerChannelDbLevel methods ***/
1347static FORCEINLINE HRESULT IAudioBass_GetChannelCount(IAudioBass* This,UINT *pcChannels) {
1348 return This->lpVtbl->GetChannelCount(This,pcChannels);
1349}
1350static FORCEINLINE HRESULT IAudioBass_GetLevelRange(IAudioBass* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) {
1351 return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping);
1352}
1353static FORCEINLINE HRESULT IAudioBass_GetLevel(IAudioBass* This,UINT nChannel,float *pfLevelDB) {
1354 return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB);
1355}
1356static FORCEINLINE HRESULT IAudioBass_SetLevel(IAudioBass* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) {
1357 return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext);
1358}
1359static FORCEINLINE HRESULT IAudioBass_SetLevelUniform(IAudioBass* This,float fLevelDB,LPCGUID pguidEventContext) {
1360 return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext);
1361}
1362static FORCEINLINE HRESULT IAudioBass_SetLevelAllChannels(IAudioBass* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) {
1363 return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext);
1364}
1365#endif
1366#endif
1367
1368#endif
1369
1370
1371#endif /* __IAudioBass_INTERFACE_DEFINED__ */
1372
1373/*****************************************************************************
1374 * IAudioMidRange interface
1375 */
1376#ifndef __IAudioMidRange_INTERFACE_DEFINED__
1377#define __IAudioMidRange_INTERFACE_DEFINED__
1378
1379DEFINE_GUID(IID_IAudioMidRange, 0x5e54b6d7, 0xb44b, 0x40d9, 0x9a,0x9e, 0xe6,0x91,0xd9,0xce,0x6e,0xdf);
1380#if defined(__cplusplus) && !defined(CINTERFACE)
1381MIDL_INTERFACE("5e54b6d7-b44b-40d9-9a9e-e691d9ce6edf")
1382IAudioMidRange : public IPerChannelDbLevel
1383{
1384};
1385#ifdef __CRT_UUID_DECL
1386__CRT_UUID_DECL(IAudioMidRange, 0x5e54b6d7, 0xb44b, 0x40d9, 0x9a,0x9e, 0xe6,0x91,0xd9,0xce,0x6e,0xdf)
1387#endif
1388#else
1389typedef struct IAudioMidRangeVtbl {
1390 BEGIN_INTERFACE
1391
1392 /*** IUnknown methods ***/
1393 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1394 IAudioMidRange *This,
1395 REFIID riid,
1396 void **ppvObject);
1397
1398 ULONG (STDMETHODCALLTYPE *AddRef)(
1399 IAudioMidRange *This);
1400
1401 ULONG (STDMETHODCALLTYPE *Release)(
1402 IAudioMidRange *This);
1403
1404 /*** IPerChannelDbLevel methods ***/
1405 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
1406 IAudioMidRange *This,
1407 UINT *pcChannels);
1408
1409 HRESULT (STDMETHODCALLTYPE *GetLevelRange)(
1410 IAudioMidRange *This,
1411 UINT nChannel,
1412 float *pfMinLevelDB,
1413 float *pfMaxLevelDB,
1414 float *pfStepping);
1415
1416 HRESULT (STDMETHODCALLTYPE *GetLevel)(
1417 IAudioMidRange *This,
1418 UINT nChannel,
1419 float *pfLevelDB);
1420
1421 HRESULT (STDMETHODCALLTYPE *SetLevel)(
1422 IAudioMidRange *This,
1423 UINT nChannel,
1424 float fLevelDB,
1425 LPCGUID pguidEventContext);
1426
1427 HRESULT (STDMETHODCALLTYPE *SetLevelUniform)(
1428 IAudioMidRange *This,
1429 float fLevelDB,
1430 LPCGUID pguidEventContext);
1431
1432 HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)(
1433 IAudioMidRange *This,
1434 float *aLevelsDB,
1435 ULONG cChannels,
1436 LPCGUID pguidEventContext);
1437
1438 END_INTERFACE
1439} IAudioMidRangeVtbl;
1440
1441interface IAudioMidRange {
1442 CONST_VTBL IAudioMidRangeVtbl* lpVtbl;
1443};
1444
1445#ifdef COBJMACROS
1446#ifndef WIDL_C_INLINE_WRAPPERS
1447/*** IUnknown methods ***/
1448#define IAudioMidRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1449#define IAudioMidRange_AddRef(This) (This)->lpVtbl->AddRef(This)
1450#define IAudioMidRange_Release(This) (This)->lpVtbl->Release(This)
1451/*** IPerChannelDbLevel methods ***/
1452#define IAudioMidRange_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
1453#define IAudioMidRange_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)
1454#define IAudioMidRange_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB)
1455#define IAudioMidRange_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext)
1456#define IAudioMidRange_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext)
1457#define IAudioMidRange_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)
1458#else
1459/*** IUnknown methods ***/
1460static FORCEINLINE HRESULT IAudioMidRange_QueryInterface(IAudioMidRange* This,REFIID riid,void **ppvObject) {
1461 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1462}
1463static FORCEINLINE ULONG IAudioMidRange_AddRef(IAudioMidRange* This) {
1464 return This->lpVtbl->AddRef(This);
1465}
1466static FORCEINLINE ULONG IAudioMidRange_Release(IAudioMidRange* This) {
1467 return This->lpVtbl->Release(This);
1468}
1469/*** IPerChannelDbLevel methods ***/
1470static FORCEINLINE HRESULT IAudioMidRange_GetChannelCount(IAudioMidRange* This,UINT *pcChannels) {
1471 return This->lpVtbl->GetChannelCount(This,pcChannels);
1472}
1473static FORCEINLINE HRESULT IAudioMidRange_GetLevelRange(IAudioMidRange* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) {
1474 return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping);
1475}
1476static FORCEINLINE HRESULT IAudioMidRange_GetLevel(IAudioMidRange* This,UINT nChannel,float *pfLevelDB) {
1477 return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB);
1478}
1479static FORCEINLINE HRESULT IAudioMidRange_SetLevel(IAudioMidRange* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) {
1480 return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext);
1481}
1482static FORCEINLINE HRESULT IAudioMidRange_SetLevelUniform(IAudioMidRange* This,float fLevelDB,LPCGUID pguidEventContext) {
1483 return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext);
1484}
1485static FORCEINLINE HRESULT IAudioMidRange_SetLevelAllChannels(IAudioMidRange* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) {
1486 return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext);
1487}
1488#endif
1489#endif
1490
1491#endif
1492
1493
1494#endif /* __IAudioMidRange_INTERFACE_DEFINED__ */
1495
1496/*****************************************************************************
1497 * IAudioTreble interface
1498 */
1499#ifndef __IAudioTreble_INTERFACE_DEFINED__
1500#define __IAudioTreble_INTERFACE_DEFINED__
1501
1502DEFINE_GUID(IID_IAudioTreble, 0x0a717812, 0x694e, 0x4907, 0xb7,0x4b, 0xba,0xfa,0x5c,0xfd,0xca,0x7b);
1503#if defined(__cplusplus) && !defined(CINTERFACE)
1504MIDL_INTERFACE("0a717812-694e-4907-b74b-bafa5cfdca7b")
1505IAudioTreble : public IPerChannelDbLevel
1506{
1507};
1508#ifdef __CRT_UUID_DECL
1509__CRT_UUID_DECL(IAudioTreble, 0x0a717812, 0x694e, 0x4907, 0xb7,0x4b, 0xba,0xfa,0x5c,0xfd,0xca,0x7b)
1510#endif
1511#else
1512typedef struct IAudioTrebleVtbl {
1513 BEGIN_INTERFACE
1514
1515 /*** IUnknown methods ***/
1516 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1517 IAudioTreble *This,
1518 REFIID riid,
1519 void **ppvObject);
1520
1521 ULONG (STDMETHODCALLTYPE *AddRef)(
1522 IAudioTreble *This);
1523
1524 ULONG (STDMETHODCALLTYPE *Release)(
1525 IAudioTreble *This);
1526
1527 /*** IPerChannelDbLevel methods ***/
1528 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
1529 IAudioTreble *This,
1530 UINT *pcChannels);
1531
1532 HRESULT (STDMETHODCALLTYPE *GetLevelRange)(
1533 IAudioTreble *This,
1534 UINT nChannel,
1535 float *pfMinLevelDB,
1536 float *pfMaxLevelDB,
1537 float *pfStepping);
1538
1539 HRESULT (STDMETHODCALLTYPE *GetLevel)(
1540 IAudioTreble *This,
1541 UINT nChannel,
1542 float *pfLevelDB);
1543
1544 HRESULT (STDMETHODCALLTYPE *SetLevel)(
1545 IAudioTreble *This,
1546 UINT nChannel,
1547 float fLevelDB,
1548 LPCGUID pguidEventContext);
1549
1550 HRESULT (STDMETHODCALLTYPE *SetLevelUniform)(
1551 IAudioTreble *This,
1552 float fLevelDB,
1553 LPCGUID pguidEventContext);
1554
1555 HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)(
1556 IAudioTreble *This,
1557 float *aLevelsDB,
1558 ULONG cChannels,
1559 LPCGUID pguidEventContext);
1560
1561 END_INTERFACE
1562} IAudioTrebleVtbl;
1563
1564interface IAudioTreble {
1565 CONST_VTBL IAudioTrebleVtbl* lpVtbl;
1566};
1567
1568#ifdef COBJMACROS
1569#ifndef WIDL_C_INLINE_WRAPPERS
1570/*** IUnknown methods ***/
1571#define IAudioTreble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1572#define IAudioTreble_AddRef(This) (This)->lpVtbl->AddRef(This)
1573#define IAudioTreble_Release(This) (This)->lpVtbl->Release(This)
1574/*** IPerChannelDbLevel methods ***/
1575#define IAudioTreble_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
1576#define IAudioTreble_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping)
1577#define IAudioTreble_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB)
1578#define IAudioTreble_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext)
1579#define IAudioTreble_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext)
1580#define IAudioTreble_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext)
1581#else
1582/*** IUnknown methods ***/
1583static FORCEINLINE HRESULT IAudioTreble_QueryInterface(IAudioTreble* This,REFIID riid,void **ppvObject) {
1584 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1585}
1586static FORCEINLINE ULONG IAudioTreble_AddRef(IAudioTreble* This) {
1587 return This->lpVtbl->AddRef(This);
1588}
1589static FORCEINLINE ULONG IAudioTreble_Release(IAudioTreble* This) {
1590 return This->lpVtbl->Release(This);
1591}
1592/*** IPerChannelDbLevel methods ***/
1593static FORCEINLINE HRESULT IAudioTreble_GetChannelCount(IAudioTreble* This,UINT *pcChannels) {
1594 return This->lpVtbl->GetChannelCount(This,pcChannels);
1595}
1596static FORCEINLINE HRESULT IAudioTreble_GetLevelRange(IAudioTreble* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) {
1597 return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping);
1598}
1599static FORCEINLINE HRESULT IAudioTreble_GetLevel(IAudioTreble* This,UINT nChannel,float *pfLevelDB) {
1600 return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB);
1601}
1602static FORCEINLINE HRESULT IAudioTreble_SetLevel(IAudioTreble* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) {
1603 return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext);
1604}
1605static FORCEINLINE HRESULT IAudioTreble_SetLevelUniform(IAudioTreble* This,float fLevelDB,LPCGUID pguidEventContext) {
1606 return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext);
1607}
1608static FORCEINLINE HRESULT IAudioTreble_SetLevelAllChannels(IAudioTreble* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) {
1609 return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext);
1610}
1611#endif
1612#endif
1613
1614#endif
1615
1616
1617#endif /* __IAudioTreble_INTERFACE_DEFINED__ */
1618
1619/*****************************************************************************
1620 * IAudioAutoGainControl interface
1621 */
1622#ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__
1623#define __IAudioAutoGainControl_INTERFACE_DEFINED__
1624
1625DEFINE_GUID(IID_IAudioAutoGainControl, 0x85401fd4, 0x6de4, 0x4b9d, 0x98,0x69, 0x2d,0x67,0x53,0xa8,0x2f,0x3c);
1626#if defined(__cplusplus) && !defined(CINTERFACE)
1627MIDL_INTERFACE("85401fd4-6de4-4b9d-9869-2d6753a82f3c")
1628IAudioAutoGainControl : public IUnknown
1629{
1630 virtual HRESULT STDMETHODCALLTYPE GetEnabled(
1631 WINBOOL bEnabled,
1632 LPCGUID pguidEventContext) = 0;
1633
1634 virtual HRESULT STDMETHODCALLTYPE GetMute(
1635 WINBOOL *pbEnabled) = 0;
1636
1637};
1638#ifdef __CRT_UUID_DECL
1639__CRT_UUID_DECL(IAudioAutoGainControl, 0x85401fd4, 0x6de4, 0x4b9d, 0x98,0x69, 0x2d,0x67,0x53,0xa8,0x2f,0x3c)
1640#endif
1641#else
1642typedef struct IAudioAutoGainControlVtbl {
1643 BEGIN_INTERFACE
1644
1645 /*** IUnknown methods ***/
1646 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1647 IAudioAutoGainControl *This,
1648 REFIID riid,
1649 void **ppvObject);
1650
1651 ULONG (STDMETHODCALLTYPE *AddRef)(
1652 IAudioAutoGainControl *This);
1653
1654 ULONG (STDMETHODCALLTYPE *Release)(
1655 IAudioAutoGainControl *This);
1656
1657 /*** IAudioAutoGainControl methods ***/
1658 HRESULT (STDMETHODCALLTYPE *GetEnabled)(
1659 IAudioAutoGainControl *This,
1660 WINBOOL bEnabled,
1661 LPCGUID pguidEventContext);
1662
1663 HRESULT (STDMETHODCALLTYPE *GetMute)(
1664 IAudioAutoGainControl *This,
1665 WINBOOL *pbEnabled);
1666
1667 END_INTERFACE
1668} IAudioAutoGainControlVtbl;
1669
1670interface IAudioAutoGainControl {
1671 CONST_VTBL IAudioAutoGainControlVtbl* lpVtbl;
1672};
1673
1674#ifdef COBJMACROS
1675#ifndef WIDL_C_INLINE_WRAPPERS
1676/*** IUnknown methods ***/
1677#define IAudioAutoGainControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1678#define IAudioAutoGainControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1679#define IAudioAutoGainControl_Release(This) (This)->lpVtbl->Release(This)
1680/*** IAudioAutoGainControl methods ***/
1681#define IAudioAutoGainControl_GetEnabled(This,bEnabled,pguidEventContext) (This)->lpVtbl->GetEnabled(This,bEnabled,pguidEventContext)
1682#define IAudioAutoGainControl_GetMute(This,pbEnabled) (This)->lpVtbl->GetMute(This,pbEnabled)
1683#else
1684/*** IUnknown methods ***/
1685static FORCEINLINE HRESULT IAudioAutoGainControl_QueryInterface(IAudioAutoGainControl* This,REFIID riid,void **ppvObject) {
1686 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1687}
1688static FORCEINLINE ULONG IAudioAutoGainControl_AddRef(IAudioAutoGainControl* This) {
1689 return This->lpVtbl->AddRef(This);
1690}
1691static FORCEINLINE ULONG IAudioAutoGainControl_Release(IAudioAutoGainControl* This) {
1692 return This->lpVtbl->Release(This);
1693}
1694/*** IAudioAutoGainControl methods ***/
1695static FORCEINLINE HRESULT IAudioAutoGainControl_GetEnabled(IAudioAutoGainControl* This,WINBOOL bEnabled,LPCGUID pguidEventContext) {
1696 return This->lpVtbl->GetEnabled(This,bEnabled,pguidEventContext);
1697}
1698static FORCEINLINE HRESULT IAudioAutoGainControl_GetMute(IAudioAutoGainControl* This,WINBOOL *pbEnabled) {
1699 return This->lpVtbl->GetMute(This,pbEnabled);
1700}
1701#endif
1702#endif
1703
1704#endif
1705
1706
1707#endif /* __IAudioAutoGainControl_INTERFACE_DEFINED__ */
1708
1709/*****************************************************************************
1710 * IAudioPeakMeter interface
1711 */
1712#ifndef __IAudioPeakMeter_INTERFACE_DEFINED__
1713#define __IAudioPeakMeter_INTERFACE_DEFINED__
1714
1715DEFINE_GUID(IID_IAudioPeakMeter, 0xdd79923c, 0x0599, 0x45e0, 0xb8,0xb6, 0xc8,0xdf,0x7d,0xb6,0xe7,0x96);
1716#if defined(__cplusplus) && !defined(CINTERFACE)
1717MIDL_INTERFACE("dd79923c-0599-45e0-b8b6-c8df7db6e796")
1718IAudioPeakMeter : public IUnknown
1719{
1720 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
1721 UINT *pcChannels) = 0;
1722
1723 virtual HRESULT STDMETHODCALLTYPE GetLevel(
1724 UINT nChannel,
1725 float *pfLevel) = 0;
1726
1727};
1728#ifdef __CRT_UUID_DECL
1729__CRT_UUID_DECL(IAudioPeakMeter, 0xdd79923c, 0x0599, 0x45e0, 0xb8,0xb6, 0xc8,0xdf,0x7d,0xb6,0xe7,0x96)
1730#endif
1731#else
1732typedef struct IAudioPeakMeterVtbl {
1733 BEGIN_INTERFACE
1734
1735 /*** IUnknown methods ***/
1736 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1737 IAudioPeakMeter *This,
1738 REFIID riid,
1739 void **ppvObject);
1740
1741 ULONG (STDMETHODCALLTYPE *AddRef)(
1742 IAudioPeakMeter *This);
1743
1744 ULONG (STDMETHODCALLTYPE *Release)(
1745 IAudioPeakMeter *This);
1746
1747 /*** IAudioPeakMeter methods ***/
1748 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
1749 IAudioPeakMeter *This,
1750 UINT *pcChannels);
1751
1752 HRESULT (STDMETHODCALLTYPE *GetLevel)(
1753 IAudioPeakMeter *This,
1754 UINT nChannel,
1755 float *pfLevel);
1756
1757 END_INTERFACE
1758} IAudioPeakMeterVtbl;
1759
1760interface IAudioPeakMeter {
1761 CONST_VTBL IAudioPeakMeterVtbl* lpVtbl;
1762};
1763
1764#ifdef COBJMACROS
1765#ifndef WIDL_C_INLINE_WRAPPERS
1766/*** IUnknown methods ***/
1767#define IAudioPeakMeter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1768#define IAudioPeakMeter_AddRef(This) (This)->lpVtbl->AddRef(This)
1769#define IAudioPeakMeter_Release(This) (This)->lpVtbl->Release(This)
1770/*** IAudioPeakMeter methods ***/
1771#define IAudioPeakMeter_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels)
1772#define IAudioPeakMeter_GetLevel(This,nChannel,pfLevel) (This)->lpVtbl->GetLevel(This,nChannel,pfLevel)
1773#else
1774/*** IUnknown methods ***/
1775static FORCEINLINE HRESULT IAudioPeakMeter_QueryInterface(IAudioPeakMeter* This,REFIID riid,void **ppvObject) {
1776 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1777}
1778static FORCEINLINE ULONG IAudioPeakMeter_AddRef(IAudioPeakMeter* This) {
1779 return This->lpVtbl->AddRef(This);
1780}
1781static FORCEINLINE ULONG IAudioPeakMeter_Release(IAudioPeakMeter* This) {
1782 return This->lpVtbl->Release(This);
1783}
1784/*** IAudioPeakMeter methods ***/
1785static FORCEINLINE HRESULT IAudioPeakMeter_GetChannelCount(IAudioPeakMeter* This,UINT *pcChannels) {
1786 return This->lpVtbl->GetChannelCount(This,pcChannels);
1787}
1788static FORCEINLINE HRESULT IAudioPeakMeter_GetLevel(IAudioPeakMeter* This,UINT nChannel,float *pfLevel) {
1789 return This->lpVtbl->GetLevel(This,nChannel,pfLevel);
1790}
1791#endif
1792#endif
1793
1794#endif
1795
1796
1797#endif /* __IAudioPeakMeter_INTERFACE_DEFINED__ */
1798
1799/*****************************************************************************
1800 * IDeviceSpecificProperty interface
1801 */
1802#ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__
1803#define __IDeviceSpecificProperty_INTERFACE_DEFINED__
1804
1805DEFINE_GUID(IID_IDeviceSpecificProperty, 0x3b22bcbf, 0x2586, 0x4af0, 0x85,0x83, 0x20,0x5d,0x39,0x1b,0x80,0x7c);
1806#if defined(__cplusplus) && !defined(CINTERFACE)
1807MIDL_INTERFACE("3b22bcbf-2586-4af0-8583-205d391b807c")
1808IDeviceSpecificProperty : public IUnknown
1809{
1810 virtual HRESULT STDMETHODCALLTYPE GetType(
1811 VARTYPE *pVType) = 0;
1812
1813 virtual HRESULT STDMETHODCALLTYPE GetValue(
1814 VARTYPE *pvType,
1815 DWORD *pcbValue) = 0;
1816
1817 virtual HRESULT STDMETHODCALLTYPE SetValue(
1818 void *pvValue,
1819 DWORD cbValue,
1820 LPCGUID pguidEventContext) = 0;
1821
1822 virtual HRESULT STDMETHODCALLTYPE Get4BRange(
1823 LONG *plMin,
1824 LONG *plMax,
1825 LONG *plStepping) = 0;
1826
1827};
1828#ifdef __CRT_UUID_DECL
1829__CRT_UUID_DECL(IDeviceSpecificProperty, 0x3b22bcbf, 0x2586, 0x4af0, 0x85,0x83, 0x20,0x5d,0x39,0x1b,0x80,0x7c)
1830#endif
1831#else
1832typedef struct IDeviceSpecificPropertyVtbl {
1833 BEGIN_INTERFACE
1834
1835 /*** IUnknown methods ***/
1836 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1837 IDeviceSpecificProperty *This,
1838 REFIID riid,
1839 void **ppvObject);
1840
1841 ULONG (STDMETHODCALLTYPE *AddRef)(
1842 IDeviceSpecificProperty *This);
1843
1844 ULONG (STDMETHODCALLTYPE *Release)(
1845 IDeviceSpecificProperty *This);
1846
1847 /*** IDeviceSpecificProperty methods ***/
1848 HRESULT (STDMETHODCALLTYPE *GetType)(
1849 IDeviceSpecificProperty *This,
1850 VARTYPE *pVType);
1851
1852 HRESULT (STDMETHODCALLTYPE *GetValue)(
1853 IDeviceSpecificProperty *This,
1854 VARTYPE *pvType,
1855 DWORD *pcbValue);
1856
1857 HRESULT (STDMETHODCALLTYPE *SetValue)(
1858 IDeviceSpecificProperty *This,
1859 void *pvValue,
1860 DWORD cbValue,
1861 LPCGUID pguidEventContext);
1862
1863 HRESULT (STDMETHODCALLTYPE *Get4BRange)(
1864 IDeviceSpecificProperty *This,
1865 LONG *plMin,
1866 LONG *plMax,
1867 LONG *plStepping);
1868
1869 END_INTERFACE
1870} IDeviceSpecificPropertyVtbl;
1871
1872interface IDeviceSpecificProperty {
1873 CONST_VTBL IDeviceSpecificPropertyVtbl* lpVtbl;
1874};
1875
1876#ifdef COBJMACROS
1877#ifndef WIDL_C_INLINE_WRAPPERS
1878/*** IUnknown methods ***/
1879#define IDeviceSpecificProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1880#define IDeviceSpecificProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
1881#define IDeviceSpecificProperty_Release(This) (This)->lpVtbl->Release(This)
1882/*** IDeviceSpecificProperty methods ***/
1883#define IDeviceSpecificProperty_GetType(This,pVType) (This)->lpVtbl->GetType(This,pVType)
1884#define IDeviceSpecificProperty_GetValue(This,pvType,pcbValue) (This)->lpVtbl->GetValue(This,pvType,pcbValue)
1885#define IDeviceSpecificProperty_SetValue(This,pvValue,cbValue,pguidEventContext) (This)->lpVtbl->SetValue(This,pvValue,cbValue,pguidEventContext)
1886#define IDeviceSpecificProperty_Get4BRange(This,plMin,plMax,plStepping) (This)->lpVtbl->Get4BRange(This,plMin,plMax,plStepping)
1887#else
1888/*** IUnknown methods ***/
1889static FORCEINLINE HRESULT IDeviceSpecificProperty_QueryInterface(IDeviceSpecificProperty* This,REFIID riid,void **ppvObject) {
1890 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1891}
1892static FORCEINLINE ULONG IDeviceSpecificProperty_AddRef(IDeviceSpecificProperty* This) {
1893 return This->lpVtbl->AddRef(This);
1894}
1895static FORCEINLINE ULONG IDeviceSpecificProperty_Release(IDeviceSpecificProperty* This) {
1896 return This->lpVtbl->Release(This);
1897}
1898/*** IDeviceSpecificProperty methods ***/
1899static FORCEINLINE HRESULT IDeviceSpecificProperty_GetType(IDeviceSpecificProperty* This,VARTYPE *pVType) {
1900 return This->lpVtbl->GetType(This,pVType);
1901}
1902static FORCEINLINE HRESULT IDeviceSpecificProperty_GetValue(IDeviceSpecificProperty* This,VARTYPE *pvType,DWORD *pcbValue) {
1903 return This->lpVtbl->GetValue(This,pvType,pcbValue);
1904}
1905static FORCEINLINE HRESULT IDeviceSpecificProperty_SetValue(IDeviceSpecificProperty* This,void *pvValue,DWORD cbValue,LPCGUID pguidEventContext) {
1906 return This->lpVtbl->SetValue(This,pvValue,cbValue,pguidEventContext);
1907}
1908static FORCEINLINE HRESULT IDeviceSpecificProperty_Get4BRange(IDeviceSpecificProperty* This,LONG *plMin,LONG *plMax,LONG *plStepping) {
1909 return This->lpVtbl->Get4BRange(This,plMin,plMax,plStepping);
1910}
1911#endif
1912#endif
1913
1914#endif
1915
1916
1917#endif /* __IDeviceSpecificProperty_INTERFACE_DEFINED__ */
1918
1919/*****************************************************************************
1920 * IKsFormatSupport interface
1921 */
1922#ifndef __IKsFormatSupport_INTERFACE_DEFINED__
1923#define __IKsFormatSupport_INTERFACE_DEFINED__
1924
1925DEFINE_GUID(IID_IKsFormatSupport, 0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95,0xb7, 0x45,0x2d,0x2c,0x15,0x5d,0xb5);
1926#if defined(__cplusplus) && !defined(CINTERFACE)
1927MIDL_INTERFACE("3cb4a69d-bb6f-4d2b-95b7-452d2c155db5")
1928IKsFormatSupport : public IUnknown
1929{
1930 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
1931 PKSDATAFORMAT pKsFormat,
1932 DWORD cbFormat,
1933 WINBOOL *pbSupported) = 0;
1934
1935 virtual HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat(
1936 PKSDATAFORMAT *ppKsFormat) = 0;
1937
1938};
1939#ifdef __CRT_UUID_DECL
1940__CRT_UUID_DECL(IKsFormatSupport, 0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95,0xb7, 0x45,0x2d,0x2c,0x15,0x5d,0xb5)
1941#endif
1942#else
1943typedef struct IKsFormatSupportVtbl {
1944 BEGIN_INTERFACE
1945
1946 /*** IUnknown methods ***/
1947 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1948 IKsFormatSupport *This,
1949 REFIID riid,
1950 void **ppvObject);
1951
1952 ULONG (STDMETHODCALLTYPE *AddRef)(
1953 IKsFormatSupport *This);
1954
1955 ULONG (STDMETHODCALLTYPE *Release)(
1956 IKsFormatSupport *This);
1957
1958 /*** IKsFormatSupport methods ***/
1959 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)(
1960 IKsFormatSupport *This,
1961 PKSDATAFORMAT pKsFormat,
1962 DWORD cbFormat,
1963 WINBOOL *pbSupported);
1964
1965 HRESULT (STDMETHODCALLTYPE *GetDevicePreferredFormat)(
1966 IKsFormatSupport *This,
1967 PKSDATAFORMAT *ppKsFormat);
1968
1969 END_INTERFACE
1970} IKsFormatSupportVtbl;
1971
1972interface IKsFormatSupport {
1973 CONST_VTBL IKsFormatSupportVtbl* lpVtbl;
1974};
1975
1976#ifdef COBJMACROS
1977#ifndef WIDL_C_INLINE_WRAPPERS
1978/*** IUnknown methods ***/
1979#define IKsFormatSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1980#define IKsFormatSupport_AddRef(This) (This)->lpVtbl->AddRef(This)
1981#define IKsFormatSupport_Release(This) (This)->lpVtbl->Release(This)
1982/*** IKsFormatSupport methods ***/
1983#define IKsFormatSupport_IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) (This)->lpVtbl->IsFormatSupported(This,pKsFormat,cbFormat,pbSupported)
1984#define IKsFormatSupport_GetDevicePreferredFormat(This,ppKsFormat) (This)->lpVtbl->GetDevicePreferredFormat(This,ppKsFormat)
1985#else
1986/*** IUnknown methods ***/
1987static FORCEINLINE HRESULT IKsFormatSupport_QueryInterface(IKsFormatSupport* This,REFIID riid,void **ppvObject) {
1988 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1989}
1990static FORCEINLINE ULONG IKsFormatSupport_AddRef(IKsFormatSupport* This) {
1991 return This->lpVtbl->AddRef(This);
1992}
1993static FORCEINLINE ULONG IKsFormatSupport_Release(IKsFormatSupport* This) {
1994 return This->lpVtbl->Release(This);
1995}
1996/*** IKsFormatSupport methods ***/
1997static FORCEINLINE HRESULT IKsFormatSupport_IsFormatSupported(IKsFormatSupport* This,PKSDATAFORMAT pKsFormat,DWORD cbFormat,WINBOOL *pbSupported) {
1998 return This->lpVtbl->IsFormatSupported(This,pKsFormat,cbFormat,pbSupported);
1999}
2000static FORCEINLINE HRESULT IKsFormatSupport_GetDevicePreferredFormat(IKsFormatSupport* This,PKSDATAFORMAT *ppKsFormat) {
2001 return This->lpVtbl->GetDevicePreferredFormat(This,ppKsFormat);
2002}
2003#endif
2004#endif
2005
2006#endif
2007
2008
2009#endif /* __IKsFormatSupport_INTERFACE_DEFINED__ */
2010
2011/*****************************************************************************
2012 * IKsJackDescription interface
2013 */
2014#ifndef __IKsJackDescription_INTERFACE_DEFINED__
2015#define __IKsJackDescription_INTERFACE_DEFINED__
2016
2017DEFINE_GUID(IID_IKsJackDescription, 0x4509f757, 0x2d46, 0x4637, 0x8e,0x62, 0xce,0x7d,0xb9,0x44,0xf5,0x7b);
2018#if defined(__cplusplus) && !defined(CINTERFACE)
2019MIDL_INTERFACE("4509f757-2d46-4637-8e62-ce7db944f57b")
2020IKsJackDescription : public IUnknown
2021{
2022 virtual HRESULT STDMETHODCALLTYPE GetJackCount(
2023 UINT *pcJacks) = 0;
2024
2025 virtual HRESULT STDMETHODCALLTYPE GetJackDescription(
2026 UINT nJack,
2027 KSJACK_DESCRIPTION *pDescription) = 0;
2028
2029};
2030#ifdef __CRT_UUID_DECL
2031__CRT_UUID_DECL(IKsJackDescription, 0x4509f757, 0x2d46, 0x4637, 0x8e,0x62, 0xce,0x7d,0xb9,0x44,0xf5,0x7b)
2032#endif
2033#else
2034typedef struct IKsJackDescriptionVtbl {
2035 BEGIN_INTERFACE
2036
2037 /*** IUnknown methods ***/
2038 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2039 IKsJackDescription *This,
2040 REFIID riid,
2041 void **ppvObject);
2042
2043 ULONG (STDMETHODCALLTYPE *AddRef)(
2044 IKsJackDescription *This);
2045
2046 ULONG (STDMETHODCALLTYPE *Release)(
2047 IKsJackDescription *This);
2048
2049 /*** IKsJackDescription methods ***/
2050 HRESULT (STDMETHODCALLTYPE *GetJackCount)(
2051 IKsJackDescription *This,
2052 UINT *pcJacks);
2053
2054 HRESULT (STDMETHODCALLTYPE *GetJackDescription)(
2055 IKsJackDescription *This,
2056 UINT nJack,
2057 KSJACK_DESCRIPTION *pDescription);
2058
2059 END_INTERFACE
2060} IKsJackDescriptionVtbl;
2061
2062interface IKsJackDescription {
2063 CONST_VTBL IKsJackDescriptionVtbl* lpVtbl;
2064};
2065
2066#ifdef COBJMACROS
2067#ifndef WIDL_C_INLINE_WRAPPERS
2068/*** IUnknown methods ***/
2069#define IKsJackDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2070#define IKsJackDescription_AddRef(This) (This)->lpVtbl->AddRef(This)
2071#define IKsJackDescription_Release(This) (This)->lpVtbl->Release(This)
2072/*** IKsJackDescription methods ***/
2073#define IKsJackDescription_GetJackCount(This,pcJacks) (This)->lpVtbl->GetJackCount(This,pcJacks)
2074#define IKsJackDescription_GetJackDescription(This,nJack,pDescription) (This)->lpVtbl->GetJackDescription(This,nJack,pDescription)
2075#else
2076/*** IUnknown methods ***/
2077static FORCEINLINE HRESULT IKsJackDescription_QueryInterface(IKsJackDescription* This,REFIID riid,void **ppvObject) {
2078 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2079}
2080static FORCEINLINE ULONG IKsJackDescription_AddRef(IKsJackDescription* This) {
2081 return This->lpVtbl->AddRef(This);
2082}
2083static FORCEINLINE ULONG IKsJackDescription_Release(IKsJackDescription* This) {
2084 return This->lpVtbl->Release(This);
2085}
2086/*** IKsJackDescription methods ***/
2087static FORCEINLINE HRESULT IKsJackDescription_GetJackCount(IKsJackDescription* This,UINT *pcJacks) {
2088 return This->lpVtbl->GetJackCount(This,pcJacks);
2089}
2090static FORCEINLINE HRESULT IKsJackDescription_GetJackDescription(IKsJackDescription* This,UINT nJack,KSJACK_DESCRIPTION *pDescription) {
2091 return This->lpVtbl->GetJackDescription(This,nJack,pDescription);
2092}
2093#endif
2094#endif
2095
2096#endif
2097
2098
2099#endif /* __IKsJackDescription_INTERFACE_DEFINED__ */
2100
2101/*****************************************************************************
2102 * IKsJackDescription2 interface
2103 */
2104#ifndef __IKsJackDescription2_INTERFACE_DEFINED__
2105#define __IKsJackDescription2_INTERFACE_DEFINED__
2106
2107DEFINE_GUID(IID_IKsJackDescription2, 0x478f3a9b, 0xe0c9, 0x4827, 0x92,0x28, 0x6f,0x55,0x05,0xff,0xe7,0x6a);
2108#if defined(__cplusplus) && !defined(CINTERFACE)
2109MIDL_INTERFACE("478f3a9b-e0c9-4827-9228-6f5505ffe76a")
2110IKsJackDescription2 : public IUnknown
2111{
2112 virtual HRESULT STDMETHODCALLTYPE GetJackCount(
2113 UINT *pcJacks) = 0;
2114
2115 virtual HRESULT STDMETHODCALLTYPE GetJackDescription2(
2116 UINT nJack,
2117 KSJACK_DESCRIPTION2 *pDescription2) = 0;
2118
2119};
2120#ifdef __CRT_UUID_DECL
2121__CRT_UUID_DECL(IKsJackDescription2, 0x478f3a9b, 0xe0c9, 0x4827, 0x92,0x28, 0x6f,0x55,0x05,0xff,0xe7,0x6a)
2122#endif
2123#else
2124typedef struct IKsJackDescription2Vtbl {
2125 BEGIN_INTERFACE
2126
2127 /*** IUnknown methods ***/
2128 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2129 IKsJackDescription2 *This,
2130 REFIID riid,
2131 void **ppvObject);
2132
2133 ULONG (STDMETHODCALLTYPE *AddRef)(
2134 IKsJackDescription2 *This);
2135
2136 ULONG (STDMETHODCALLTYPE *Release)(
2137 IKsJackDescription2 *This);
2138
2139 /*** IKsJackDescription2 methods ***/
2140 HRESULT (STDMETHODCALLTYPE *GetJackCount)(
2141 IKsJackDescription2 *This,
2142 UINT *pcJacks);
2143
2144 HRESULT (STDMETHODCALLTYPE *GetJackDescription2)(
2145 IKsJackDescription2 *This,
2146 UINT nJack,
2147 KSJACK_DESCRIPTION2 *pDescription2);
2148
2149 END_INTERFACE
2150} IKsJackDescription2Vtbl;
2151
2152interface IKsJackDescription2 {
2153 CONST_VTBL IKsJackDescription2Vtbl* lpVtbl;
2154};
2155
2156#ifdef COBJMACROS
2157#ifndef WIDL_C_INLINE_WRAPPERS
2158/*** IUnknown methods ***/
2159#define IKsJackDescription2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2160#define IKsJackDescription2_AddRef(This) (This)->lpVtbl->AddRef(This)
2161#define IKsJackDescription2_Release(This) (This)->lpVtbl->Release(This)
2162/*** IKsJackDescription2 methods ***/
2163#define IKsJackDescription2_GetJackCount(This,pcJacks) (This)->lpVtbl->GetJackCount(This,pcJacks)
2164#define IKsJackDescription2_GetJackDescription2(This,nJack,pDescription2) (This)->lpVtbl->GetJackDescription2(This,nJack,pDescription2)
2165#else
2166/*** IUnknown methods ***/
2167static FORCEINLINE HRESULT IKsJackDescription2_QueryInterface(IKsJackDescription2* This,REFIID riid,void **ppvObject) {
2168 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2169}
2170static FORCEINLINE ULONG IKsJackDescription2_AddRef(IKsJackDescription2* This) {
2171 return This->lpVtbl->AddRef(This);
2172}
2173static FORCEINLINE ULONG IKsJackDescription2_Release(IKsJackDescription2* This) {
2174 return This->lpVtbl->Release(This);
2175}
2176/*** IKsJackDescription2 methods ***/
2177static FORCEINLINE HRESULT IKsJackDescription2_GetJackCount(IKsJackDescription2* This,UINT *pcJacks) {
2178 return This->lpVtbl->GetJackCount(This,pcJacks);
2179}
2180static FORCEINLINE HRESULT IKsJackDescription2_GetJackDescription2(IKsJackDescription2* This,UINT nJack,KSJACK_DESCRIPTION2 *pDescription2) {
2181 return This->lpVtbl->GetJackDescription2(This,nJack,pDescription2);
2182}
2183#endif
2184#endif
2185
2186#endif
2187
2188
2189#endif /* __IKsJackDescription2_INTERFACE_DEFINED__ */
2190
2191/*****************************************************************************
2192 * IKsJackSinkInformation interface
2193 */
2194#ifndef __IKsJackSinkInformation_INTERFACE_DEFINED__
2195#define __IKsJackSinkInformation_INTERFACE_DEFINED__
2196
2197DEFINE_GUID(IID_IKsJackSinkInformation, 0xd9bd72ed, 0x290f, 0x4581, 0x9f,0xf3, 0x61,0x02,0x7a,0x8f,0xe5,0x32);
2198#if defined(__cplusplus) && !defined(CINTERFACE)
2199MIDL_INTERFACE("d9bd72ed-290f-4581-9ff3-61027a8fe532")
2200IKsJackSinkInformation : public IUnknown
2201{
2202 virtual HRESULT STDMETHODCALLTYPE GetJackSinkInformation(
2203 KSJACK_SINK_INFORMATION *pJackSinkInformation) = 0;
2204
2205};
2206#ifdef __CRT_UUID_DECL
2207__CRT_UUID_DECL(IKsJackSinkInformation, 0xd9bd72ed, 0x290f, 0x4581, 0x9f,0xf3, 0x61,0x02,0x7a,0x8f,0xe5,0x32)
2208#endif
2209#else
2210typedef struct IKsJackSinkInformationVtbl {
2211 BEGIN_INTERFACE
2212
2213 /*** IUnknown methods ***/
2214 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2215 IKsJackSinkInformation *This,
2216 REFIID riid,
2217 void **ppvObject);
2218
2219 ULONG (STDMETHODCALLTYPE *AddRef)(
2220 IKsJackSinkInformation *This);
2221
2222 ULONG (STDMETHODCALLTYPE *Release)(
2223 IKsJackSinkInformation *This);
2224
2225 /*** IKsJackSinkInformation methods ***/
2226 HRESULT (STDMETHODCALLTYPE *GetJackSinkInformation)(
2227 IKsJackSinkInformation *This,
2228 KSJACK_SINK_INFORMATION *pJackSinkInformation);
2229
2230 END_INTERFACE
2231} IKsJackSinkInformationVtbl;
2232
2233interface IKsJackSinkInformation {
2234 CONST_VTBL IKsJackSinkInformationVtbl* lpVtbl;
2235};
2236
2237#ifdef COBJMACROS
2238#ifndef WIDL_C_INLINE_WRAPPERS
2239/*** IUnknown methods ***/
2240#define IKsJackSinkInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2241#define IKsJackSinkInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
2242#define IKsJackSinkInformation_Release(This) (This)->lpVtbl->Release(This)
2243/*** IKsJackSinkInformation methods ***/
2244#define IKsJackSinkInformation_GetJackSinkInformation(This,pJackSinkInformation) (This)->lpVtbl->GetJackSinkInformation(This,pJackSinkInformation)
2245#else
2246/*** IUnknown methods ***/
2247static FORCEINLINE HRESULT IKsJackSinkInformation_QueryInterface(IKsJackSinkInformation* This,REFIID riid,void **ppvObject) {
2248 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2249}
2250static FORCEINLINE ULONG IKsJackSinkInformation_AddRef(IKsJackSinkInformation* This) {
2251 return This->lpVtbl->AddRef(This);
2252}
2253static FORCEINLINE ULONG IKsJackSinkInformation_Release(IKsJackSinkInformation* This) {
2254 return This->lpVtbl->Release(This);
2255}
2256/*** IKsJackSinkInformation methods ***/
2257static FORCEINLINE HRESULT IKsJackSinkInformation_GetJackSinkInformation(IKsJackSinkInformation* This,KSJACK_SINK_INFORMATION *pJackSinkInformation) {
2258 return This->lpVtbl->GetJackSinkInformation(This,pJackSinkInformation);
2259}
2260#endif
2261#endif
2262
2263#endif
2264
2265
2266#endif /* __IKsJackSinkInformation_INTERFACE_DEFINED__ */
2267
2268/*****************************************************************************
2269 * IPartsList interface
2270 */
2271#ifndef __IPartsList_INTERFACE_DEFINED__
2272#define __IPartsList_INTERFACE_DEFINED__
2273
2274DEFINE_GUID(IID_IPartsList, 0x6daa848c, 0x5eb0, 0x45cc, 0xae,0xa5, 0x99,0x8a,0x2c,0xda,0x1f,0xfb);
2275#if defined(__cplusplus) && !defined(CINTERFACE)
2276MIDL_INTERFACE("6daa848c-5eb0-45cc-aea5-998a2cda1ffb")
2277IPartsList : public IUnknown
2278{
2279 virtual HRESULT STDMETHODCALLTYPE GetCount(
2280 UINT *pCount) = 0;
2281
2282 virtual HRESULT STDMETHODCALLTYPE GetPart(
2283 UINT nIndex,
2284 IPart **ppPart) = 0;
2285
2286};
2287#ifdef __CRT_UUID_DECL
2288__CRT_UUID_DECL(IPartsList, 0x6daa848c, 0x5eb0, 0x45cc, 0xae,0xa5, 0x99,0x8a,0x2c,0xda,0x1f,0xfb)
2289#endif
2290#else
2291typedef struct IPartsListVtbl {
2292 BEGIN_INTERFACE
2293
2294 /*** IUnknown methods ***/
2295 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2296 IPartsList *This,
2297 REFIID riid,
2298 void **ppvObject);
2299
2300 ULONG (STDMETHODCALLTYPE *AddRef)(
2301 IPartsList *This);
2302
2303 ULONG (STDMETHODCALLTYPE *Release)(
2304 IPartsList *This);
2305
2306 /*** IPartsList methods ***/
2307 HRESULT (STDMETHODCALLTYPE *GetCount)(
2308 IPartsList *This,
2309 UINT *pCount);
2310
2311 HRESULT (STDMETHODCALLTYPE *GetPart)(
2312 IPartsList *This,
2313 UINT nIndex,
2314 IPart **ppPart);
2315
2316 END_INTERFACE
2317} IPartsListVtbl;
2318
2319interface IPartsList {
2320 CONST_VTBL IPartsListVtbl* lpVtbl;
2321};
2322
2323#ifdef COBJMACROS
2324#ifndef WIDL_C_INLINE_WRAPPERS
2325/*** IUnknown methods ***/
2326#define IPartsList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2327#define IPartsList_AddRef(This) (This)->lpVtbl->AddRef(This)
2328#define IPartsList_Release(This) (This)->lpVtbl->Release(This)
2329/*** IPartsList methods ***/
2330#define IPartsList_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
2331#define IPartsList_GetPart(This,nIndex,ppPart) (This)->lpVtbl->GetPart(This,nIndex,ppPart)
2332#else
2333/*** IUnknown methods ***/
2334static FORCEINLINE HRESULT IPartsList_QueryInterface(IPartsList* This,REFIID riid,void **ppvObject) {
2335 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2336}
2337static FORCEINLINE ULONG IPartsList_AddRef(IPartsList* This) {
2338 return This->lpVtbl->AddRef(This);
2339}
2340static FORCEINLINE ULONG IPartsList_Release(IPartsList* This) {
2341 return This->lpVtbl->Release(This);
2342}
2343/*** IPartsList methods ***/
2344static FORCEINLINE HRESULT IPartsList_GetCount(IPartsList* This,UINT *pCount) {
2345 return This->lpVtbl->GetCount(This,pCount);
2346}
2347static FORCEINLINE HRESULT IPartsList_GetPart(IPartsList* This,UINT nIndex,IPart **ppPart) {
2348 return This->lpVtbl->GetPart(This,nIndex,ppPart);
2349}
2350#endif
2351#endif
2352
2353#endif
2354
2355
2356#endif /* __IPartsList_INTERFACE_DEFINED__ */
2357
2358/*****************************************************************************
2359 * IPart interface
2360 */
2361#ifndef __IPart_INTERFACE_DEFINED__
2362#define __IPart_INTERFACE_DEFINED__
2363
2364DEFINE_GUID(IID_IPart, 0xae2de0e4, 0x5bca, 0x4f2d, 0xaa,0x46, 0x5d,0x13,0xf8,0xfd,0xb3,0xa9);
2365#if defined(__cplusplus) && !defined(CINTERFACE)
2366MIDL_INTERFACE("ae2de0e4-5bca-4f2d-aa46-5d13f8fdb3a9")
2367IPart : public IUnknown
2368{
2369 virtual HRESULT STDMETHODCALLTYPE GetName(
2370 LPWSTR *ppwstrName) = 0;
2371
2372 virtual HRESULT STDMETHODCALLTYPE GetLocalId(
2373 UINT *pnId) = 0;
2374
2375 virtual HRESULT STDMETHODCALLTYPE GetGlobalId(
2376 LPWSTR *ppwstrGlobalId) = 0;
2377
2378 virtual HRESULT STDMETHODCALLTYPE GetPartType(
2379 PartType *pPartType) = 0;
2380
2381 virtual HRESULT STDMETHODCALLTYPE GetSubType(
2382 GUID *pSubType) = 0;
2383
2384 virtual HRESULT STDMETHODCALLTYPE GetControlInterfaceCount(
2385 UINT *pCount) = 0;
2386
2387 virtual HRESULT STDMETHODCALLTYPE GetControlInterface(
2388 UINT nIndex,
2389 IControlInterface **ppInterfaceDesc) = 0;
2390
2391 virtual HRESULT STDMETHODCALLTYPE EnumPartsIncoming(
2392 IPartsList **ppParts) = 0;
2393
2394 virtual HRESULT STDMETHODCALLTYPE EnumPartsOutgoing(
2395 IPartsList **ppParts) = 0;
2396
2397 virtual HRESULT STDMETHODCALLTYPE GetTopologyObjects(
2398 IDeviceTopology **ppTopology) = 0;
2399
2400 virtual HRESULT STDMETHODCALLTYPE Activate(
2401 DWORD dwClsContext,
2402 REFIID refiid,
2403 void **ppvObject) = 0;
2404
2405 virtual HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback(
2406 REFGUID riid,
2407 IControlChangeNotify *pNotify) = 0;
2408
2409 virtual HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback(
2410 IControlChangeNotify *pNotify) = 0;
2411
2412};
2413#ifdef __CRT_UUID_DECL
2414__CRT_UUID_DECL(IPart, 0xae2de0e4, 0x5bca, 0x4f2d, 0xaa,0x46, 0x5d,0x13,0xf8,0xfd,0xb3,0xa9)
2415#endif
2416#else
2417typedef struct IPartVtbl {
2418 BEGIN_INTERFACE
2419
2420 /*** IUnknown methods ***/
2421 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2422 IPart *This,
2423 REFIID riid,
2424 void **ppvObject);
2425
2426 ULONG (STDMETHODCALLTYPE *AddRef)(
2427 IPart *This);
2428
2429 ULONG (STDMETHODCALLTYPE *Release)(
2430 IPart *This);
2431
2432 /*** IPart methods ***/
2433 HRESULT (STDMETHODCALLTYPE *GetName)(
2434 IPart *This,
2435 LPWSTR *ppwstrName);
2436
2437 HRESULT (STDMETHODCALLTYPE *GetLocalId)(
2438 IPart *This,
2439 UINT *pnId);
2440
2441 HRESULT (STDMETHODCALLTYPE *GetGlobalId)(
2442 IPart *This,
2443 LPWSTR *ppwstrGlobalId);
2444
2445 HRESULT (STDMETHODCALLTYPE *GetPartType)(
2446 IPart *This,
2447 PartType *pPartType);
2448
2449 HRESULT (STDMETHODCALLTYPE *GetSubType)(
2450 IPart *This,
2451 GUID *pSubType);
2452
2453 HRESULT (STDMETHODCALLTYPE *GetControlInterfaceCount)(
2454 IPart *This,
2455 UINT *pCount);
2456
2457 HRESULT (STDMETHODCALLTYPE *GetControlInterface)(
2458 IPart *This,
2459 UINT nIndex,
2460 IControlInterface **ppInterfaceDesc);
2461
2462 HRESULT (STDMETHODCALLTYPE *EnumPartsIncoming)(
2463 IPart *This,
2464 IPartsList **ppParts);
2465
2466 HRESULT (STDMETHODCALLTYPE *EnumPartsOutgoing)(
2467 IPart *This,
2468 IPartsList **ppParts);
2469
2470 HRESULT (STDMETHODCALLTYPE *GetTopologyObjects)(
2471 IPart *This,
2472 IDeviceTopology **ppTopology);
2473
2474 HRESULT (STDMETHODCALLTYPE *Activate)(
2475 IPart *This,
2476 DWORD dwClsContext,
2477 REFIID refiid,
2478 void **ppvObject);
2479
2480 HRESULT (STDMETHODCALLTYPE *RegisterControlChangeCallback)(
2481 IPart *This,
2482 REFGUID riid,
2483 IControlChangeNotify *pNotify);
2484
2485 HRESULT (STDMETHODCALLTYPE *UnregisterControlChangeCallback)(
2486 IPart *This,
2487 IControlChangeNotify *pNotify);
2488
2489 END_INTERFACE
2490} IPartVtbl;
2491
2492interface IPart {
2493 CONST_VTBL IPartVtbl* lpVtbl;
2494};
2495
2496#ifdef COBJMACROS
2497#ifndef WIDL_C_INLINE_WRAPPERS
2498/*** IUnknown methods ***/
2499#define IPart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2500#define IPart_AddRef(This) (This)->lpVtbl->AddRef(This)
2501#define IPart_Release(This) (This)->lpVtbl->Release(This)
2502/*** IPart methods ***/
2503#define IPart_GetName(This,ppwstrName) (This)->lpVtbl->GetName(This,ppwstrName)
2504#define IPart_GetLocalId(This,pnId) (This)->lpVtbl->GetLocalId(This,pnId)
2505#define IPart_GetGlobalId(This,ppwstrGlobalId) (This)->lpVtbl->GetGlobalId(This,ppwstrGlobalId)
2506#define IPart_GetPartType(This,pPartType) (This)->lpVtbl->GetPartType(This,pPartType)
2507#define IPart_GetSubType(This,pSubType) (This)->lpVtbl->GetSubType(This,pSubType)
2508#define IPart_GetControlInterfaceCount(This,pCount) (This)->lpVtbl->GetControlInterfaceCount(This,pCount)
2509#define IPart_GetControlInterface(This,nIndex,ppInterfaceDesc) (This)->lpVtbl->GetControlInterface(This,nIndex,ppInterfaceDesc)
2510#define IPart_EnumPartsIncoming(This,ppParts) (This)->lpVtbl->EnumPartsIncoming(This,ppParts)
2511#define IPart_EnumPartsOutgoing(This,ppParts) (This)->lpVtbl->EnumPartsOutgoing(This,ppParts)
2512#define IPart_GetTopologyObjects(This,ppTopology) (This)->lpVtbl->GetTopologyObjects(This,ppTopology)
2513#define IPart_Activate(This,dwClsContext,refiid,ppvObject) (This)->lpVtbl->Activate(This,dwClsContext,refiid,ppvObject)
2514#define IPart_RegisterControlChangeCallback(This,riid,pNotify) (This)->lpVtbl->RegisterControlChangeCallback(This,riid,pNotify)
2515#define IPart_UnregisterControlChangeCallback(This,pNotify) (This)->lpVtbl->UnregisterControlChangeCallback(This,pNotify)
2516#else
2517/*** IUnknown methods ***/
2518static FORCEINLINE HRESULT IPart_QueryInterface(IPart* This,REFIID riid,void **ppvObject) {
2519 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2520}
2521static FORCEINLINE ULONG IPart_AddRef(IPart* This) {
2522 return This->lpVtbl->AddRef(This);
2523}
2524static FORCEINLINE ULONG IPart_Release(IPart* This) {
2525 return This->lpVtbl->Release(This);
2526}
2527/*** IPart methods ***/
2528static FORCEINLINE HRESULT IPart_GetName(IPart* This,LPWSTR *ppwstrName) {
2529 return This->lpVtbl->GetName(This,ppwstrName);
2530}
2531static FORCEINLINE HRESULT IPart_GetLocalId(IPart* This,UINT *pnId) {
2532 return This->lpVtbl->GetLocalId(This,pnId);
2533}
2534static FORCEINLINE HRESULT IPart_GetGlobalId(IPart* This,LPWSTR *ppwstrGlobalId) {
2535 return This->lpVtbl->GetGlobalId(This,ppwstrGlobalId);
2536}
2537static FORCEINLINE HRESULT IPart_GetPartType(IPart* This,PartType *pPartType) {
2538 return This->lpVtbl->GetPartType(This,pPartType);
2539}
2540static FORCEINLINE HRESULT IPart_GetSubType(IPart* This,GUID *pSubType) {
2541 return This->lpVtbl->GetSubType(This,pSubType);
2542}
2543static FORCEINLINE HRESULT IPart_GetControlInterfaceCount(IPart* This,UINT *pCount) {
2544 return This->lpVtbl->GetControlInterfaceCount(This,pCount);
2545}
2546static FORCEINLINE HRESULT IPart_GetControlInterface(IPart* This,UINT nIndex,IControlInterface **ppInterfaceDesc) {
2547 return This->lpVtbl->GetControlInterface(This,nIndex,ppInterfaceDesc);
2548}
2549static FORCEINLINE HRESULT IPart_EnumPartsIncoming(IPart* This,IPartsList **ppParts) {
2550 return This->lpVtbl->EnumPartsIncoming(This,ppParts);
2551}
2552static FORCEINLINE HRESULT IPart_EnumPartsOutgoing(IPart* This,IPartsList **ppParts) {
2553 return This->lpVtbl->EnumPartsOutgoing(This,ppParts);
2554}
2555static FORCEINLINE HRESULT IPart_GetTopologyObjects(IPart* This,IDeviceTopology **ppTopology) {
2556 return This->lpVtbl->GetTopologyObjects(This,ppTopology);
2557}
2558static FORCEINLINE HRESULT IPart_Activate(IPart* This,DWORD dwClsContext,REFIID refiid,void **ppvObject) {
2559 return This->lpVtbl->Activate(This,dwClsContext,refiid,ppvObject);
2560}
2561static FORCEINLINE HRESULT IPart_RegisterControlChangeCallback(IPart* This,REFGUID riid,IControlChangeNotify *pNotify) {
2562 return This->lpVtbl->RegisterControlChangeCallback(This,riid,pNotify);
2563}
2564static FORCEINLINE HRESULT IPart_UnregisterControlChangeCallback(IPart* This,IControlChangeNotify *pNotify) {
2565 return This->lpVtbl->UnregisterControlChangeCallback(This,pNotify);
2566}
2567#endif
2568#endif
2569
2570#endif
2571
2572
2573#endif /* __IPart_INTERFACE_DEFINED__ */
2574
2575/*****************************************************************************
2576 * IConnector interface
2577 */
2578#ifndef __IConnector_INTERFACE_DEFINED__
2579#define __IConnector_INTERFACE_DEFINED__
2580
2581DEFINE_GUID(IID_IConnector, 0x9c2c4058, 0x23f5, 0x41de, 0x87,0x7a, 0xdf,0x3a,0xf2,0x36,0xa0,0x9e);
2582#if defined(__cplusplus) && !defined(CINTERFACE)
2583MIDL_INTERFACE("9c2c4058-23f5-41de-877a-df3af236a09e")
2584IConnector : public IUnknown
2585{
2586 virtual HRESULT STDMETHODCALLTYPE GetType(
2587 ConnectorType *pType) = 0;
2588
2589 virtual HRESULT STDMETHODCALLTYPE GetDataFlow(
2590 DataFlow *pFlow) = 0;
2591
2592 virtual HRESULT STDMETHODCALLTYPE ConnectTo(
2593 IConnector *pConnectTo) = 0;
2594
2595 virtual HRESULT STDMETHODCALLTYPE Disconnect(
2596 ) = 0;
2597
2598 virtual HRESULT STDMETHODCALLTYPE IsConnected(
2599 WINBOOL *pbConnected) = 0;
2600
2601 virtual HRESULT STDMETHODCALLTYPE GetConnectedTo(
2602 IConnector **ppConTo) = 0;
2603
2604 virtual HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo(
2605 LPWSTR *ppwstrConnectorId) = 0;
2606
2607 virtual HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo(
2608 LPWSTR *ppwstrDeviceId) = 0;
2609
2610};
2611#ifdef __CRT_UUID_DECL
2612__CRT_UUID_DECL(IConnector, 0x9c2c4058, 0x23f5, 0x41de, 0x87,0x7a, 0xdf,0x3a,0xf2,0x36,0xa0,0x9e)
2613#endif
2614#else
2615typedef struct IConnectorVtbl {
2616 BEGIN_INTERFACE
2617
2618 /*** IUnknown methods ***/
2619 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2620 IConnector *This,
2621 REFIID riid,
2622 void **ppvObject);
2623
2624 ULONG (STDMETHODCALLTYPE *AddRef)(
2625 IConnector *This);
2626
2627 ULONG (STDMETHODCALLTYPE *Release)(
2628 IConnector *This);
2629
2630 /*** IConnector methods ***/
2631 HRESULT (STDMETHODCALLTYPE *GetType)(
2632 IConnector *This,
2633 ConnectorType *pType);
2634
2635 HRESULT (STDMETHODCALLTYPE *GetDataFlow)(
2636 IConnector *This,
2637 DataFlow *pFlow);
2638
2639 HRESULT (STDMETHODCALLTYPE *ConnectTo)(
2640 IConnector *This,
2641 IConnector *pConnectTo);
2642
2643 HRESULT (STDMETHODCALLTYPE *Disconnect)(
2644 IConnector *This);
2645
2646 HRESULT (STDMETHODCALLTYPE *IsConnected)(
2647 IConnector *This,
2648 WINBOOL *pbConnected);
2649
2650 HRESULT (STDMETHODCALLTYPE *GetConnectedTo)(
2651 IConnector *This,
2652 IConnector **ppConTo);
2653
2654 HRESULT (STDMETHODCALLTYPE *GetConnectorIdConnectedTo)(
2655 IConnector *This,
2656 LPWSTR *ppwstrConnectorId);
2657
2658 HRESULT (STDMETHODCALLTYPE *GetDeviceIdConnectedTo)(
2659 IConnector *This,
2660 LPWSTR *ppwstrDeviceId);
2661
2662 END_INTERFACE
2663} IConnectorVtbl;
2664
2665interface IConnector {
2666 CONST_VTBL IConnectorVtbl* lpVtbl;
2667};
2668
2669#ifdef COBJMACROS
2670#ifndef WIDL_C_INLINE_WRAPPERS
2671/*** IUnknown methods ***/
2672#define IConnector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2673#define IConnector_AddRef(This) (This)->lpVtbl->AddRef(This)
2674#define IConnector_Release(This) (This)->lpVtbl->Release(This)
2675/*** IConnector methods ***/
2676#define IConnector_GetType(This,pType) (This)->lpVtbl->GetType(This,pType)
2677#define IConnector_GetDataFlow(This,pFlow) (This)->lpVtbl->GetDataFlow(This,pFlow)
2678#define IConnector_ConnectTo(This,pConnectTo) (This)->lpVtbl->ConnectTo(This,pConnectTo)
2679#define IConnector_Disconnect(This) (This)->lpVtbl->Disconnect(This)
2680#define IConnector_IsConnected(This,pbConnected) (This)->lpVtbl->IsConnected(This,pbConnected)
2681#define IConnector_GetConnectedTo(This,ppConTo) (This)->lpVtbl->GetConnectedTo(This,ppConTo)
2682#define IConnector_GetConnectorIdConnectedTo(This,ppwstrConnectorId) (This)->lpVtbl->GetConnectorIdConnectedTo(This,ppwstrConnectorId)
2683#define IConnector_GetDeviceIdConnectedTo(This,ppwstrDeviceId) (This)->lpVtbl->GetDeviceIdConnectedTo(This,ppwstrDeviceId)
2684#else
2685/*** IUnknown methods ***/
2686static FORCEINLINE HRESULT IConnector_QueryInterface(IConnector* This,REFIID riid,void **ppvObject) {
2687 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2688}
2689static FORCEINLINE ULONG IConnector_AddRef(IConnector* This) {
2690 return This->lpVtbl->AddRef(This);
2691}
2692static FORCEINLINE ULONG IConnector_Release(IConnector* This) {
2693 return This->lpVtbl->Release(This);
2694}
2695/*** IConnector methods ***/
2696static FORCEINLINE HRESULT IConnector_GetType(IConnector* This,ConnectorType *pType) {
2697 return This->lpVtbl->GetType(This,pType);
2698}
2699static FORCEINLINE HRESULT IConnector_GetDataFlow(IConnector* This,DataFlow *pFlow) {
2700 return This->lpVtbl->GetDataFlow(This,pFlow);
2701}
2702static FORCEINLINE HRESULT IConnector_ConnectTo(IConnector* This,IConnector *pConnectTo) {
2703 return This->lpVtbl->ConnectTo(This,pConnectTo);
2704}
2705static FORCEINLINE HRESULT IConnector_Disconnect(IConnector* This) {
2706 return This->lpVtbl->Disconnect(This);
2707}
2708static FORCEINLINE HRESULT IConnector_IsConnected(IConnector* This,WINBOOL *pbConnected) {
2709 return This->lpVtbl->IsConnected(This,pbConnected);
2710}
2711static FORCEINLINE HRESULT IConnector_GetConnectedTo(IConnector* This,IConnector **ppConTo) {
2712 return This->lpVtbl->GetConnectedTo(This,ppConTo);
2713}
2714static FORCEINLINE HRESULT IConnector_GetConnectorIdConnectedTo(IConnector* This,LPWSTR *ppwstrConnectorId) {
2715 return This->lpVtbl->GetConnectorIdConnectedTo(This,ppwstrConnectorId);
2716}
2717static FORCEINLINE HRESULT IConnector_GetDeviceIdConnectedTo(IConnector* This,LPWSTR *ppwstrDeviceId) {
2718 return This->lpVtbl->GetDeviceIdConnectedTo(This,ppwstrDeviceId);
2719}
2720#endif
2721#endif
2722
2723#endif
2724
2725
2726#endif /* __IConnector_INTERFACE_DEFINED__ */
2727
2728/*****************************************************************************
2729 * ISubUnit interface
2730 */
2731#ifndef __ISubUnit_INTERFACE_DEFINED__
2732#define __ISubUnit_INTERFACE_DEFINED__
2733
2734DEFINE_GUID(IID_ISubUnit, 0x82149a85, 0xdba6, 0x4487, 0x86,0xbb, 0xea,0x8f,0x7f,0xef,0xcc,0x71);
2735#if defined(__cplusplus) && !defined(CINTERFACE)
2736MIDL_INTERFACE("82149a85-dba6-4487-86bb-ea8f7fefcc71")
2737ISubUnit : public IUnknown
2738{
2739};
2740#ifdef __CRT_UUID_DECL
2741__CRT_UUID_DECL(ISubUnit, 0x82149a85, 0xdba6, 0x4487, 0x86,0xbb, 0xea,0x8f,0x7f,0xef,0xcc,0x71)
2742#endif
2743#else
2744typedef struct ISubUnitVtbl {
2745 BEGIN_INTERFACE
2746
2747 /*** IUnknown methods ***/
2748 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2749 ISubUnit *This,
2750 REFIID riid,
2751 void **ppvObject);
2752
2753 ULONG (STDMETHODCALLTYPE *AddRef)(
2754 ISubUnit *This);
2755
2756 ULONG (STDMETHODCALLTYPE *Release)(
2757 ISubUnit *This);
2758
2759 END_INTERFACE
2760} ISubUnitVtbl;
2761
2762interface ISubUnit {
2763 CONST_VTBL ISubUnitVtbl* lpVtbl;
2764};
2765
2766#ifdef COBJMACROS
2767#ifndef WIDL_C_INLINE_WRAPPERS
2768/*** IUnknown methods ***/
2769#define ISubUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2770#define ISubUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
2771#define ISubUnit_Release(This) (This)->lpVtbl->Release(This)
2772#else
2773/*** IUnknown methods ***/
2774static FORCEINLINE HRESULT ISubUnit_QueryInterface(ISubUnit* This,REFIID riid,void **ppvObject) {
2775 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2776}
2777static FORCEINLINE ULONG ISubUnit_AddRef(ISubUnit* This) {
2778 return This->lpVtbl->AddRef(This);
2779}
2780static FORCEINLINE ULONG ISubUnit_Release(ISubUnit* This) {
2781 return This->lpVtbl->Release(This);
2782}
2783#endif
2784#endif
2785
2786#endif
2787
2788
2789#endif /* __ISubUnit_INTERFACE_DEFINED__ */
2790
2791/*****************************************************************************
2792 * IControlInterface interface
2793 */
2794#ifndef __IControlInterface_INTERFACE_DEFINED__
2795#define __IControlInterface_INTERFACE_DEFINED__
2796
2797DEFINE_GUID(IID_IControlInterface, 0x45d37c3f, 0x5140, 0x444a, 0xae,0x24, 0x40,0x07,0x89,0xf3,0xcb,0xf3);
2798#if defined(__cplusplus) && !defined(CINTERFACE)
2799MIDL_INTERFACE("45d37c3f-5140-444a-ae24-400789f3cbf3")
2800IControlInterface : public IUnknown
2801{
2802 virtual HRESULT STDMETHODCALLTYPE GetName(
2803 LPWSTR *ppwstrName) = 0;
2804
2805 virtual HRESULT STDMETHODCALLTYPE GetIID(
2806 GUID *pIID) = 0;
2807
2808};
2809#ifdef __CRT_UUID_DECL
2810__CRT_UUID_DECL(IControlInterface, 0x45d37c3f, 0x5140, 0x444a, 0xae,0x24, 0x40,0x07,0x89,0xf3,0xcb,0xf3)
2811#endif
2812#else
2813typedef struct IControlInterfaceVtbl {
2814 BEGIN_INTERFACE
2815
2816 /*** IUnknown methods ***/
2817 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2818 IControlInterface *This,
2819 REFIID riid,
2820 void **ppvObject);
2821
2822 ULONG (STDMETHODCALLTYPE *AddRef)(
2823 IControlInterface *This);
2824
2825 ULONG (STDMETHODCALLTYPE *Release)(
2826 IControlInterface *This);
2827
2828 /*** IControlInterface methods ***/
2829 HRESULT (STDMETHODCALLTYPE *GetName)(
2830 IControlInterface *This,
2831 LPWSTR *ppwstrName);
2832
2833 HRESULT (STDMETHODCALLTYPE *GetIID)(
2834 IControlInterface *This,
2835 GUID *pIID);
2836
2837 END_INTERFACE
2838} IControlInterfaceVtbl;
2839
2840interface IControlInterface {
2841 CONST_VTBL IControlInterfaceVtbl* lpVtbl;
2842};
2843
2844#ifdef COBJMACROS
2845#ifndef WIDL_C_INLINE_WRAPPERS
2846/*** IUnknown methods ***/
2847#define IControlInterface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2848#define IControlInterface_AddRef(This) (This)->lpVtbl->AddRef(This)
2849#define IControlInterface_Release(This) (This)->lpVtbl->Release(This)
2850/*** IControlInterface methods ***/
2851#define IControlInterface_GetName(This,ppwstrName) (This)->lpVtbl->GetName(This,ppwstrName)
2852#define IControlInterface_GetIID(This,pIID) (This)->lpVtbl->GetIID(This,pIID)
2853#else
2854/*** IUnknown methods ***/
2855static FORCEINLINE HRESULT IControlInterface_QueryInterface(IControlInterface* This,REFIID riid,void **ppvObject) {
2856 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2857}
2858static FORCEINLINE ULONG IControlInterface_AddRef(IControlInterface* This) {
2859 return This->lpVtbl->AddRef(This);
2860}
2861static FORCEINLINE ULONG IControlInterface_Release(IControlInterface* This) {
2862 return This->lpVtbl->Release(This);
2863}
2864/*** IControlInterface methods ***/
2865static FORCEINLINE HRESULT IControlInterface_GetName(IControlInterface* This,LPWSTR *ppwstrName) {
2866 return This->lpVtbl->GetName(This,ppwstrName);
2867}
2868static FORCEINLINE HRESULT IControlInterface_GetIID(IControlInterface* This,GUID *pIID) {
2869 return This->lpVtbl->GetIID(This,pIID);
2870}
2871#endif
2872#endif
2873
2874#endif
2875
2876
2877#endif /* __IControlInterface_INTERFACE_DEFINED__ */
2878
2879/*****************************************************************************
2880 * IControlChangeNotify interface
2881 */
2882#ifndef __IControlChangeNotify_INTERFACE_DEFINED__
2883#define __IControlChangeNotify_INTERFACE_DEFINED__
2884
2885DEFINE_GUID(IID_IControlChangeNotify, 0xa09513ed, 0xc709, 0x4d21, 0xbd,0x7b, 0x5f,0x34,0xc4,0x7f,0x39,0x47);
2886#if defined(__cplusplus) && !defined(CINTERFACE)
2887MIDL_INTERFACE("a09513ed-c709-4d21-bd7b-5f34c47f3947")
2888IControlChangeNotify : public IUnknown
2889{
2890 virtual HRESULT STDMETHODCALLTYPE OnNotify(
2891 DWORD dwSenderProcessId,
2892 LPCGUID ppguidEventContext) = 0;
2893
2894};
2895#ifdef __CRT_UUID_DECL
2896__CRT_UUID_DECL(IControlChangeNotify, 0xa09513ed, 0xc709, 0x4d21, 0xbd,0x7b, 0x5f,0x34,0xc4,0x7f,0x39,0x47)
2897#endif
2898#else
2899typedef struct IControlChangeNotifyVtbl {
2900 BEGIN_INTERFACE
2901
2902 /*** IUnknown methods ***/
2903 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2904 IControlChangeNotify *This,
2905 REFIID riid,
2906 void **ppvObject);
2907
2908 ULONG (STDMETHODCALLTYPE *AddRef)(
2909 IControlChangeNotify *This);
2910
2911 ULONG (STDMETHODCALLTYPE *Release)(
2912 IControlChangeNotify *This);
2913
2914 /*** IControlChangeNotify methods ***/
2915 HRESULT (STDMETHODCALLTYPE *OnNotify)(
2916 IControlChangeNotify *This,
2917 DWORD dwSenderProcessId,
2918 LPCGUID ppguidEventContext);
2919
2920 END_INTERFACE
2921} IControlChangeNotifyVtbl;
2922
2923interface IControlChangeNotify {
2924 CONST_VTBL IControlChangeNotifyVtbl* lpVtbl;
2925};
2926
2927#ifdef COBJMACROS
2928#ifndef WIDL_C_INLINE_WRAPPERS
2929/*** IUnknown methods ***/
2930#define IControlChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2931#define IControlChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
2932#define IControlChangeNotify_Release(This) (This)->lpVtbl->Release(This)
2933/*** IControlChangeNotify methods ***/
2934#define IControlChangeNotify_OnNotify(This,dwSenderProcessId,ppguidEventContext) (This)->lpVtbl->OnNotify(This,dwSenderProcessId,ppguidEventContext)
2935#else
2936/*** IUnknown methods ***/
2937static FORCEINLINE HRESULT IControlChangeNotify_QueryInterface(IControlChangeNotify* This,REFIID riid,void **ppvObject) {
2938 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2939}
2940static FORCEINLINE ULONG IControlChangeNotify_AddRef(IControlChangeNotify* This) {
2941 return This->lpVtbl->AddRef(This);
2942}
2943static FORCEINLINE ULONG IControlChangeNotify_Release(IControlChangeNotify* This) {
2944 return This->lpVtbl->Release(This);
2945}
2946/*** IControlChangeNotify methods ***/
2947static FORCEINLINE HRESULT IControlChangeNotify_OnNotify(IControlChangeNotify* This,DWORD dwSenderProcessId,LPCGUID ppguidEventContext) {
2948 return This->lpVtbl->OnNotify(This,dwSenderProcessId,ppguidEventContext);
2949}
2950#endif
2951#endif
2952
2953#endif
2954
2955
2956#endif /* __IControlChangeNotify_INTERFACE_DEFINED__ */
2957
2958/*****************************************************************************
2959 * IDeviceTopology interface
2960 */
2961#ifndef __IDeviceTopology_INTERFACE_DEFINED__
2962#define __IDeviceTopology_INTERFACE_DEFINED__
2963
2964DEFINE_GUID(IID_IDeviceTopology, 0x2a07407e, 0x6497, 0x4a18, 0x97,0x87, 0x32,0xf7,0x9b,0xd0,0xd9,0x8f);
2965#if defined(__cplusplus) && !defined(CINTERFACE)
2966MIDL_INTERFACE("2a07407e-6497-4a18-9787-32f79bd0d98f")
2967IDeviceTopology : public IUnknown
2968{
2969 virtual HRESULT STDMETHODCALLTYPE GetConnectorCount(
2970 UINT *pCount) = 0;
2971
2972 virtual HRESULT STDMETHODCALLTYPE GetConnector(
2973 UINT nIndex,
2974 IConnector **ppConnector) = 0;
2975
2976 virtual HRESULT STDMETHODCALLTYPE GetSubunitCount(
2977 UINT *pCount) = 0;
2978
2979 virtual HRESULT STDMETHODCALLTYPE GetSubunit(
2980 UINT nIndex,
2981 ISubUnit **ppConnector) = 0;
2982
2983 virtual HRESULT STDMETHODCALLTYPE GetPartById(
2984 UINT nId,
2985 IPart **ppPart) = 0;
2986
2987 virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
2988 LPWSTR *ppwstrDeviceId) = 0;
2989
2990 virtual HRESULT STDMETHODCALLTYPE GetSignalPath(
2991 IPart *pIPartFrom,
2992 IPart *pIPartTo,
2993 WINBOOL bRejectMixedPaths,
2994 IPartsList **ppParts) = 0;
2995
2996};
2997#ifdef __CRT_UUID_DECL
2998__CRT_UUID_DECL(IDeviceTopology, 0x2a07407e, 0x6497, 0x4a18, 0x97,0x87, 0x32,0xf7,0x9b,0xd0,0xd9,0x8f)
2999#endif
3000#else
3001typedef struct IDeviceTopologyVtbl {
3002 BEGIN_INTERFACE
3003
3004 /*** IUnknown methods ***/
3005 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3006 IDeviceTopology *This,
3007 REFIID riid,
3008 void **ppvObject);
3009
3010 ULONG (STDMETHODCALLTYPE *AddRef)(
3011 IDeviceTopology *This);
3012
3013 ULONG (STDMETHODCALLTYPE *Release)(
3014 IDeviceTopology *This);
3015
3016 /*** IDeviceTopology methods ***/
3017 HRESULT (STDMETHODCALLTYPE *GetConnectorCount)(
3018 IDeviceTopology *This,
3019 UINT *pCount);
3020
3021 HRESULT (STDMETHODCALLTYPE *GetConnector)(
3022 IDeviceTopology *This,
3023 UINT nIndex,
3024 IConnector **ppConnector);
3025
3026 HRESULT (STDMETHODCALLTYPE *GetSubunitCount)(
3027 IDeviceTopology *This,
3028 UINT *pCount);
3029
3030 HRESULT (STDMETHODCALLTYPE *GetSubunit)(
3031 IDeviceTopology *This,
3032 UINT nIndex,
3033 ISubUnit **ppConnector);
3034
3035 HRESULT (STDMETHODCALLTYPE *GetPartById)(
3036 IDeviceTopology *This,
3037 UINT nId,
3038 IPart **ppPart);
3039
3040 HRESULT (STDMETHODCALLTYPE *GetDeviceId)(
3041 IDeviceTopology *This,
3042 LPWSTR *ppwstrDeviceId);
3043
3044 HRESULT (STDMETHODCALLTYPE *GetSignalPath)(
3045 IDeviceTopology *This,
3046 IPart *pIPartFrom,
3047 IPart *pIPartTo,
3048 WINBOOL bRejectMixedPaths,
3049 IPartsList **ppParts);
3050
3051 END_INTERFACE
3052} IDeviceTopologyVtbl;
3053
3054interface IDeviceTopology {
3055 CONST_VTBL IDeviceTopologyVtbl* lpVtbl;
3056};
3057
3058#ifdef COBJMACROS
3059#ifndef WIDL_C_INLINE_WRAPPERS
3060/*** IUnknown methods ***/
3061#define IDeviceTopology_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3062#define IDeviceTopology_AddRef(This) (This)->lpVtbl->AddRef(This)
3063#define IDeviceTopology_Release(This) (This)->lpVtbl->Release(This)
3064/*** IDeviceTopology methods ***/
3065#define IDeviceTopology_GetConnectorCount(This,pCount) (This)->lpVtbl->GetConnectorCount(This,pCount)
3066#define IDeviceTopology_GetConnector(This,nIndex,ppConnector) (This)->lpVtbl->GetConnector(This,nIndex,ppConnector)
3067#define IDeviceTopology_GetSubunitCount(This,pCount) (This)->lpVtbl->GetSubunitCount(This,pCount)
3068#define IDeviceTopology_GetSubunit(This,nIndex,ppConnector) (This)->lpVtbl->GetSubunit(This,nIndex,ppConnector)
3069#define IDeviceTopology_GetPartById(This,nId,ppPart) (This)->lpVtbl->GetPartById(This,nId,ppPart)
3070#define IDeviceTopology_GetDeviceId(This,ppwstrDeviceId) (This)->lpVtbl->GetDeviceId(This,ppwstrDeviceId)
3071#define IDeviceTopology_GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) (This)->lpVtbl->GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts)
3072#else
3073/*** IUnknown methods ***/
3074static FORCEINLINE HRESULT IDeviceTopology_QueryInterface(IDeviceTopology* This,REFIID riid,void **ppvObject) {
3075 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3076}
3077static FORCEINLINE ULONG IDeviceTopology_AddRef(IDeviceTopology* This) {
3078 return This->lpVtbl->AddRef(This);
3079}
3080static FORCEINLINE ULONG IDeviceTopology_Release(IDeviceTopology* This) {
3081 return This->lpVtbl->Release(This);
3082}
3083/*** IDeviceTopology methods ***/
3084static FORCEINLINE HRESULT IDeviceTopology_GetConnectorCount(IDeviceTopology* This,UINT *pCount) {
3085 return This->lpVtbl->GetConnectorCount(This,pCount);
3086}
3087static FORCEINLINE HRESULT IDeviceTopology_GetConnector(IDeviceTopology* This,UINT nIndex,IConnector **ppConnector) {
3088 return This->lpVtbl->GetConnector(This,nIndex,ppConnector);
3089}
3090static FORCEINLINE HRESULT IDeviceTopology_GetSubunitCount(IDeviceTopology* This,UINT *pCount) {
3091 return This->lpVtbl->GetSubunitCount(This,pCount);
3092}
3093static FORCEINLINE HRESULT IDeviceTopology_GetSubunit(IDeviceTopology* This,UINT nIndex,ISubUnit **ppConnector) {
3094 return This->lpVtbl->GetSubunit(This,nIndex,ppConnector);
3095}
3096static FORCEINLINE HRESULT IDeviceTopology_GetPartById(IDeviceTopology* This,UINT nId,IPart **ppPart) {
3097 return This->lpVtbl->GetPartById(This,nId,ppPart);
3098}
3099static FORCEINLINE HRESULT IDeviceTopology_GetDeviceId(IDeviceTopology* This,LPWSTR *ppwstrDeviceId) {
3100 return This->lpVtbl->GetDeviceId(This,ppwstrDeviceId);
3101}
3102static FORCEINLINE HRESULT IDeviceTopology_GetSignalPath(IDeviceTopology* This,IPart *pIPartFrom,IPart *pIPartTo,WINBOOL bRejectMixedPaths,IPartsList **ppParts) {
3103 return This->lpVtbl->GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts);
3104}
3105#endif
3106#endif
3107
3108#endif
3109
3110
3111#endif /* __IDeviceTopology_INTERFACE_DEFINED__ */
3112
3113#ifndef __DevTopologyLib_LIBRARY_DEFINED__
3114#define __DevTopologyLib_LIBRARY_DEFINED__
3115
3116DEFINE_GUID(LIBID_DevTopologyLib, 0x51b9a01d, 0x8181, 0x4363, 0xb5,0x9c, 0xe6,0x78,0xf4,0x76,0xdd,0x0e);
3117
3118/*****************************************************************************
3119 * DeviceTopology coclass
3120 */
3121
3122DEFINE_GUID(CLSID_DeviceTopology, 0x1df639d0, 0x5ec1, 0x47aa, 0x93,0x79, 0x82,0x8d,0xc1,0xaa,0x8c,0x59);
3123
3124#ifdef __cplusplus
3125class DECLSPEC_UUID("1df639d0-5ec1-47aa-9379-828dc1aa8c59") DeviceTopology;
3126#ifdef __CRT_UUID_DECL
3127__CRT_UUID_DECL(DeviceTopology, 0x1df639d0, 0x5ec1, 0x47aa, 0x93,0x79, 0x82,0x8d,0xc1,0xaa,0x8c,0x59)
3128#endif
3129#endif
3130
3131#endif /* __DevTopologyLib_LIBRARY_DEFINED__ */
3132/* Begin additional prototypes for all interfaces */
3133
3134
3135/* End additional prototypes */
3136
3137#ifdef __cplusplus
3138}
3139#endif
3140
3141#endif /* __devicetopology_h__ */
Note: See TracBrowser for help on using the repository browser.