00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #pragma warning( disable: 4049 )
00018
00019
00020
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 500
00023 #endif
00024
00025
00026 #ifndef __REQUIRED_RPCSAL_H_VERSION__
00027 #define __REQUIRED_RPCSAL_H_VERSION__ 100
00028 #endif
00029
00030 #include "rpc.h"
00031 #include "rpcndr.h"
00032
00033 #ifndef __RPCNDR_H_VERSION__
00034 #error this stub requires an updated version of <rpcndr.h>
00035 #endif // __RPCNDR_H_VERSION__
00036
00037 #ifndef COM_NO_WINDOWS_H
00038 #include "windows.h"
00039 #include "ole2.h"
00040 #endif
00041
00042 #ifndef __devicetopology_h__
00043 #define __devicetopology_h__
00044
00045 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00046 #pragma once
00047 #endif
00048
00049
00050
00051 #ifndef __IKsControl_FWD_DEFINED__
00052 #define __IKsControl_FWD_DEFINED__
00053 typedef interface IKsControl IKsControl;
00054 #endif
00055
00056
00057 #ifndef __IPerChannelDbLevel_FWD_DEFINED__
00058 #define __IPerChannelDbLevel_FWD_DEFINED__
00059 typedef interface IPerChannelDbLevel IPerChannelDbLevel;
00060 #endif
00061
00062
00063 #ifndef __IAudioVolumeLevel_FWD_DEFINED__
00064 #define __IAudioVolumeLevel_FWD_DEFINED__
00065 typedef interface IAudioVolumeLevel IAudioVolumeLevel;
00066 #endif
00067
00068
00069 #ifndef __IAudioChannelConfig_FWD_DEFINED__
00070 #define __IAudioChannelConfig_FWD_DEFINED__
00071 typedef interface IAudioChannelConfig IAudioChannelConfig;
00072 #endif
00073
00074
00075 #ifndef __IAudioLoudness_FWD_DEFINED__
00076 #define __IAudioLoudness_FWD_DEFINED__
00077 typedef interface IAudioLoudness IAudioLoudness;
00078 #endif
00079
00080
00081 #ifndef __IAudioInputSelector_FWD_DEFINED__
00082 #define __IAudioInputSelector_FWD_DEFINED__
00083 typedef interface IAudioInputSelector IAudioInputSelector;
00084 #endif
00085
00086
00087 #ifndef __IAudioOutputSelector_FWD_DEFINED__
00088 #define __IAudioOutputSelector_FWD_DEFINED__
00089 typedef interface IAudioOutputSelector IAudioOutputSelector;
00090 #endif
00091
00092
00093 #ifndef __IAudioMute_FWD_DEFINED__
00094 #define __IAudioMute_FWD_DEFINED__
00095 typedef interface IAudioMute IAudioMute;
00096 #endif
00097
00098
00099 #ifndef __IAudioBass_FWD_DEFINED__
00100 #define __IAudioBass_FWD_DEFINED__
00101 typedef interface IAudioBass IAudioBass;
00102 #endif
00103
00104
00105 #ifndef __IAudioMidrange_FWD_DEFINED__
00106 #define __IAudioMidrange_FWD_DEFINED__
00107 typedef interface IAudioMidrange IAudioMidrange;
00108 #endif
00109
00110
00111 #ifndef __IAudioTreble_FWD_DEFINED__
00112 #define __IAudioTreble_FWD_DEFINED__
00113 typedef interface IAudioTreble IAudioTreble;
00114 #endif
00115
00116
00117 #ifndef __IAudioAutoGainControl_FWD_DEFINED__
00118 #define __IAudioAutoGainControl_FWD_DEFINED__
00119 typedef interface IAudioAutoGainControl IAudioAutoGainControl;
00120 #endif
00121
00122
00123 #ifndef __IAudioPeakMeter_FWD_DEFINED__
00124 #define __IAudioPeakMeter_FWD_DEFINED__
00125 typedef interface IAudioPeakMeter IAudioPeakMeter;
00126 #endif
00127
00128
00129 #ifndef __IDeviceSpecificProperty_FWD_DEFINED__
00130 #define __IDeviceSpecificProperty_FWD_DEFINED__
00131 typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
00132 #endif
00133
00134
00135 #ifndef __IKsFormatSupport_FWD_DEFINED__
00136 #define __IKsFormatSupport_FWD_DEFINED__
00137 typedef interface IKsFormatSupport IKsFormatSupport;
00138 #endif
00139
00140
00141 #ifndef __IKsJackDescription_FWD_DEFINED__
00142 #define __IKsJackDescription_FWD_DEFINED__
00143 typedef interface IKsJackDescription IKsJackDescription;
00144 #endif
00145
00146
00147 #ifndef __IPartsList_FWD_DEFINED__
00148 #define __IPartsList_FWD_DEFINED__
00149 typedef interface IPartsList IPartsList;
00150 #endif
00151
00152
00153 #ifndef __IPart_FWD_DEFINED__
00154 #define __IPart_FWD_DEFINED__
00155 typedef interface IPart IPart;
00156 #endif
00157
00158
00159 #ifndef __IConnector_FWD_DEFINED__
00160 #define __IConnector_FWD_DEFINED__
00161 typedef interface IConnector IConnector;
00162 #endif
00163
00164
00165 #ifndef __ISubunit_FWD_DEFINED__
00166 #define __ISubunit_FWD_DEFINED__
00167 typedef interface ISubunit ISubunit;
00168 #endif
00169
00170
00171 #ifndef __IControlInterface_FWD_DEFINED__
00172 #define __IControlInterface_FWD_DEFINED__
00173 typedef interface IControlInterface IControlInterface;
00174 #endif
00175
00176
00177 #ifndef __IControlChangeNotify_FWD_DEFINED__
00178 #define __IControlChangeNotify_FWD_DEFINED__
00179 typedef interface IControlChangeNotify IControlChangeNotify;
00180 #endif
00181
00182
00183 #ifndef __IDeviceTopology_FWD_DEFINED__
00184 #define __IDeviceTopology_FWD_DEFINED__
00185 typedef interface IDeviceTopology IDeviceTopology;
00186 #endif
00187
00188
00189 #ifndef __DeviceTopology_FWD_DEFINED__
00190 #define __DeviceTopology_FWD_DEFINED__
00191
00192 #ifdef __cplusplus
00193 typedef class DeviceTopology DeviceTopology;
00194 #else
00195 typedef struct DeviceTopology DeviceTopology;
00196 #endif
00197
00198 #endif
00199
00200
00201 #ifndef __IPartsList_FWD_DEFINED__
00202 #define __IPartsList_FWD_DEFINED__
00203 typedef interface IPartsList IPartsList;
00204 #endif
00205
00206
00207 #ifndef __IPerChannelDbLevel_FWD_DEFINED__
00208 #define __IPerChannelDbLevel_FWD_DEFINED__
00209 typedef interface IPerChannelDbLevel IPerChannelDbLevel;
00210 #endif
00211
00212
00213 #ifndef __IAudioVolumeLevel_FWD_DEFINED__
00214 #define __IAudioVolumeLevel_FWD_DEFINED__
00215 typedef interface IAudioVolumeLevel IAudioVolumeLevel;
00216 #endif
00217
00218
00219 #ifndef __IAudioLoudness_FWD_DEFINED__
00220 #define __IAudioLoudness_FWD_DEFINED__
00221 typedef interface IAudioLoudness IAudioLoudness;
00222 #endif
00223
00224
00225 #ifndef __IAudioInputSelector_FWD_DEFINED__
00226 #define __IAudioInputSelector_FWD_DEFINED__
00227 typedef interface IAudioInputSelector IAudioInputSelector;
00228 #endif
00229
00230
00231 #ifndef __IAudioMute_FWD_DEFINED__
00232 #define __IAudioMute_FWD_DEFINED__
00233 typedef interface IAudioMute IAudioMute;
00234 #endif
00235
00236
00237 #ifndef __IAudioBass_FWD_DEFINED__
00238 #define __IAudioBass_FWD_DEFINED__
00239 typedef interface IAudioBass IAudioBass;
00240 #endif
00241
00242
00243 #ifndef __IAudioMidrange_FWD_DEFINED__
00244 #define __IAudioMidrange_FWD_DEFINED__
00245 typedef interface IAudioMidrange IAudioMidrange;
00246 #endif
00247
00248
00249 #ifndef __IAudioTreble_FWD_DEFINED__
00250 #define __IAudioTreble_FWD_DEFINED__
00251 typedef interface IAudioTreble IAudioTreble;
00252 #endif
00253
00254
00255 #ifndef __IAudioAutoGainControl_FWD_DEFINED__
00256 #define __IAudioAutoGainControl_FWD_DEFINED__
00257 typedef interface IAudioAutoGainControl IAudioAutoGainControl;
00258 #endif
00259
00260
00261 #ifndef __IAudioOutputSelector_FWD_DEFINED__
00262 #define __IAudioOutputSelector_FWD_DEFINED__
00263 typedef interface IAudioOutputSelector IAudioOutputSelector;
00264 #endif
00265
00266
00267 #ifndef __IAudioPeakMeter_FWD_DEFINED__
00268 #define __IAudioPeakMeter_FWD_DEFINED__
00269 typedef interface IAudioPeakMeter IAudioPeakMeter;
00270 #endif
00271
00272
00273 #ifndef __IDeviceSpecificProperty_FWD_DEFINED__
00274 #define __IDeviceSpecificProperty_FWD_DEFINED__
00275 typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
00276 #endif
00277
00278
00279 #ifndef __IKsFormatSupport_FWD_DEFINED__
00280 #define __IKsFormatSupport_FWD_DEFINED__
00281 typedef interface IKsFormatSupport IKsFormatSupport;
00282 #endif
00283
00284
00285
00286 #include "oaidl.h"
00287 #include "ocidl.h"
00288 #include "propidl.h"
00289
00290 #ifdef __cplusplus
00291 extern "C"{
00292 #endif
00293
00294
00295
00296
00297
00298 #define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
00299
00300
00301
00302 #define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 'draH'
00303
00304 DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xE2C2E9DE,0x09B1,0x4B04,0x84, 0xE5, 0x07, 0x93, 0x12, 0x25, 0xEE, 0x04);
00305 #define _IKsControl_
00306 #include "ks.h"
00307 #include "ksmedia.h"
00308 #ifndef _KS_
00309 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001
00310 {
00311 ULONG FormatSize;
00312 ULONG Flags;
00313 ULONG SampleSize;
00314 ULONG Reserved;
00315 GUID MajorFormat;
00316 GUID SubFormat;
00317 GUID Specifier;
00318 } KSDATAFORMAT;
00319
00320 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001 *PKSDATAFORMAT;
00321
00322 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002
00323 {
00324 union
00325 {
00326 struct
00327 {
00328 GUID Set;
00329 ULONG Id;
00330 ULONG Flags;
00331 } ;
00332 LONGLONG Alignment;
00333 } ;
00334 } KSIDENTIFIER;
00335
00336 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002 *PKSIDENTIFIER;
00337
00338 typedef
00339 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0005
00340 { ePcxChanMap_FL_FR = 0,
00341 ePcxChanMap_FC_LFE = ( ePcxChanMap_FL_FR + 1 ) ,
00342 ePcxChanMap_BL_BR = ( ePcxChanMap_FC_LFE + 1 ) ,
00343 ePcxChanMap_FLC_FRC = ( ePcxChanMap_BL_BR + 1 ) ,
00344 ePcxChanMap_SL_SR = ( ePcxChanMap_FLC_FRC + 1 ) ,
00345 ePcxChanMap_Unknown = ( ePcxChanMap_SL_SR + 1 )
00346 } EChannelMapping;
00347
00348 typedef
00349 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0006
00350 { eConnTypeUnknown = 0,
00351 eConnTypeEighth = ( eConnTypeUnknown + 1 ) ,
00352 eConnTypeQuarter = ( eConnTypeEighth + 1 ) ,
00353 eConnTypeAtapiInternal = ( eConnTypeQuarter + 1 ) ,
00354 eConnTypeRCA = ( eConnTypeAtapiInternal + 1 ) ,
00355 eConnTypeOptical = ( eConnTypeRCA + 1 ) ,
00356 eConnTypeOtherDigital = ( eConnTypeOptical + 1 ) ,
00357 eConnTypeOtherAnalog = ( eConnTypeOtherDigital + 1 ) ,
00358 eConnTypeMultichannelAnalogDIN = ( eConnTypeOtherAnalog + 1 ) ,
00359 eConnTypeXlrProfessional = ( eConnTypeMultichannelAnalogDIN + 1 ) ,
00360 eConnTypeRJ11Modem = ( eConnTypeXlrProfessional + 1 ) ,
00361 eConnTypeCombination = ( eConnTypeRJ11Modem + 1 )
00362 } EPcxConnectionType;
00363
00364 typedef
00365 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0007
00366 { eGeoLocRear = 0x1,
00367 eGeoLocFront = ( eGeoLocRear + 1 ) ,
00368 eGeoLocLeft = ( eGeoLocFront + 1 ) ,
00369 eGeoLocRight = ( eGeoLocLeft + 1 ) ,
00370 eGeoLocTop = ( eGeoLocRight + 1 ) ,
00371 eGeoLocBottom = ( eGeoLocTop + 1 ) ,
00372 eGeoLocRearOPanel = ( eGeoLocBottom + 1 ) ,
00373 eGeoLocRiser = ( eGeoLocRearOPanel + 1 ) ,
00374 eGeoLocInsideMobileLid = ( eGeoLocRiser + 1 ) ,
00375 eGeoLocDrivebay = ( eGeoLocInsideMobileLid + 1 ) ,
00376 eGeoLocHDMI = ( eGeoLocDrivebay + 1 ) ,
00377 eGeoLocOutsideMobileLid = ( eGeoLocHDMI + 1 ) ,
00378 eGeoLocATAPI = ( eGeoLocOutsideMobileLid + 1 ) ,
00379 eGeoLocReserved5 = ( eGeoLocATAPI + 1 ) ,
00380 eGeoLocReserved6 = ( eGeoLocReserved5 + 1 )
00381 } EPcxGeoLocation;
00382
00383 typedef
00384 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0008
00385 { eGenLocPrimaryBox = 0,
00386 eGenLocInternal = ( eGenLocPrimaryBox + 1 ) ,
00387 eGenLocSeperate = ( eGenLocInternal + 1 ) ,
00388 eGenLocOther = ( eGenLocSeperate + 1 )
00389 } EPcxGenLocation;
00390
00391 typedef
00392 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0009
00393 { ePortConnJack = 0,
00394 ePortConnIntegratedDevice = ( ePortConnJack + 1 ) ,
00395 ePortConnBothIntegratedAndJack = ( ePortConnIntegratedDevice + 1 ) ,
00396 ePortConnUnknown = ( ePortConnBothIntegratedAndJack + 1 )
00397 } EPxcPortConnection;
00398
00399 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010
00400 {
00401 EChannelMapping ChannelMapping;
00402 COLORREF Color;
00403 EPcxConnectionType ConnectionType;
00404 EPcxGeoLocation GeoLocation;
00405 EPcxGenLocation GenLocation;
00406 EPxcPortConnection PortConnection;
00407 BOOL IsConnected;
00408 } KSJACK_DESCRIPTION;
00409
00410 typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010 *PKSJACK_DESCRIPTION;
00411
00412 typedef KSIDENTIFIER KSPROPERTY;
00413
00414 typedef KSIDENTIFIER *PKSPROPERTY;
00415
00416 typedef KSIDENTIFIER KSMETHOD;
00417
00418 typedef KSIDENTIFIER *PKSMETHOD;
00419
00420 typedef KSIDENTIFIER KSEVENT;
00421
00422 typedef KSIDENTIFIER *PKSEVENT;
00423
00424 #endif
00425
00426
00427
00428
00429
00430
00431
00432
00433 typedef
00434 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0011
00435 { In = 0,
00436 Out = ( In + 1 )
00437 } DataFlow;
00438
00439 typedef
00440 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0012
00441 { Connector = 0,
00442 Subunit = ( Connector + 1 )
00443 } PartType;
00444
00445 #define PARTTYPE_FLAG_CONNECTOR 0x00010000
00446 #define PARTTYPE_FLAG_SUBUNIT 0x00020000
00447 #define PARTTYPE_MASK 0x00030000
00448 #define PARTID_MASK 0x0000ffff
00449 typedef
00450 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0013
00451 { Unknown_Connector = 0,
00452 Physical_Internal = ( Unknown_Connector + 1 ) ,
00453 Physical_External = ( Physical_Internal + 1 ) ,
00454 Software_IO = ( Physical_External + 1 ) ,
00455 Software_Fixed = ( Software_IO + 1 ) ,
00456 Network = ( Software_Fixed + 1 )
00457 } ConnectorType;
00458
00459
00460
00461 extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_c_ifspec;
00462 extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_s_ifspec;
00463
00464 #ifndef __IKsControl_INTERFACE_DEFINED__
00465 #define __IKsControl_INTERFACE_DEFINED__
00466
00467
00468
00469
00470
00471 EXTERN_C const IID IID_IKsControl;
00472
00473 #if defined(__cplusplus) && !defined(CINTERFACE)
00474
00475 MIDL_INTERFACE("28F54685-06FD-11D2-B27A-00A0C9223196")
00476 IKsControl : public IUnknown
00477 {
00478 public:
00479 virtual HRESULT STDMETHODCALLTYPE KsProperty(
00480 PKSPROPERTY Property,
00481 ULONG PropertyLength,
00482 void *PropertyData,
00483 ULONG DataLength,
00484 ULONG *BytesReturned) = 0;
00485
00486 virtual HRESULT STDMETHODCALLTYPE KsMethod(
00487 PKSMETHOD Method,
00488 ULONG MethodLength,
00489 void *MethodData,
00490 ULONG DataLength,
00491 ULONG *BytesReturned) = 0;
00492
00493 virtual HRESULT STDMETHODCALLTYPE KsEvent(
00494 PKSEVENT Event,
00495 ULONG EventLength,
00496 void *EventData,
00497 ULONG DataLength,
00498 ULONG *BytesReturned) = 0;
00499
00500 };
00501
00502 #else
00503
00504 typedef struct IKsControlVtbl
00505 {
00506 BEGIN_INTERFACE
00507
00508 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00509 IKsControl * This,
00510 REFIID riid,
00511
00512 __RPC__deref_out void **ppvObject);
00513
00514 ULONG ( STDMETHODCALLTYPE *AddRef )(
00515 IKsControl * This);
00516
00517 ULONG ( STDMETHODCALLTYPE *Release )(
00518 IKsControl * This);
00519
00520 HRESULT ( STDMETHODCALLTYPE *KsProperty )(
00521 IKsControl * This,
00522 PKSPROPERTY Property,
00523 ULONG PropertyLength,
00524 void *PropertyData,
00525 ULONG DataLength,
00526 ULONG *BytesReturned);
00527
00528 HRESULT ( STDMETHODCALLTYPE *KsMethod )(
00529 IKsControl * This,
00530 PKSMETHOD Method,
00531 ULONG MethodLength,
00532 void *MethodData,
00533 ULONG DataLength,
00534 ULONG *BytesReturned);
00535
00536 HRESULT ( STDMETHODCALLTYPE *KsEvent )(
00537 IKsControl * This,
00538 PKSEVENT Event,
00539 ULONG EventLength,
00540 void *EventData,
00541 ULONG DataLength,
00542 ULONG *BytesReturned);
00543
00544 END_INTERFACE
00545 } IKsControlVtbl;
00546
00547 interface IKsControl
00548 {
00549 CONST_VTBL struct IKsControlVtbl *lpVtbl;
00550 };
00551
00552
00553
00554 #ifdef COBJMACROS
00555
00556
00557 #define IKsControl_QueryInterface(This,riid,ppvObject) \
00558 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00559
00560 #define IKsControl_AddRef(This) \
00561 ( (This)->lpVtbl -> AddRef(This) )
00562
00563 #define IKsControl_Release(This) \
00564 ( (This)->lpVtbl -> Release(This) )
00565
00566
00567 #define IKsControl_KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) \
00568 ( (This)->lpVtbl -> KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) )
00569
00570 #define IKsControl_KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) \
00571 ( (This)->lpVtbl -> KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) )
00572
00573 #define IKsControl_KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) \
00574 ( (This)->lpVtbl -> KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) )
00575
00576 #endif
00577
00578
00579 #endif
00580
00581
00582
00583
00584 #endif
00585
00586
00587 #ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__
00588 #define __IPerChannelDbLevel_INTERFACE_DEFINED__
00589
00590
00591
00592
00593
00594 EXTERN_C const IID IID_IPerChannelDbLevel;
00595
00596 #if defined(__cplusplus) && !defined(CINTERFACE)
00597
00598 MIDL_INTERFACE("C2F8E001-F205-4BC9-99BC-C13B1E048CCB")
00599 IPerChannelDbLevel : public IUnknown
00600 {
00601 public:
00602 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
00603
00604 __out UINT *pcChannels) = 0;
00605
00606 virtual HRESULT STDMETHODCALLTYPE GetLevelRange(
00607
00608 __in UINT nChannel,
00609
00610 __out float *pfMinLevelDB,
00611
00612 __out float *pfMaxLevelDB,
00613
00614 __out float *pfStepping) = 0;
00615
00616 virtual HRESULT STDMETHODCALLTYPE GetLevel(
00617
00618 __in UINT nChannel,
00619
00620 __out float *pfLevelDB) = 0;
00621
00622 virtual HRESULT STDMETHODCALLTYPE SetLevel(
00623
00624 __in UINT nChannel,
00625
00626 __in float fLevelDB,
00627
00628 __in_opt LPCGUID pguidEventContext) = 0;
00629
00630 virtual HRESULT STDMETHODCALLTYPE SetLevelUniform(
00631
00632 __in float fLevelDB,
00633
00634 __in_opt LPCGUID pguidEventContext) = 0;
00635
00636 virtual HRESULT STDMETHODCALLTYPE SetLevelAllChannels(
00637
00638 __in_ecount(cChannels) float aLevelsDB[ ],
00639
00640 __in ULONG cChannels,
00641
00642 __in_opt LPCGUID pguidEventContext) = 0;
00643
00644 };
00645
00646 #else
00647
00648 typedef struct IPerChannelDbLevelVtbl
00649 {
00650 BEGIN_INTERFACE
00651
00652 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00653 IPerChannelDbLevel * This,
00654 REFIID riid,
00655
00656 __RPC__deref_out void **ppvObject);
00657
00658 ULONG ( STDMETHODCALLTYPE *AddRef )(
00659 IPerChannelDbLevel * This);
00660
00661 ULONG ( STDMETHODCALLTYPE *Release )(
00662 IPerChannelDbLevel * This);
00663
00664 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
00665 IPerChannelDbLevel * This,
00666
00667 __out UINT *pcChannels);
00668
00669 HRESULT ( STDMETHODCALLTYPE *GetLevelRange )(
00670 IPerChannelDbLevel * This,
00671
00672 __in UINT nChannel,
00673
00674 __out float *pfMinLevelDB,
00675
00676 __out float *pfMaxLevelDB,
00677
00678 __out float *pfStepping);
00679
00680 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
00681 IPerChannelDbLevel * This,
00682
00683 __in UINT nChannel,
00684
00685 __out float *pfLevelDB);
00686
00687 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
00688 IPerChannelDbLevel * This,
00689
00690 __in UINT nChannel,
00691
00692 __in float fLevelDB,
00693
00694 __in_opt LPCGUID pguidEventContext);
00695
00696 HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )(
00697 IPerChannelDbLevel * This,
00698
00699 __in float fLevelDB,
00700
00701 __in_opt LPCGUID pguidEventContext);
00702
00703 HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )(
00704 IPerChannelDbLevel * This,
00705
00706 __in_ecount(cChannels) float aLevelsDB[ ],
00707
00708 __in ULONG cChannels,
00709
00710 __in_opt LPCGUID pguidEventContext);
00711
00712 END_INTERFACE
00713 } IPerChannelDbLevelVtbl;
00714
00715 interface IPerChannelDbLevel
00716 {
00717 CONST_VTBL struct IPerChannelDbLevelVtbl *lpVtbl;
00718 };
00719
00720
00721
00722 #ifdef COBJMACROS
00723
00724
00725 #define IPerChannelDbLevel_QueryInterface(This,riid,ppvObject) \
00726 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00727
00728 #define IPerChannelDbLevel_AddRef(This) \
00729 ( (This)->lpVtbl -> AddRef(This) )
00730
00731 #define IPerChannelDbLevel_Release(This) \
00732 ( (This)->lpVtbl -> Release(This) )
00733
00734
00735 #define IPerChannelDbLevel_GetChannelCount(This,pcChannels) \
00736 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
00737
00738 #define IPerChannelDbLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) \
00739 ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) )
00740
00741 #define IPerChannelDbLevel_GetLevel(This,nChannel,pfLevelDB) \
00742 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) )
00743
00744 #define IPerChannelDbLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) \
00745 ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) )
00746
00747 #define IPerChannelDbLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) \
00748 ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) )
00749
00750 #define IPerChannelDbLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) \
00751 ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) )
00752
00753 #endif
00754
00755
00756 #endif
00757
00758
00759
00760
00761 #endif
00762
00763
00764 #ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__
00765 #define __IAudioVolumeLevel_INTERFACE_DEFINED__
00766
00767
00768
00769
00770
00771 EXTERN_C const IID IID_IAudioVolumeLevel;
00772
00773 #if defined(__cplusplus) && !defined(CINTERFACE)
00774
00775 MIDL_INTERFACE("7FB7B48F-531D-44A2-BCB3-5AD5A134B3DC")
00776 IAudioVolumeLevel : public IPerChannelDbLevel
00777 {
00778 public:
00779 };
00780
00781 #else
00782
00783 typedef struct IAudioVolumeLevelVtbl
00784 {
00785 BEGIN_INTERFACE
00786
00787 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00788 IAudioVolumeLevel * This,
00789 REFIID riid,
00790
00791 __RPC__deref_out void **ppvObject);
00792
00793 ULONG ( STDMETHODCALLTYPE *AddRef )(
00794 IAudioVolumeLevel * This);
00795
00796 ULONG ( STDMETHODCALLTYPE *Release )(
00797 IAudioVolumeLevel * This);
00798
00799 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
00800 IAudioVolumeLevel * This,
00801
00802 __out UINT *pcChannels);
00803
00804 HRESULT ( STDMETHODCALLTYPE *GetLevelRange )(
00805 IAudioVolumeLevel * This,
00806
00807 __in UINT nChannel,
00808
00809 __out float *pfMinLevelDB,
00810
00811 __out float *pfMaxLevelDB,
00812
00813 __out float *pfStepping);
00814
00815 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
00816 IAudioVolumeLevel * This,
00817
00818 __in UINT nChannel,
00819
00820 __out float *pfLevelDB);
00821
00822 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
00823 IAudioVolumeLevel * This,
00824
00825 __in UINT nChannel,
00826
00827 __in float fLevelDB,
00828
00829 __in_opt LPCGUID pguidEventContext);
00830
00831 HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )(
00832 IAudioVolumeLevel * This,
00833
00834 __in float fLevelDB,
00835
00836 __in_opt LPCGUID pguidEventContext);
00837
00838 HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )(
00839 IAudioVolumeLevel * This,
00840
00841 __in_ecount(cChannels) float aLevelsDB[ ],
00842
00843 __in ULONG cChannels,
00844
00845 __in_opt LPCGUID pguidEventContext);
00846
00847 END_INTERFACE
00848 } IAudioVolumeLevelVtbl;
00849
00850 interface IAudioVolumeLevel
00851 {
00852 CONST_VTBL struct IAudioVolumeLevelVtbl *lpVtbl;
00853 };
00854
00855
00856
00857 #ifdef COBJMACROS
00858
00859
00860 #define IAudioVolumeLevel_QueryInterface(This,riid,ppvObject) \
00861 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00862
00863 #define IAudioVolumeLevel_AddRef(This) \
00864 ( (This)->lpVtbl -> AddRef(This) )
00865
00866 #define IAudioVolumeLevel_Release(This) \
00867 ( (This)->lpVtbl -> Release(This) )
00868
00869
00870 #define IAudioVolumeLevel_GetChannelCount(This,pcChannels) \
00871 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
00872
00873 #define IAudioVolumeLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) \
00874 ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) )
00875
00876 #define IAudioVolumeLevel_GetLevel(This,nChannel,pfLevelDB) \
00877 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) )
00878
00879 #define IAudioVolumeLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) \
00880 ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) )
00881
00882 #define IAudioVolumeLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) \
00883 ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) )
00884
00885 #define IAudioVolumeLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) \
00886 ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) )
00887
00888
00889 #endif
00890
00891
00892 #endif
00893
00894
00895
00896
00897 #endif
00898
00899
00900 #ifndef __IAudioChannelConfig_INTERFACE_DEFINED__
00901 #define __IAudioChannelConfig_INTERFACE_DEFINED__
00902
00903
00904
00905
00906
00907 EXTERN_C const IID IID_IAudioChannelConfig;
00908
00909 #if defined(__cplusplus) && !defined(CINTERFACE)
00910
00911 MIDL_INTERFACE("BB11C46F-EC28-493C-B88A-5DB88062CE98")
00912 IAudioChannelConfig : public IUnknown
00913 {
00914 public:
00915 virtual HRESULT STDMETHODCALLTYPE SetChannelConfig(
00916 DWORD dwConfig,
00917
00918 __in_opt LPCGUID pguidEventContext) = 0;
00919
00920 virtual HRESULT STDMETHODCALLTYPE GetChannelConfig(
00921 DWORD *pdwConfig) = 0;
00922
00923 };
00924
00925 #else
00926
00927 typedef struct IAudioChannelConfigVtbl
00928 {
00929 BEGIN_INTERFACE
00930
00931 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00932 IAudioChannelConfig * This,
00933 REFIID riid,
00934
00935 __RPC__deref_out void **ppvObject);
00936
00937 ULONG ( STDMETHODCALLTYPE *AddRef )(
00938 IAudioChannelConfig * This);
00939
00940 ULONG ( STDMETHODCALLTYPE *Release )(
00941 IAudioChannelConfig * This);
00942
00943 HRESULT ( STDMETHODCALLTYPE *SetChannelConfig )(
00944 IAudioChannelConfig * This,
00945 DWORD dwConfig,
00946
00947 __in_opt LPCGUID pguidEventContext);
00948
00949 HRESULT ( STDMETHODCALLTYPE *GetChannelConfig )(
00950 IAudioChannelConfig * This,
00951 DWORD *pdwConfig);
00952
00953 END_INTERFACE
00954 } IAudioChannelConfigVtbl;
00955
00956 interface IAudioChannelConfig
00957 {
00958 CONST_VTBL struct IAudioChannelConfigVtbl *lpVtbl;
00959 };
00960
00961
00962
00963 #ifdef COBJMACROS
00964
00965
00966 #define IAudioChannelConfig_QueryInterface(This,riid,ppvObject) \
00967 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00968
00969 #define IAudioChannelConfig_AddRef(This) \
00970 ( (This)->lpVtbl -> AddRef(This) )
00971
00972 #define IAudioChannelConfig_Release(This) \
00973 ( (This)->lpVtbl -> Release(This) )
00974
00975
00976 #define IAudioChannelConfig_SetChannelConfig(This,dwConfig,pguidEventContext) \
00977 ( (This)->lpVtbl -> SetChannelConfig(This,dwConfig,pguidEventContext) )
00978
00979 #define IAudioChannelConfig_GetChannelConfig(This,pdwConfig) \
00980 ( (This)->lpVtbl -> GetChannelConfig(This,pdwConfig) )
00981
00982 #endif
00983
00984
00985 #endif
00986
00987
00988
00989
00990 #endif
00991
00992
00993 #ifndef __IAudioLoudness_INTERFACE_DEFINED__
00994 #define __IAudioLoudness_INTERFACE_DEFINED__
00995
00996
00997
00998
00999
01000 EXTERN_C const IID IID_IAudioLoudness;
01001
01002 #if defined(__cplusplus) && !defined(CINTERFACE)
01003
01004 MIDL_INTERFACE("7D8B1437-DD53-4350-9C1B-1EE2890BD938")
01005 IAudioLoudness : public IUnknown
01006 {
01007 public:
01008 virtual HRESULT STDMETHODCALLTYPE GetEnabled(
01009
01010 __out BOOL *pbEnabled) = 0;
01011
01012 virtual HRESULT STDMETHODCALLTYPE SetEnabled(
01013
01014 __in BOOL bEnable,
01015
01016 __in_opt LPCGUID pguidEventContext) = 0;
01017
01018 };
01019
01020 #else
01021
01022 typedef struct IAudioLoudnessVtbl
01023 {
01024 BEGIN_INTERFACE
01025
01026 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01027 IAudioLoudness * This,
01028 REFIID riid,
01029
01030 __RPC__deref_out void **ppvObject);
01031
01032 ULONG ( STDMETHODCALLTYPE *AddRef )(
01033 IAudioLoudness * This);
01034
01035 ULONG ( STDMETHODCALLTYPE *Release )(
01036 IAudioLoudness * This);
01037
01038 HRESULT ( STDMETHODCALLTYPE *GetEnabled )(
01039 IAudioLoudness * This,
01040
01041 __out BOOL *pbEnabled);
01042
01043 HRESULT ( STDMETHODCALLTYPE *SetEnabled )(
01044 IAudioLoudness * This,
01045
01046 __in BOOL bEnable,
01047
01048 __in_opt LPCGUID pguidEventContext);
01049
01050 END_INTERFACE
01051 } IAudioLoudnessVtbl;
01052
01053 interface IAudioLoudness
01054 {
01055 CONST_VTBL struct IAudioLoudnessVtbl *lpVtbl;
01056 };
01057
01058
01059
01060 #ifdef COBJMACROS
01061
01062
01063 #define IAudioLoudness_QueryInterface(This,riid,ppvObject) \
01064 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01065
01066 #define IAudioLoudness_AddRef(This) \
01067 ( (This)->lpVtbl -> AddRef(This) )
01068
01069 #define IAudioLoudness_Release(This) \
01070 ( (This)->lpVtbl -> Release(This) )
01071
01072
01073 #define IAudioLoudness_GetEnabled(This,pbEnabled) \
01074 ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) )
01075
01076 #define IAudioLoudness_SetEnabled(This,bEnable,pguidEventContext) \
01077 ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) )
01078
01079 #endif
01080
01081
01082 #endif
01083
01084
01085
01086
01087 #endif
01088
01089
01090 #ifndef __IAudioInputSelector_INTERFACE_DEFINED__
01091 #define __IAudioInputSelector_INTERFACE_DEFINED__
01092
01093
01094
01095
01096
01097 EXTERN_C const IID IID_IAudioInputSelector;
01098
01099 #if defined(__cplusplus) && !defined(CINTERFACE)
01100
01101 MIDL_INTERFACE("4F03DC02-5E6E-4653-8F72-A030C123D598")
01102 IAudioInputSelector : public IUnknown
01103 {
01104 public:
01105 virtual HRESULT STDMETHODCALLTYPE GetSelection(
01106
01107 __out UINT *pnIdSelected) = 0;
01108
01109 virtual HRESULT STDMETHODCALLTYPE SetSelection(
01110
01111 __in UINT nIdSelect,
01112
01113 __in_opt LPCGUID pguidEventContext) = 0;
01114
01115 };
01116
01117 #else
01118
01119 typedef struct IAudioInputSelectorVtbl
01120 {
01121 BEGIN_INTERFACE
01122
01123 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01124 IAudioInputSelector * This,
01125 REFIID riid,
01126
01127 __RPC__deref_out void **ppvObject);
01128
01129 ULONG ( STDMETHODCALLTYPE *AddRef )(
01130 IAudioInputSelector * This);
01131
01132 ULONG ( STDMETHODCALLTYPE *Release )(
01133 IAudioInputSelector * This);
01134
01135 HRESULT ( STDMETHODCALLTYPE *GetSelection )(
01136 IAudioInputSelector * This,
01137
01138 __out UINT *pnIdSelected);
01139
01140 HRESULT ( STDMETHODCALLTYPE *SetSelection )(
01141 IAudioInputSelector * This,
01142
01143 __in UINT nIdSelect,
01144
01145 __in_opt LPCGUID pguidEventContext);
01146
01147 END_INTERFACE
01148 } IAudioInputSelectorVtbl;
01149
01150 interface IAudioInputSelector
01151 {
01152 CONST_VTBL struct IAudioInputSelectorVtbl *lpVtbl;
01153 };
01154
01155
01156
01157 #ifdef COBJMACROS
01158
01159
01160 #define IAudioInputSelector_QueryInterface(This,riid,ppvObject) \
01161 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01162
01163 #define IAudioInputSelector_AddRef(This) \
01164 ( (This)->lpVtbl -> AddRef(This) )
01165
01166 #define IAudioInputSelector_Release(This) \
01167 ( (This)->lpVtbl -> Release(This) )
01168
01169
01170 #define IAudioInputSelector_GetSelection(This,pnIdSelected) \
01171 ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) )
01172
01173 #define IAudioInputSelector_SetSelection(This,nIdSelect,pguidEventContext) \
01174 ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) )
01175
01176 #endif
01177
01178
01179 #endif
01180
01181
01182
01183
01184 #endif
01185
01186
01187 #ifndef __IAudioOutputSelector_INTERFACE_DEFINED__
01188 #define __IAudioOutputSelector_INTERFACE_DEFINED__
01189
01190
01191
01192
01193
01194 EXTERN_C const IID IID_IAudioOutputSelector;
01195
01196 #if defined(__cplusplus) && !defined(CINTERFACE)
01197
01198 MIDL_INTERFACE("BB515F69-94A7-429e-8B9C-271B3F11A3AB")
01199 IAudioOutputSelector : public IUnknown
01200 {
01201 public:
01202 virtual HRESULT STDMETHODCALLTYPE GetSelection(
01203
01204 __out UINT *pnIdSelected) = 0;
01205
01206 virtual HRESULT STDMETHODCALLTYPE SetSelection(
01207
01208 __in UINT nIdSelect,
01209
01210 __in_opt LPCGUID pguidEventContext) = 0;
01211
01212 };
01213
01214 #else
01215
01216 typedef struct IAudioOutputSelectorVtbl
01217 {
01218 BEGIN_INTERFACE
01219
01220 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01221 IAudioOutputSelector * This,
01222 REFIID riid,
01223
01224 __RPC__deref_out void **ppvObject);
01225
01226 ULONG ( STDMETHODCALLTYPE *AddRef )(
01227 IAudioOutputSelector * This);
01228
01229 ULONG ( STDMETHODCALLTYPE *Release )(
01230 IAudioOutputSelector * This);
01231
01232 HRESULT ( STDMETHODCALLTYPE *GetSelection )(
01233 IAudioOutputSelector * This,
01234
01235 __out UINT *pnIdSelected);
01236
01237 HRESULT ( STDMETHODCALLTYPE *SetSelection )(
01238 IAudioOutputSelector * This,
01239
01240 __in UINT nIdSelect,
01241
01242 __in_opt LPCGUID pguidEventContext);
01243
01244 END_INTERFACE
01245 } IAudioOutputSelectorVtbl;
01246
01247 interface IAudioOutputSelector
01248 {
01249 CONST_VTBL struct IAudioOutputSelectorVtbl *lpVtbl;
01250 };
01251
01252
01253
01254 #ifdef COBJMACROS
01255
01256
01257 #define IAudioOutputSelector_QueryInterface(This,riid,ppvObject) \
01258 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01259
01260 #define IAudioOutputSelector_AddRef(This) \
01261 ( (This)->lpVtbl -> AddRef(This) )
01262
01263 #define IAudioOutputSelector_Release(This) \
01264 ( (This)->lpVtbl -> Release(This) )
01265
01266
01267 #define IAudioOutputSelector_GetSelection(This,pnIdSelected) \
01268 ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) )
01269
01270 #define IAudioOutputSelector_SetSelection(This,nIdSelect,pguidEventContext) \
01271 ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) )
01272
01273 #endif
01274
01275
01276 #endif
01277
01278
01279
01280
01281 #endif
01282
01283
01284 #ifndef __IAudioMute_INTERFACE_DEFINED__
01285 #define __IAudioMute_INTERFACE_DEFINED__
01286
01287
01288
01289
01290
01291 EXTERN_C const IID IID_IAudioMute;
01292
01293 #if defined(__cplusplus) && !defined(CINTERFACE)
01294
01295 MIDL_INTERFACE("DF45AEEA-B74A-4B6B-AFAD-2366B6AA012E")
01296 IAudioMute : public IUnknown
01297 {
01298 public:
01299 virtual HRESULT STDMETHODCALLTYPE SetMute(
01300
01301 __in BOOL bMuted,
01302
01303 __in_opt LPCGUID pguidEventContext) = 0;
01304
01305 virtual HRESULT STDMETHODCALLTYPE GetMute(
01306
01307 __out BOOL *pbMuted) = 0;
01308
01309 };
01310
01311 #else
01312
01313 typedef struct IAudioMuteVtbl
01314 {
01315 BEGIN_INTERFACE
01316
01317 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01318 IAudioMute * This,
01319 REFIID riid,
01320
01321 __RPC__deref_out void **ppvObject);
01322
01323 ULONG ( STDMETHODCALLTYPE *AddRef )(
01324 IAudioMute * This);
01325
01326 ULONG ( STDMETHODCALLTYPE *Release )(
01327 IAudioMute * This);
01328
01329 HRESULT ( STDMETHODCALLTYPE *SetMute )(
01330 IAudioMute * This,
01331
01332 __in BOOL bMuted,
01333
01334 __in_opt LPCGUID pguidEventContext);
01335
01336 HRESULT ( STDMETHODCALLTYPE *GetMute )(
01337 IAudioMute * This,
01338
01339 __out BOOL *pbMuted);
01340
01341 END_INTERFACE
01342 } IAudioMuteVtbl;
01343
01344 interface IAudioMute
01345 {
01346 CONST_VTBL struct IAudioMuteVtbl *lpVtbl;
01347 };
01348
01349
01350
01351 #ifdef COBJMACROS
01352
01353
01354 #define IAudioMute_QueryInterface(This,riid,ppvObject) \
01355 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01356
01357 #define IAudioMute_AddRef(This) \
01358 ( (This)->lpVtbl -> AddRef(This) )
01359
01360 #define IAudioMute_Release(This) \
01361 ( (This)->lpVtbl -> Release(This) )
01362
01363
01364 #define IAudioMute_SetMute(This,bMuted,pguidEventContext) \
01365 ( (This)->lpVtbl -> SetMute(This,bMuted,pguidEventContext) )
01366
01367 #define IAudioMute_GetMute(This,pbMuted) \
01368 ( (This)->lpVtbl -> GetMute(This,pbMuted) )
01369
01370 #endif
01371
01372
01373 #endif
01374
01375
01376
01377
01378 #endif
01379
01380
01381 #ifndef __IAudioBass_INTERFACE_DEFINED__
01382 #define __IAudioBass_INTERFACE_DEFINED__
01383
01384
01385
01386
01387
01388 EXTERN_C const IID IID_IAudioBass;
01389
01390 #if defined(__cplusplus) && !defined(CINTERFACE)
01391
01392 MIDL_INTERFACE("A2B1A1D9-4DB3-425D-A2B2-BD335CB3E2E5")
01393 IAudioBass : public IPerChannelDbLevel
01394 {
01395 public:
01396 };
01397
01398 #else
01399
01400 typedef struct IAudioBassVtbl
01401 {
01402 BEGIN_INTERFACE
01403
01404 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01405 IAudioBass * This,
01406 REFIID riid,
01407
01408 __RPC__deref_out void **ppvObject);
01409
01410 ULONG ( STDMETHODCALLTYPE *AddRef )(
01411 IAudioBass * This);
01412
01413 ULONG ( STDMETHODCALLTYPE *Release )(
01414 IAudioBass * This);
01415
01416 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
01417 IAudioBass * This,
01418
01419 __out UINT *pcChannels);
01420
01421 HRESULT ( STDMETHODCALLTYPE *GetLevelRange )(
01422 IAudioBass * This,
01423
01424 __in UINT nChannel,
01425
01426 __out float *pfMinLevelDB,
01427
01428 __out float *pfMaxLevelDB,
01429
01430 __out float *pfStepping);
01431
01432 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
01433 IAudioBass * This,
01434
01435 __in UINT nChannel,
01436
01437 __out float *pfLevelDB);
01438
01439 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
01440 IAudioBass * This,
01441
01442 __in UINT nChannel,
01443
01444 __in float fLevelDB,
01445
01446 __in_opt LPCGUID pguidEventContext);
01447
01448 HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )(
01449 IAudioBass * This,
01450
01451 __in float fLevelDB,
01452
01453 __in_opt LPCGUID pguidEventContext);
01454
01455 HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )(
01456 IAudioBass * This,
01457
01458 __in_ecount(cChannels) float aLevelsDB[ ],
01459
01460 __in ULONG cChannels,
01461
01462 __in_opt LPCGUID pguidEventContext);
01463
01464 END_INTERFACE
01465 } IAudioBassVtbl;
01466
01467 interface IAudioBass
01468 {
01469 CONST_VTBL struct IAudioBassVtbl *lpVtbl;
01470 };
01471
01472
01473
01474 #ifdef COBJMACROS
01475
01476
01477 #define IAudioBass_QueryInterface(This,riid,ppvObject) \
01478 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01479
01480 #define IAudioBass_AddRef(This) \
01481 ( (This)->lpVtbl -> AddRef(This) )
01482
01483 #define IAudioBass_Release(This) \
01484 ( (This)->lpVtbl -> Release(This) )
01485
01486
01487 #define IAudioBass_GetChannelCount(This,pcChannels) \
01488 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
01489
01490 #define IAudioBass_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) \
01491 ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) )
01492
01493 #define IAudioBass_GetLevel(This,nChannel,pfLevelDB) \
01494 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) )
01495
01496 #define IAudioBass_SetLevel(This,nChannel,fLevelDB,pguidEventContext) \
01497 ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) )
01498
01499 #define IAudioBass_SetLevelUniform(This,fLevelDB,pguidEventContext) \
01500 ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) )
01501
01502 #define IAudioBass_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) \
01503 ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) )
01504
01505
01506 #endif
01507
01508
01509 #endif
01510
01511
01512
01513
01514 #endif
01515
01516
01517 #ifndef __IAudioMidrange_INTERFACE_DEFINED__
01518 #define __IAudioMidrange_INTERFACE_DEFINED__
01519
01520
01521
01522
01523
01524 EXTERN_C const IID IID_IAudioMidrange;
01525
01526 #if defined(__cplusplus) && !defined(CINTERFACE)
01527
01528 MIDL_INTERFACE("5E54B6D7-B44B-40D9-9A9E-E691D9CE6EDF")
01529 IAudioMidrange : public IPerChannelDbLevel
01530 {
01531 public:
01532 };
01533
01534 #else
01535
01536 typedef struct IAudioMidrangeVtbl
01537 {
01538 BEGIN_INTERFACE
01539
01540 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01541 IAudioMidrange * This,
01542 REFIID riid,
01543
01544 __RPC__deref_out void **ppvObject);
01545
01546 ULONG ( STDMETHODCALLTYPE *AddRef )(
01547 IAudioMidrange * This);
01548
01549 ULONG ( STDMETHODCALLTYPE *Release )(
01550 IAudioMidrange * This);
01551
01552 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
01553 IAudioMidrange * This,
01554
01555 __out UINT *pcChannels);
01556
01557 HRESULT ( STDMETHODCALLTYPE *GetLevelRange )(
01558 IAudioMidrange * This,
01559
01560 __in UINT nChannel,
01561
01562 __out float *pfMinLevelDB,
01563
01564 __out float *pfMaxLevelDB,
01565
01566 __out float *pfStepping);
01567
01568 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
01569 IAudioMidrange * This,
01570
01571 __in UINT nChannel,
01572
01573 __out float *pfLevelDB);
01574
01575 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
01576 IAudioMidrange * This,
01577
01578 __in UINT nChannel,
01579
01580 __in float fLevelDB,
01581
01582 __in_opt LPCGUID pguidEventContext);
01583
01584 HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )(
01585 IAudioMidrange * This,
01586
01587 __in float fLevelDB,
01588
01589 __in_opt LPCGUID pguidEventContext);
01590
01591 HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )(
01592 IAudioMidrange * This,
01593
01594 __in_ecount(cChannels) float aLevelsDB[ ],
01595
01596 __in ULONG cChannels,
01597
01598 __in_opt LPCGUID pguidEventContext);
01599
01600 END_INTERFACE
01601 } IAudioMidrangeVtbl;
01602
01603 interface IAudioMidrange
01604 {
01605 CONST_VTBL struct IAudioMidrangeVtbl *lpVtbl;
01606 };
01607
01608
01609
01610 #ifdef COBJMACROS
01611
01612
01613 #define IAudioMidrange_QueryInterface(This,riid,ppvObject) \
01614 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01615
01616 #define IAudioMidrange_AddRef(This) \
01617 ( (This)->lpVtbl -> AddRef(This) )
01618
01619 #define IAudioMidrange_Release(This) \
01620 ( (This)->lpVtbl -> Release(This) )
01621
01622
01623 #define IAudioMidrange_GetChannelCount(This,pcChannels) \
01624 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
01625
01626 #define IAudioMidrange_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) \
01627 ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) )
01628
01629 #define IAudioMidrange_GetLevel(This,nChannel,pfLevelDB) \
01630 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) )
01631
01632 #define IAudioMidrange_SetLevel(This,nChannel,fLevelDB,pguidEventContext) \
01633 ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) )
01634
01635 #define IAudioMidrange_SetLevelUniform(This,fLevelDB,pguidEventContext) \
01636 ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) )
01637
01638 #define IAudioMidrange_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) \
01639 ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) )
01640
01641
01642 #endif
01643
01644
01645 #endif
01646
01647
01648
01649
01650 #endif
01651
01652
01653 #ifndef __IAudioTreble_INTERFACE_DEFINED__
01654 #define __IAudioTreble_INTERFACE_DEFINED__
01655
01656
01657
01658
01659
01660 EXTERN_C const IID IID_IAudioTreble;
01661
01662 #if defined(__cplusplus) && !defined(CINTERFACE)
01663
01664 MIDL_INTERFACE("0A717812-694E-4907-B74B-BAFA5CFDCA7B")
01665 IAudioTreble : public IPerChannelDbLevel
01666 {
01667 public:
01668 };
01669
01670 #else
01671
01672 typedef struct IAudioTrebleVtbl
01673 {
01674 BEGIN_INTERFACE
01675
01676 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01677 IAudioTreble * This,
01678 REFIID riid,
01679
01680 __RPC__deref_out void **ppvObject);
01681
01682 ULONG ( STDMETHODCALLTYPE *AddRef )(
01683 IAudioTreble * This);
01684
01685 ULONG ( STDMETHODCALLTYPE *Release )(
01686 IAudioTreble * This);
01687
01688 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
01689 IAudioTreble * This,
01690
01691 __out UINT *pcChannels);
01692
01693 HRESULT ( STDMETHODCALLTYPE *GetLevelRange )(
01694 IAudioTreble * This,
01695
01696 __in UINT nChannel,
01697
01698 __out float *pfMinLevelDB,
01699
01700 __out float *pfMaxLevelDB,
01701
01702 __out float *pfStepping);
01703
01704 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
01705 IAudioTreble * This,
01706
01707 __in UINT nChannel,
01708
01709 __out float *pfLevelDB);
01710
01711 HRESULT ( STDMETHODCALLTYPE *SetLevel )(
01712 IAudioTreble * This,
01713
01714 __in UINT nChannel,
01715
01716 __in float fLevelDB,
01717
01718 __in_opt LPCGUID pguidEventContext);
01719
01720 HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )(
01721 IAudioTreble * This,
01722
01723 __in float fLevelDB,
01724
01725 __in_opt LPCGUID pguidEventContext);
01726
01727 HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )(
01728 IAudioTreble * This,
01729
01730 __in_ecount(cChannels) float aLevelsDB[ ],
01731
01732 __in ULONG cChannels,
01733
01734 __in_opt LPCGUID pguidEventContext);
01735
01736 END_INTERFACE
01737 } IAudioTrebleVtbl;
01738
01739 interface IAudioTreble
01740 {
01741 CONST_VTBL struct IAudioTrebleVtbl *lpVtbl;
01742 };
01743
01744
01745
01746 #ifdef COBJMACROS
01747
01748
01749 #define IAudioTreble_QueryInterface(This,riid,ppvObject) \
01750 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01751
01752 #define IAudioTreble_AddRef(This) \
01753 ( (This)->lpVtbl -> AddRef(This) )
01754
01755 #define IAudioTreble_Release(This) \
01756 ( (This)->lpVtbl -> Release(This) )
01757
01758
01759 #define IAudioTreble_GetChannelCount(This,pcChannels) \
01760 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
01761
01762 #define IAudioTreble_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) \
01763 ( (This)->lpVtbl -> GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) )
01764
01765 #define IAudioTreble_GetLevel(This,nChannel,pfLevelDB) \
01766 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevelDB) )
01767
01768 #define IAudioTreble_SetLevel(This,nChannel,fLevelDB,pguidEventContext) \
01769 ( (This)->lpVtbl -> SetLevel(This,nChannel,fLevelDB,pguidEventContext) )
01770
01771 #define IAudioTreble_SetLevelUniform(This,fLevelDB,pguidEventContext) \
01772 ( (This)->lpVtbl -> SetLevelUniform(This,fLevelDB,pguidEventContext) )
01773
01774 #define IAudioTreble_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) \
01775 ( (This)->lpVtbl -> SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) )
01776
01777
01778 #endif
01779
01780
01781 #endif
01782
01783
01784
01785
01786 #endif
01787
01788
01789 #ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__
01790 #define __IAudioAutoGainControl_INTERFACE_DEFINED__
01791
01792
01793
01794
01795
01796 EXTERN_C const IID IID_IAudioAutoGainControl;
01797
01798 #if defined(__cplusplus) && !defined(CINTERFACE)
01799
01800 MIDL_INTERFACE("85401FD4-6DE4-4b9d-9869-2D6753A82F3C")
01801 IAudioAutoGainControl : public IUnknown
01802 {
01803 public:
01804 virtual HRESULT STDMETHODCALLTYPE GetEnabled(
01805
01806 __out BOOL *pbEnabled) = 0;
01807
01808 virtual HRESULT STDMETHODCALLTYPE SetEnabled(
01809
01810 __in BOOL bEnable,
01811
01812 __in_opt LPCGUID pguidEventContext) = 0;
01813
01814 };
01815
01816 #else
01817
01818 typedef struct IAudioAutoGainControlVtbl
01819 {
01820 BEGIN_INTERFACE
01821
01822 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01823 IAudioAutoGainControl * This,
01824 REFIID riid,
01825
01826 __RPC__deref_out void **ppvObject);
01827
01828 ULONG ( STDMETHODCALLTYPE *AddRef )(
01829 IAudioAutoGainControl * This);
01830
01831 ULONG ( STDMETHODCALLTYPE *Release )(
01832 IAudioAutoGainControl * This);
01833
01834 HRESULT ( STDMETHODCALLTYPE *GetEnabled )(
01835 IAudioAutoGainControl * This,
01836
01837 __out BOOL *pbEnabled);
01838
01839 HRESULT ( STDMETHODCALLTYPE *SetEnabled )(
01840 IAudioAutoGainControl * This,
01841
01842 __in BOOL bEnable,
01843
01844 __in_opt LPCGUID pguidEventContext);
01845
01846 END_INTERFACE
01847 } IAudioAutoGainControlVtbl;
01848
01849 interface IAudioAutoGainControl
01850 {
01851 CONST_VTBL struct IAudioAutoGainControlVtbl *lpVtbl;
01852 };
01853
01854
01855
01856 #ifdef COBJMACROS
01857
01858
01859 #define IAudioAutoGainControl_QueryInterface(This,riid,ppvObject) \
01860 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01861
01862 #define IAudioAutoGainControl_AddRef(This) \
01863 ( (This)->lpVtbl -> AddRef(This) )
01864
01865 #define IAudioAutoGainControl_Release(This) \
01866 ( (This)->lpVtbl -> Release(This) )
01867
01868
01869 #define IAudioAutoGainControl_GetEnabled(This,pbEnabled) \
01870 ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) )
01871
01872 #define IAudioAutoGainControl_SetEnabled(This,bEnable,pguidEventContext) \
01873 ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) )
01874
01875 #endif
01876
01877
01878 #endif
01879
01880
01881
01882
01883 #endif
01884
01885
01886 #ifndef __IAudioPeakMeter_INTERFACE_DEFINED__
01887 #define __IAudioPeakMeter_INTERFACE_DEFINED__
01888
01889
01890
01891
01892
01893 EXTERN_C const IID IID_IAudioPeakMeter;
01894
01895 #if defined(__cplusplus) && !defined(CINTERFACE)
01896
01897 MIDL_INTERFACE("DD79923C-0599-45e0-B8B6-C8DF7DB6E796")
01898 IAudioPeakMeter : public IUnknown
01899 {
01900 public:
01901 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
01902
01903 __out UINT *pcChannels) = 0;
01904
01905 virtual HRESULT STDMETHODCALLTYPE GetLevel(
01906
01907 __in UINT nChannel,
01908
01909 __out float *pfLevel) = 0;
01910
01911 };
01912
01913 #else
01914
01915 typedef struct IAudioPeakMeterVtbl
01916 {
01917 BEGIN_INTERFACE
01918
01919 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01920 IAudioPeakMeter * This,
01921 REFIID riid,
01922
01923 __RPC__deref_out void **ppvObject);
01924
01925 ULONG ( STDMETHODCALLTYPE *AddRef )(
01926 IAudioPeakMeter * This);
01927
01928 ULONG ( STDMETHODCALLTYPE *Release )(
01929 IAudioPeakMeter * This);
01930
01931 HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
01932 IAudioPeakMeter * This,
01933
01934 __out UINT *pcChannels);
01935
01936 HRESULT ( STDMETHODCALLTYPE *GetLevel )(
01937 IAudioPeakMeter * This,
01938
01939 __in UINT nChannel,
01940
01941 __out float *pfLevel);
01942
01943 END_INTERFACE
01944 } IAudioPeakMeterVtbl;
01945
01946 interface IAudioPeakMeter
01947 {
01948 CONST_VTBL struct IAudioPeakMeterVtbl *lpVtbl;
01949 };
01950
01951
01952
01953 #ifdef COBJMACROS
01954
01955
01956 #define IAudioPeakMeter_QueryInterface(This,riid,ppvObject) \
01957 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01958
01959 #define IAudioPeakMeter_AddRef(This) \
01960 ( (This)->lpVtbl -> AddRef(This) )
01961
01962 #define IAudioPeakMeter_Release(This) \
01963 ( (This)->lpVtbl -> Release(This) )
01964
01965
01966 #define IAudioPeakMeter_GetChannelCount(This,pcChannels) \
01967 ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) )
01968
01969 #define IAudioPeakMeter_GetLevel(This,nChannel,pfLevel) \
01970 ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevel) )
01971
01972 #endif
01973
01974
01975 #endif
01976
01977
01978
01979
01980 #endif
01981
01982
01983 #ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__
01984 #define __IDeviceSpecificProperty_INTERFACE_DEFINED__
01985
01986
01987
01988
01989
01990 EXTERN_C const IID IID_IDeviceSpecificProperty;
01991
01992 #if defined(__cplusplus) && !defined(CINTERFACE)
01993
01994 MIDL_INTERFACE("3B22BCBF-2586-4af0-8583-205D391B807C")
01995 IDeviceSpecificProperty : public IUnknown
01996 {
01997 public:
01998 virtual HRESULT STDMETHODCALLTYPE GetType(
01999
02000 __deref_out VARTYPE *pVType) = 0;
02001
02002 virtual HRESULT STDMETHODCALLTYPE GetValue(
02003
02004 __out void *pvValue,
02005
02006 __inout DWORD *pcbValue) = 0;
02007
02008 virtual HRESULT STDMETHODCALLTYPE SetValue(
02009
02010 __in void *pvValue,
02011 DWORD cbValue,
02012
02013 __in_opt LPCGUID pguidEventContext) = 0;
02014
02015 virtual HRESULT STDMETHODCALLTYPE Get4BRange(
02016
02017 __deref_out LONG *plMin,
02018
02019 __deref_out LONG *plMax,
02020
02021 __deref_out LONG *plStepping) = 0;
02022
02023 };
02024
02025 #else
02026
02027 typedef struct IDeviceSpecificPropertyVtbl
02028 {
02029 BEGIN_INTERFACE
02030
02031 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02032 IDeviceSpecificProperty * This,
02033 REFIID riid,
02034
02035 __RPC__deref_out void **ppvObject);
02036
02037 ULONG ( STDMETHODCALLTYPE *AddRef )(
02038 IDeviceSpecificProperty * This);
02039
02040 ULONG ( STDMETHODCALLTYPE *Release )(
02041 IDeviceSpecificProperty * This);
02042
02043 HRESULT ( STDMETHODCALLTYPE *GetType )(
02044 IDeviceSpecificProperty * This,
02045
02046 __deref_out VARTYPE *pVType);
02047
02048 HRESULT ( STDMETHODCALLTYPE *GetValue )(
02049 IDeviceSpecificProperty * This,
02050
02051 __out void *pvValue,
02052
02053 __inout DWORD *pcbValue);
02054
02055 HRESULT ( STDMETHODCALLTYPE *SetValue )(
02056 IDeviceSpecificProperty * This,
02057
02058 __in void *pvValue,
02059 DWORD cbValue,
02060
02061 __in_opt LPCGUID pguidEventContext);
02062
02063 HRESULT ( STDMETHODCALLTYPE *Get4BRange )(
02064 IDeviceSpecificProperty * This,
02065
02066 __deref_out LONG *plMin,
02067
02068 __deref_out LONG *plMax,
02069
02070 __deref_out LONG *plStepping);
02071
02072 END_INTERFACE
02073 } IDeviceSpecificPropertyVtbl;
02074
02075 interface IDeviceSpecificProperty
02076 {
02077 CONST_VTBL struct IDeviceSpecificPropertyVtbl *lpVtbl;
02078 };
02079
02080
02081
02082 #ifdef COBJMACROS
02083
02084
02085 #define IDeviceSpecificProperty_QueryInterface(This,riid,ppvObject) \
02086 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02087
02088 #define IDeviceSpecificProperty_AddRef(This) \
02089 ( (This)->lpVtbl -> AddRef(This) )
02090
02091 #define IDeviceSpecificProperty_Release(This) \
02092 ( (This)->lpVtbl -> Release(This) )
02093
02094
02095 #define IDeviceSpecificProperty_GetType(This,pVType) \
02096 ( (This)->lpVtbl -> GetType(This,pVType) )
02097
02098 #define IDeviceSpecificProperty_GetValue(This,pvValue,pcbValue) \
02099 ( (This)->lpVtbl -> GetValue(This,pvValue,pcbValue) )
02100
02101 #define IDeviceSpecificProperty_SetValue(This,pvValue,cbValue,pguidEventContext) \
02102 ( (This)->lpVtbl -> SetValue(This,pvValue,cbValue,pguidEventContext) )
02103
02104 #define IDeviceSpecificProperty_Get4BRange(This,plMin,plMax,plStepping) \
02105 ( (This)->lpVtbl -> Get4BRange(This,plMin,plMax,plStepping) )
02106
02107 #endif
02108
02109
02110 #endif
02111
02112
02113
02114
02115 #endif
02116
02117
02118 #ifndef __IKsFormatSupport_INTERFACE_DEFINED__
02119 #define __IKsFormatSupport_INTERFACE_DEFINED__
02120
02121
02122
02123
02124
02125 EXTERN_C const IID IID_IKsFormatSupport;
02126
02127 #if defined(__cplusplus) && !defined(CINTERFACE)
02128
02129 MIDL_INTERFACE("3CB4A69D-BB6F-4D2B-95B7-452D2C155DB5")
02130 IKsFormatSupport : public IUnknown
02131 {
02132 public:
02133 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
02134 PKSDATAFORMAT pKsFormat,
02135
02136 __in DWORD cbFormat,
02137
02138 __out BOOL *pbSupported) = 0;
02139
02140 virtual HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat(
02141 PKSDATAFORMAT *ppKsFormat) = 0;
02142
02143 };
02144
02145 #else
02146
02147 typedef struct IKsFormatSupportVtbl
02148 {
02149 BEGIN_INTERFACE
02150
02151 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02152 IKsFormatSupport * This,
02153 REFIID riid,
02154
02155 __RPC__deref_out void **ppvObject);
02156
02157 ULONG ( STDMETHODCALLTYPE *AddRef )(
02158 IKsFormatSupport * This);
02159
02160 ULONG ( STDMETHODCALLTYPE *Release )(
02161 IKsFormatSupport * This);
02162
02163 HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
02164 IKsFormatSupport * This,
02165 PKSDATAFORMAT pKsFormat,
02166
02167 __in DWORD cbFormat,
02168
02169 __out BOOL *pbSupported);
02170
02171 HRESULT ( STDMETHODCALLTYPE *GetDevicePreferredFormat )(
02172 IKsFormatSupport * This,
02173 PKSDATAFORMAT *ppKsFormat);
02174
02175 END_INTERFACE
02176 } IKsFormatSupportVtbl;
02177
02178 interface IKsFormatSupport
02179 {
02180 CONST_VTBL struct IKsFormatSupportVtbl *lpVtbl;
02181 };
02182
02183
02184
02185 #ifdef COBJMACROS
02186
02187
02188 #define IKsFormatSupport_QueryInterface(This,riid,ppvObject) \
02189 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02190
02191 #define IKsFormatSupport_AddRef(This) \
02192 ( (This)->lpVtbl -> AddRef(This) )
02193
02194 #define IKsFormatSupport_Release(This) \
02195 ( (This)->lpVtbl -> Release(This) )
02196
02197
02198 #define IKsFormatSupport_IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) \
02199 ( (This)->lpVtbl -> IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) )
02200
02201 #define IKsFormatSupport_GetDevicePreferredFormat(This,ppKsFormat) \
02202 ( (This)->lpVtbl -> GetDevicePreferredFormat(This,ppKsFormat) )
02203
02204 #endif
02205
02206
02207 #endif
02208
02209
02210
02211
02212 #endif
02213
02214
02215 #ifndef __IKsJackDescription_INTERFACE_DEFINED__
02216 #define __IKsJackDescription_INTERFACE_DEFINED__
02217
02218
02219
02220
02221
02222 EXTERN_C const IID IID_IKsJackDescription;
02223
02224 #if defined(__cplusplus) && !defined(CINTERFACE)
02225
02226 MIDL_INTERFACE("4509F757-2D46-4637-8E62-CE7DB944F57B")
02227 IKsJackDescription : public IUnknown
02228 {
02229 public:
02230 virtual HRESULT STDMETHODCALLTYPE GetJackCount(
02231
02232 __out UINT *pcJacks) = 0;
02233
02234 virtual HRESULT STDMETHODCALLTYPE GetJackDescription(
02235 UINT nJack,
02236
02237 __out KSJACK_DESCRIPTION *pDescription) = 0;
02238
02239 };
02240
02241 #else
02242
02243 typedef struct IKsJackDescriptionVtbl
02244 {
02245 BEGIN_INTERFACE
02246
02247 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02248 IKsJackDescription * This,
02249 REFIID riid,
02250
02251 __RPC__deref_out void **ppvObject);
02252
02253 ULONG ( STDMETHODCALLTYPE *AddRef )(
02254 IKsJackDescription * This);
02255
02256 ULONG ( STDMETHODCALLTYPE *Release )(
02257 IKsJackDescription * This);
02258
02259 HRESULT ( STDMETHODCALLTYPE *GetJackCount )(
02260 IKsJackDescription * This,
02261
02262 __out UINT *pcJacks);
02263
02264 HRESULT ( STDMETHODCALLTYPE *GetJackDescription )(
02265 IKsJackDescription * This,
02266 UINT nJack,
02267
02268 __out KSJACK_DESCRIPTION *pDescription);
02269
02270 END_INTERFACE
02271 } IKsJackDescriptionVtbl;
02272
02273 interface IKsJackDescription
02274 {
02275 CONST_VTBL struct IKsJackDescriptionVtbl *lpVtbl;
02276 };
02277
02278
02279
02280 #ifdef COBJMACROS
02281
02282
02283 #define IKsJackDescription_QueryInterface(This,riid,ppvObject) \
02284 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02285
02286 #define IKsJackDescription_AddRef(This) \
02287 ( (This)->lpVtbl -> AddRef(This) )
02288
02289 #define IKsJackDescription_Release(This) \
02290 ( (This)->lpVtbl -> Release(This) )
02291
02292
02293 #define IKsJackDescription_GetJackCount(This,pcJacks) \
02294 ( (This)->lpVtbl -> GetJackCount(This,pcJacks) )
02295
02296 #define IKsJackDescription_GetJackDescription(This,nJack,pDescription) \
02297 ( (This)->lpVtbl -> GetJackDescription(This,nJack,pDescription) )
02298
02299 #endif
02300
02301
02302 #endif
02303
02304
02305
02306
02307 #endif
02308
02309
02310 #ifndef __IPartsList_INTERFACE_DEFINED__
02311 #define __IPartsList_INTERFACE_DEFINED__
02312
02313
02314
02315
02316
02317 EXTERN_C const IID IID_IPartsList;
02318
02319 #if defined(__cplusplus) && !defined(CINTERFACE)
02320
02321 MIDL_INTERFACE("6DAA848C-5EB0-45CC-AEA5-998A2CDA1FFB")
02322 IPartsList : public IUnknown
02323 {
02324 public:
02325 virtual HRESULT STDMETHODCALLTYPE GetCount(
02326
02327 __out UINT *pCount) = 0;
02328
02329 virtual HRESULT STDMETHODCALLTYPE GetPart(
02330
02331 __in UINT nIndex,
02332
02333 __out IPart **ppPart) = 0;
02334
02335 };
02336
02337 #else
02338
02339 typedef struct IPartsListVtbl
02340 {
02341 BEGIN_INTERFACE
02342
02343 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02344 IPartsList * This,
02345 REFIID riid,
02346
02347 __RPC__deref_out void **ppvObject);
02348
02349 ULONG ( STDMETHODCALLTYPE *AddRef )(
02350 IPartsList * This);
02351
02352 ULONG ( STDMETHODCALLTYPE *Release )(
02353 IPartsList * This);
02354
02355 HRESULT ( STDMETHODCALLTYPE *GetCount )(
02356 IPartsList * This,
02357
02358 __out UINT *pCount);
02359
02360 HRESULT ( STDMETHODCALLTYPE *GetPart )(
02361 IPartsList * This,
02362
02363 __in UINT nIndex,
02364
02365 __out IPart **ppPart);
02366
02367 END_INTERFACE
02368 } IPartsListVtbl;
02369
02370 interface IPartsList
02371 {
02372 CONST_VTBL struct IPartsListVtbl *lpVtbl;
02373 };
02374
02375
02376
02377 #ifdef COBJMACROS
02378
02379
02380 #define IPartsList_QueryInterface(This,riid,ppvObject) \
02381 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02382
02383 #define IPartsList_AddRef(This) \
02384 ( (This)->lpVtbl -> AddRef(This) )
02385
02386 #define IPartsList_Release(This) \
02387 ( (This)->lpVtbl -> Release(This) )
02388
02389
02390 #define IPartsList_GetCount(This,pCount) \
02391 ( (This)->lpVtbl -> GetCount(This,pCount) )
02392
02393 #define IPartsList_GetPart(This,nIndex,ppPart) \
02394 ( (This)->lpVtbl -> GetPart(This,nIndex,ppPart) )
02395
02396 #endif
02397
02398
02399 #endif
02400
02401
02402
02403
02404 #endif
02405
02406
02407 #ifndef __IPart_INTERFACE_DEFINED__
02408 #define __IPart_INTERFACE_DEFINED__
02409
02410
02411
02412
02413
02414 EXTERN_C const IID IID_IPart;
02415
02416 #if defined(__cplusplus) && !defined(CINTERFACE)
02417
02418 MIDL_INTERFACE("AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9")
02419 IPart : public IUnknown
02420 {
02421 public:
02422 virtual HRESULT STDMETHODCALLTYPE GetName(
02423
02424 __deref_out LPWSTR *ppwstrName) = 0;
02425
02426 virtual HRESULT STDMETHODCALLTYPE GetLocalId(
02427
02428 __out UINT *pnId) = 0;
02429
02430 virtual HRESULT STDMETHODCALLTYPE GetGlobalId(
02431
02432 __deref_out LPWSTR *ppwstrGlobalId) = 0;
02433
02434 virtual HRESULT STDMETHODCALLTYPE GetPartType(
02435
02436 __out PartType *pPartType) = 0;
02437
02438 virtual HRESULT STDMETHODCALLTYPE GetSubType(
02439 GUID *pSubType) = 0;
02440
02441 virtual HRESULT STDMETHODCALLTYPE GetControlInterfaceCount(
02442
02443 __out UINT *pCount) = 0;
02444
02445 virtual HRESULT STDMETHODCALLTYPE GetControlInterface(
02446
02447 __in UINT nIndex,
02448
02449 __out IControlInterface **ppInterfaceDesc) = 0;
02450
02451 virtual HRESULT STDMETHODCALLTYPE EnumPartsIncoming(
02452
02453 __out IPartsList **ppParts) = 0;
02454
02455 virtual HRESULT STDMETHODCALLTYPE EnumPartsOutgoing(
02456
02457 __out IPartsList **ppParts) = 0;
02458
02459 virtual HRESULT STDMETHODCALLTYPE GetTopologyObject(
02460
02461 __out IDeviceTopology **ppTopology) = 0;
02462
02463 virtual HRESULT STDMETHODCALLTYPE Activate(
02464
02465 __in DWORD dwClsContext,
02466
02467 __in REFIID refiid,
02468
02469 __out_opt void **ppvObject) = 0;
02470
02471 virtual HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback(
02472
02473 __in REFGUID riid,
02474
02475 __in IControlChangeNotify *pNotify) = 0;
02476
02477 virtual HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback(
02478
02479 __in IControlChangeNotify *pNotify) = 0;
02480
02481 };
02482
02483 #else
02484
02485 typedef struct IPartVtbl
02486 {
02487 BEGIN_INTERFACE
02488
02489 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02490 IPart * This,
02491 REFIID riid,
02492
02493 __RPC__deref_out void **ppvObject);
02494
02495 ULONG ( STDMETHODCALLTYPE *AddRef )(
02496 IPart * This);
02497
02498 ULONG ( STDMETHODCALLTYPE *Release )(
02499 IPart * This);
02500
02501 HRESULT ( STDMETHODCALLTYPE *GetName )(
02502 IPart * This,
02503
02504 __deref_out LPWSTR *ppwstrName);
02505
02506 HRESULT ( STDMETHODCALLTYPE *GetLocalId )(
02507 IPart * This,
02508
02509 __out UINT *pnId);
02510
02511 HRESULT ( STDMETHODCALLTYPE *GetGlobalId )(
02512 IPart * This,
02513
02514 __deref_out LPWSTR *ppwstrGlobalId);
02515
02516 HRESULT ( STDMETHODCALLTYPE *GetPartType )(
02517 IPart * This,
02518
02519 __out PartType *pPartType);
02520
02521 HRESULT ( STDMETHODCALLTYPE *GetSubType )(
02522 IPart * This,
02523 GUID *pSubType);
02524
02525 HRESULT ( STDMETHODCALLTYPE *GetControlInterfaceCount )(
02526 IPart * This,
02527
02528 __out UINT *pCount);
02529
02530 HRESULT ( STDMETHODCALLTYPE *GetControlInterface )(
02531 IPart * This,
02532
02533 __in UINT nIndex,
02534
02535 __out IControlInterface **ppInterfaceDesc);
02536
02537 HRESULT ( STDMETHODCALLTYPE *EnumPartsIncoming )(
02538 IPart * This,
02539
02540 __out IPartsList **ppParts);
02541
02542 HRESULT ( STDMETHODCALLTYPE *EnumPartsOutgoing )(
02543 IPart * This,
02544
02545 __out IPartsList **ppParts);
02546
02547 HRESULT ( STDMETHODCALLTYPE *GetTopologyObject )(
02548 IPart * This,
02549
02550 __out IDeviceTopology **ppTopology);
02551
02552 HRESULT ( STDMETHODCALLTYPE *Activate )(
02553 IPart * This,
02554
02555 __in DWORD dwClsContext,
02556
02557 __in REFIID refiid,
02558
02559 __out_opt void **ppvObject);
02560
02561 HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeCallback )(
02562 IPart * This,
02563
02564 __in REFGUID riid,
02565
02566 __in IControlChangeNotify *pNotify);
02567
02568 HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeCallback )(
02569 IPart * This,
02570
02571 __in IControlChangeNotify *pNotify);
02572
02573 END_INTERFACE
02574 } IPartVtbl;
02575
02576 interface IPart
02577 {
02578 CONST_VTBL struct IPartVtbl *lpVtbl;
02579 };
02580
02581
02582
02583 #ifdef COBJMACROS
02584
02585
02586 #define IPart_QueryInterface(This,riid,ppvObject) \
02587 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02588
02589 #define IPart_AddRef(This) \
02590 ( (This)->lpVtbl -> AddRef(This) )
02591
02592 #define IPart_Release(This) \
02593 ( (This)->lpVtbl -> Release(This) )
02594
02595
02596 #define IPart_GetName(This,ppwstrName) \
02597 ( (This)->lpVtbl -> GetName(This,ppwstrName) )
02598
02599 #define IPart_GetLocalId(This,pnId) \
02600 ( (This)->lpVtbl -> GetLocalId(This,pnId) )
02601
02602 #define IPart_GetGlobalId(This,ppwstrGlobalId) \
02603 ( (This)->lpVtbl -> GetGlobalId(This,ppwstrGlobalId) )
02604
02605 #define IPart_GetPartType(This,pPartType) \
02606 ( (This)->lpVtbl -> GetPartType(This,pPartType) )
02607
02608 #define IPart_GetSubType(This,pSubType) \
02609 ( (This)->lpVtbl -> GetSubType(This,pSubType) )
02610
02611 #define IPart_GetControlInterfaceCount(This,pCount) \
02612 ( (This)->lpVtbl -> GetControlInterfaceCount(This,pCount) )
02613
02614 #define IPart_GetControlInterface(This,nIndex,ppInterfaceDesc) \
02615 ( (This)->lpVtbl -> GetControlInterface(This,nIndex,ppInterfaceDesc) )
02616
02617 #define IPart_EnumPartsIncoming(This,ppParts) \
02618 ( (This)->lpVtbl -> EnumPartsIncoming(This,ppParts) )
02619
02620 #define IPart_EnumPartsOutgoing(This,ppParts) \
02621 ( (This)->lpVtbl -> EnumPartsOutgoing(This,ppParts) )
02622
02623 #define IPart_GetTopologyObject(This,ppTopology) \
02624 ( (This)->lpVtbl -> GetTopologyObject(This,ppTopology) )
02625
02626 #define IPart_Activate(This,dwClsContext,refiid,ppvObject) \
02627 ( (This)->lpVtbl -> Activate(This,dwClsContext,refiid,ppvObject) )
02628
02629 #define IPart_RegisterControlChangeCallback(This,riid,pNotify) \
02630 ( (This)->lpVtbl -> RegisterControlChangeCallback(This,riid,pNotify) )
02631
02632 #define IPart_UnregisterControlChangeCallback(This,pNotify) \
02633 ( (This)->lpVtbl -> UnregisterControlChangeCallback(This,pNotify) )
02634
02635 #endif
02636
02637
02638 #endif
02639
02640
02641
02642
02643 #endif
02644
02645
02646 #ifndef __IConnector_INTERFACE_DEFINED__
02647 #define __IConnector_INTERFACE_DEFINED__
02648
02649
02650
02651
02652
02653 EXTERN_C const IID IID_IConnector;
02654
02655 #if defined(__cplusplus) && !defined(CINTERFACE)
02656
02657 MIDL_INTERFACE("9c2c4058-23f5-41de-877a-df3af236a09e")
02658 IConnector : public IUnknown
02659 {
02660 public:
02661 virtual HRESULT STDMETHODCALLTYPE GetType(
02662
02663 __out ConnectorType *pType) = 0;
02664
02665 virtual HRESULT STDMETHODCALLTYPE GetDataFlow(
02666
02667 __out DataFlow *pFlow) = 0;
02668
02669 virtual HRESULT STDMETHODCALLTYPE ConnectTo(
02670
02671 __in IConnector *pConnectTo) = 0;
02672
02673 virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
02674
02675 virtual HRESULT STDMETHODCALLTYPE IsConnected(
02676
02677 __out BOOL *pbConnected) = 0;
02678
02679 virtual HRESULT STDMETHODCALLTYPE GetConnectedTo(
02680
02681 __out IConnector **ppConTo) = 0;
02682
02683 virtual HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo(
02684
02685 __deref_out LPWSTR *ppwstrConnectorId) = 0;
02686
02687 virtual HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo(
02688
02689 __deref_out LPWSTR *ppwstrDeviceId) = 0;
02690
02691 };
02692
02693 #else
02694
02695 typedef struct IConnectorVtbl
02696 {
02697 BEGIN_INTERFACE
02698
02699 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02700 IConnector * This,
02701 REFIID riid,
02702
02703 __RPC__deref_out void **ppvObject);
02704
02705 ULONG ( STDMETHODCALLTYPE *AddRef )(
02706 IConnector * This);
02707
02708 ULONG ( STDMETHODCALLTYPE *Release )(
02709 IConnector * This);
02710
02711 HRESULT ( STDMETHODCALLTYPE *GetType )(
02712 IConnector * This,
02713
02714 __out ConnectorType *pType);
02715
02716 HRESULT ( STDMETHODCALLTYPE *GetDataFlow )(
02717 IConnector * This,
02718
02719 __out DataFlow *pFlow);
02720
02721 HRESULT ( STDMETHODCALLTYPE *ConnectTo )(
02722 IConnector * This,
02723
02724 __in IConnector *pConnectTo);
02725
02726 HRESULT ( STDMETHODCALLTYPE *Disconnect )(
02727 IConnector * This);
02728
02729 HRESULT ( STDMETHODCALLTYPE *IsConnected )(
02730 IConnector * This,
02731
02732 __out BOOL *pbConnected);
02733
02734 HRESULT ( STDMETHODCALLTYPE *GetConnectedTo )(
02735 IConnector * This,
02736
02737 __out IConnector **ppConTo);
02738
02739 HRESULT ( STDMETHODCALLTYPE *GetConnectorIdConnectedTo )(
02740 IConnector * This,
02741
02742 __deref_out LPWSTR *ppwstrConnectorId);
02743
02744 HRESULT ( STDMETHODCALLTYPE *GetDeviceIdConnectedTo )(
02745 IConnector * This,
02746
02747 __deref_out LPWSTR *ppwstrDeviceId);
02748
02749 END_INTERFACE
02750 } IConnectorVtbl;
02751
02752 interface IConnector
02753 {
02754 CONST_VTBL struct IConnectorVtbl *lpVtbl;
02755 };
02756
02757
02758
02759 #ifdef COBJMACROS
02760
02761
02762 #define IConnector_QueryInterface(This,riid,ppvObject) \
02763 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02764
02765 #define IConnector_AddRef(This) \
02766 ( (This)->lpVtbl -> AddRef(This) )
02767
02768 #define IConnector_Release(This) \
02769 ( (This)->lpVtbl -> Release(This) )
02770
02771
02772 #define IConnector_GetType(This,pType) \
02773 ( (This)->lpVtbl -> GetType(This,pType) )
02774
02775 #define IConnector_GetDataFlow(This,pFlow) \
02776 ( (This)->lpVtbl -> GetDataFlow(This,pFlow) )
02777
02778 #define IConnector_ConnectTo(This,pConnectTo) \
02779 ( (This)->lpVtbl -> ConnectTo(This,pConnectTo) )
02780
02781 #define IConnector_Disconnect(This) \
02782 ( (This)->lpVtbl -> Disconnect(This) )
02783
02784 #define IConnector_IsConnected(This,pbConnected) \
02785 ( (This)->lpVtbl -> IsConnected(This,pbConnected) )
02786
02787 #define IConnector_GetConnectedTo(This,ppConTo) \
02788 ( (This)->lpVtbl -> GetConnectedTo(This,ppConTo) )
02789
02790 #define IConnector_GetConnectorIdConnectedTo(This,ppwstrConnectorId) \
02791 ( (This)->lpVtbl -> GetConnectorIdConnectedTo(This,ppwstrConnectorId) )
02792
02793 #define IConnector_GetDeviceIdConnectedTo(This,ppwstrDeviceId) \
02794 ( (This)->lpVtbl -> GetDeviceIdConnectedTo(This,ppwstrDeviceId) )
02795
02796 #endif
02797
02798
02799 #endif
02800
02801
02802
02803
02804 #endif
02805
02806
02807 #ifndef __ISubunit_INTERFACE_DEFINED__
02808 #define __ISubunit_INTERFACE_DEFINED__
02809
02810
02811
02812
02813
02814 EXTERN_C const IID IID_ISubunit;
02815
02816 #if defined(__cplusplus) && !defined(CINTERFACE)
02817
02818 MIDL_INTERFACE("82149A85-DBA6-4487-86BB-EA8F7FEFCC71")
02819 ISubunit : public IUnknown
02820 {
02821 public:
02822 };
02823
02824 #else
02825
02826 typedef struct ISubunitVtbl
02827 {
02828 BEGIN_INTERFACE
02829
02830 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02831 ISubunit * This,
02832 REFIID riid,
02833
02834 __RPC__deref_out void **ppvObject);
02835
02836 ULONG ( STDMETHODCALLTYPE *AddRef )(
02837 ISubunit * This);
02838
02839 ULONG ( STDMETHODCALLTYPE *Release )(
02840 ISubunit * This);
02841
02842 END_INTERFACE
02843 } ISubunitVtbl;
02844
02845 interface ISubunit
02846 {
02847 CONST_VTBL struct ISubunitVtbl *lpVtbl;
02848 };
02849
02850
02851
02852 #ifdef COBJMACROS
02853
02854
02855 #define ISubunit_QueryInterface(This,riid,ppvObject) \
02856 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02857
02858 #define ISubunit_AddRef(This) \
02859 ( (This)->lpVtbl -> AddRef(This) )
02860
02861 #define ISubunit_Release(This) \
02862 ( (This)->lpVtbl -> Release(This) )
02863
02864
02865 #endif
02866
02867
02868 #endif
02869
02870
02871
02872
02873 #endif
02874
02875
02876 #ifndef __IControlInterface_INTERFACE_DEFINED__
02877 #define __IControlInterface_INTERFACE_DEFINED__
02878
02879
02880
02881
02882
02883 EXTERN_C const IID IID_IControlInterface;
02884
02885 #if defined(__cplusplus) && !defined(CINTERFACE)
02886
02887 MIDL_INTERFACE("45d37c3f-5140-444a-ae24-400789f3cbf3")
02888 IControlInterface : public IUnknown
02889 {
02890 public:
02891 virtual HRESULT STDMETHODCALLTYPE GetName(
02892
02893 __deref_out LPWSTR *ppwstrName) = 0;
02894
02895 virtual HRESULT STDMETHODCALLTYPE GetIID(
02896
02897 __out GUID *pIID) = 0;
02898
02899 };
02900
02901 #else
02902
02903 typedef struct IControlInterfaceVtbl
02904 {
02905 BEGIN_INTERFACE
02906
02907 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02908 IControlInterface * This,
02909 REFIID riid,
02910
02911 __RPC__deref_out void **ppvObject);
02912
02913 ULONG ( STDMETHODCALLTYPE *AddRef )(
02914 IControlInterface * This);
02915
02916 ULONG ( STDMETHODCALLTYPE *Release )(
02917 IControlInterface * This);
02918
02919 HRESULT ( STDMETHODCALLTYPE *GetName )(
02920 IControlInterface * This,
02921
02922 __deref_out LPWSTR *ppwstrName);
02923
02924 HRESULT ( STDMETHODCALLTYPE *GetIID )(
02925 IControlInterface * This,
02926
02927 __out GUID *pIID);
02928
02929 END_INTERFACE
02930 } IControlInterfaceVtbl;
02931
02932 interface IControlInterface
02933 {
02934 CONST_VTBL struct IControlInterfaceVtbl *lpVtbl;
02935 };
02936
02937
02938
02939 #ifdef COBJMACROS
02940
02941
02942 #define IControlInterface_QueryInterface(This,riid,ppvObject) \
02943 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02944
02945 #define IControlInterface_AddRef(This) \
02946 ( (This)->lpVtbl -> AddRef(This) )
02947
02948 #define IControlInterface_Release(This) \
02949 ( (This)->lpVtbl -> Release(This) )
02950
02951
02952 #define IControlInterface_GetName(This,ppwstrName) \
02953 ( (This)->lpVtbl -> GetName(This,ppwstrName) )
02954
02955 #define IControlInterface_GetIID(This,pIID) \
02956 ( (This)->lpVtbl -> GetIID(This,pIID) )
02957
02958 #endif
02959
02960
02961 #endif
02962
02963
02964
02965
02966 #endif
02967
02968
02969 #ifndef __IControlChangeNotify_INTERFACE_DEFINED__
02970 #define __IControlChangeNotify_INTERFACE_DEFINED__
02971
02972
02973
02974
02975
02976 EXTERN_C const IID IID_IControlChangeNotify;
02977
02978 #if defined(__cplusplus) && !defined(CINTERFACE)
02979
02980 MIDL_INTERFACE("A09513ED-C709-4d21-BD7B-5F34C47F3947")
02981 IControlChangeNotify : public IUnknown
02982 {
02983 public:
02984 virtual HRESULT STDMETHODCALLTYPE OnNotify(
02985
02986 __in DWORD dwSenderProcessId,
02987
02988 __in_opt LPCGUID pguidEventContext) = 0;
02989
02990 };
02991
02992 #else
02993
02994 typedef struct IControlChangeNotifyVtbl
02995 {
02996 BEGIN_INTERFACE
02997
02998 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02999 IControlChangeNotify * This,
03000 REFIID riid,
03001
03002 __RPC__deref_out void **ppvObject);
03003
03004 ULONG ( STDMETHODCALLTYPE *AddRef )(
03005 IControlChangeNotify * This);
03006
03007 ULONG ( STDMETHODCALLTYPE *Release )(
03008 IControlChangeNotify * This);
03009
03010 HRESULT ( STDMETHODCALLTYPE *OnNotify )(
03011 IControlChangeNotify * This,
03012
03013 __in DWORD dwSenderProcessId,
03014
03015 __in_opt LPCGUID pguidEventContext);
03016
03017 END_INTERFACE
03018 } IControlChangeNotifyVtbl;
03019
03020 interface IControlChangeNotify
03021 {
03022 CONST_VTBL struct IControlChangeNotifyVtbl *lpVtbl;
03023 };
03024
03025
03026
03027 #ifdef COBJMACROS
03028
03029
03030 #define IControlChangeNotify_QueryInterface(This,riid,ppvObject) \
03031 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
03032
03033 #define IControlChangeNotify_AddRef(This) \
03034 ( (This)->lpVtbl -> AddRef(This) )
03035
03036 #define IControlChangeNotify_Release(This) \
03037 ( (This)->lpVtbl -> Release(This) )
03038
03039
03040 #define IControlChangeNotify_OnNotify(This,dwSenderProcessId,pguidEventContext) \
03041 ( (This)->lpVtbl -> OnNotify(This,dwSenderProcessId,pguidEventContext) )
03042
03043 #endif
03044
03045
03046 #endif
03047
03048
03049
03050
03051 #endif
03052
03053
03054 #ifndef __IDeviceTopology_INTERFACE_DEFINED__
03055 #define __IDeviceTopology_INTERFACE_DEFINED__
03056
03057
03058
03059
03060
03061 EXTERN_C const IID IID_IDeviceTopology;
03062
03063 #if defined(__cplusplus) && !defined(CINTERFACE)
03064
03065 MIDL_INTERFACE("2A07407E-6497-4A18-9787-32F79BD0D98F")
03066 IDeviceTopology : public IUnknown
03067 {
03068 public:
03069 virtual HRESULT STDMETHODCALLTYPE GetConnectorCount(
03070
03071 __out UINT *pCount) = 0;
03072
03073 virtual HRESULT STDMETHODCALLTYPE GetConnector(
03074
03075 __in UINT nIndex,
03076
03077 __out IConnector **ppConnector) = 0;
03078
03079 virtual HRESULT STDMETHODCALLTYPE GetSubunitCount(
03080
03081 __out UINT *pCount) = 0;
03082
03083 virtual HRESULT STDMETHODCALLTYPE GetSubunit(
03084
03085 __in UINT nIndex,
03086
03087 __deref_out ISubunit **ppSubunit) = 0;
03088
03089 virtual HRESULT STDMETHODCALLTYPE GetPartById(
03090
03091 __in UINT nId,
03092
03093 __deref_out IPart **ppPart) = 0;
03094
03095 virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
03096
03097 __deref_out LPWSTR *ppwstrDeviceId) = 0;
03098
03099 virtual HRESULT STDMETHODCALLTYPE GetSignalPath(
03100
03101 __in IPart *pIPartFrom,
03102
03103 __in IPart *pIPartTo,
03104
03105 __in BOOL bRejectMixedPaths,
03106
03107 __deref_out IPartsList **ppParts) = 0;
03108
03109 };
03110
03111 #else
03112
03113 typedef struct IDeviceTopologyVtbl
03114 {
03115 BEGIN_INTERFACE
03116
03117 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
03118 IDeviceTopology * This,
03119 REFIID riid,
03120
03121 __RPC__deref_out void **ppvObject);
03122
03123 ULONG ( STDMETHODCALLTYPE *AddRef )(
03124 IDeviceTopology * This);
03125
03126 ULONG ( STDMETHODCALLTYPE *Release )(
03127 IDeviceTopology * This);
03128
03129 HRESULT ( STDMETHODCALLTYPE *GetConnectorCount )(
03130 IDeviceTopology * This,
03131
03132 __out UINT *pCount);
03133
03134 HRESULT ( STDMETHODCALLTYPE *GetConnector )(
03135 IDeviceTopology * This,
03136
03137 __in UINT nIndex,
03138
03139 __out IConnector **ppConnector);
03140
03141 HRESULT ( STDMETHODCALLTYPE *GetSubunitCount )(
03142 IDeviceTopology * This,
03143
03144 __out UINT *pCount);
03145
03146 HRESULT ( STDMETHODCALLTYPE *GetSubunit )(
03147 IDeviceTopology * This,
03148
03149 __in UINT nIndex,
03150
03151 __deref_out ISubunit **ppSubunit);
03152
03153 HRESULT ( STDMETHODCALLTYPE *GetPartById )(
03154 IDeviceTopology * This,
03155
03156 __in UINT nId,
03157
03158 __deref_out IPart **ppPart);
03159
03160 HRESULT ( STDMETHODCALLTYPE *GetDeviceId )(
03161 IDeviceTopology * This,
03162
03163 __deref_out LPWSTR *ppwstrDeviceId);
03164
03165 HRESULT ( STDMETHODCALLTYPE *GetSignalPath )(
03166 IDeviceTopology * This,
03167
03168 __in IPart *pIPartFrom,
03169
03170 __in IPart *pIPartTo,
03171
03172 __in BOOL bRejectMixedPaths,
03173
03174 __deref_out IPartsList **ppParts);
03175
03176 END_INTERFACE
03177 } IDeviceTopologyVtbl;
03178
03179 interface IDeviceTopology
03180 {
03181 CONST_VTBL struct IDeviceTopologyVtbl *lpVtbl;
03182 };
03183
03184
03185
03186 #ifdef COBJMACROS
03187
03188
03189 #define IDeviceTopology_QueryInterface(This,riid,ppvObject) \
03190 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
03191
03192 #define IDeviceTopology_AddRef(This) \
03193 ( (This)->lpVtbl -> AddRef(This) )
03194
03195 #define IDeviceTopology_Release(This) \
03196 ( (This)->lpVtbl -> Release(This) )
03197
03198
03199 #define IDeviceTopology_GetConnectorCount(This,pCount) \
03200 ( (This)->lpVtbl -> GetConnectorCount(This,pCount) )
03201
03202 #define IDeviceTopology_GetConnector(This,nIndex,ppConnector) \
03203 ( (This)->lpVtbl -> GetConnector(This,nIndex,ppConnector) )
03204
03205 #define IDeviceTopology_GetSubunitCount(This,pCount) \
03206 ( (This)->lpVtbl -> GetSubunitCount(This,pCount) )
03207
03208 #define IDeviceTopology_GetSubunit(This,nIndex,ppSubunit) \
03209 ( (This)->lpVtbl -> GetSubunit(This,nIndex,ppSubunit) )
03210
03211 #define IDeviceTopology_GetPartById(This,nId,ppPart) \
03212 ( (This)->lpVtbl -> GetPartById(This,nId,ppPart) )
03213
03214 #define IDeviceTopology_GetDeviceId(This,ppwstrDeviceId) \
03215 ( (This)->lpVtbl -> GetDeviceId(This,ppwstrDeviceId) )
03216
03217 #define IDeviceTopology_GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) \
03218 ( (This)->lpVtbl -> GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) )
03219
03220 #endif
03221
03222
03223 #endif
03224
03225
03226
03227
03228 #endif
03229
03230
03231
03232 #ifndef __DevTopologyLib_LIBRARY_DEFINED__
03233 #define __DevTopologyLib_LIBRARY_DEFINED__
03234
03235
03236
03237
03238
03239
03240
03241
03242
03243
03244
03245
03246
03247
03248
03249
03250
03251
03252
03253 EXTERN_C const IID LIBID_DevTopologyLib;
03254
03255 EXTERN_C const CLSID CLSID_DeviceTopology;
03256
03257 #ifdef __cplusplus
03258
03259 class DECLSPEC_UUID("1DF639D0-5EC1-47AA-9379-828DC1AA8C59")
03260 DeviceTopology;
03261 #endif
03262 #endif
03263
03264
03265
03266
03267
03268 #ifdef __cplusplus
03269 }
03270 #endif
03271
03272 #endif
03273
03274
03275