PortAudio 2.0
devicetopology.h
Go to the documentation of this file.
00001 
00002 
00003 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
00004 
00005 
00006  /* File created by MIDL compiler version 7.00.0499 */
00007 /* Compiler settings for devicetopology.idl:
00008     Oicf, W1, Zp8, env=Win32 (32b run)
00009     protocol : dce , ms_ext, c_ext, robust
00010     error checks: allocation ref bounds_check enum stub_data 
00011     VC __declspec() decoration level: 
00012          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
00013          DECLSPEC_UUID(), MIDL_INTERFACE()
00014 */
00015 //@@MIDL_FILE_HEADING(  )
00016 
00017 #pragma warning( disable: 4049 )  /* more than 64k source lines */
00018 
00019 
00020 /* verify that the <rpcndr.h> version is high enough to compile this file*/
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 500
00023 #endif
00024 
00025 /* verify that the <rpcsal.h> version is high enough to compile this file*/
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 /*COM_NO_WINDOWS_H*/
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 /* Forward Declarations */ 
00050 
00051 #ifndef __IKsControl_FWD_DEFINED__
00052 #define __IKsControl_FWD_DEFINED__
00053 typedef interface IKsControl IKsControl;
00054 #endif  /* __IKsControl_FWD_DEFINED__ */
00055 
00056 
00057 #ifndef __IPerChannelDbLevel_FWD_DEFINED__
00058 #define __IPerChannelDbLevel_FWD_DEFINED__
00059 typedef interface IPerChannelDbLevel IPerChannelDbLevel;
00060 #endif  /* __IPerChannelDbLevel_FWD_DEFINED__ */
00061 
00062 
00063 #ifndef __IAudioVolumeLevel_FWD_DEFINED__
00064 #define __IAudioVolumeLevel_FWD_DEFINED__
00065 typedef interface IAudioVolumeLevel IAudioVolumeLevel;
00066 #endif  /* __IAudioVolumeLevel_FWD_DEFINED__ */
00067 
00068 
00069 #ifndef __IAudioChannelConfig_FWD_DEFINED__
00070 #define __IAudioChannelConfig_FWD_DEFINED__
00071 typedef interface IAudioChannelConfig IAudioChannelConfig;
00072 #endif  /* __IAudioChannelConfig_FWD_DEFINED__ */
00073 
00074 
00075 #ifndef __IAudioLoudness_FWD_DEFINED__
00076 #define __IAudioLoudness_FWD_DEFINED__
00077 typedef interface IAudioLoudness IAudioLoudness;
00078 #endif  /* __IAudioLoudness_FWD_DEFINED__ */
00079 
00080 
00081 #ifndef __IAudioInputSelector_FWD_DEFINED__
00082 #define __IAudioInputSelector_FWD_DEFINED__
00083 typedef interface IAudioInputSelector IAudioInputSelector;
00084 #endif  /* __IAudioInputSelector_FWD_DEFINED__ */
00085 
00086 
00087 #ifndef __IAudioOutputSelector_FWD_DEFINED__
00088 #define __IAudioOutputSelector_FWD_DEFINED__
00089 typedef interface IAudioOutputSelector IAudioOutputSelector;
00090 #endif  /* __IAudioOutputSelector_FWD_DEFINED__ */
00091 
00092 
00093 #ifndef __IAudioMute_FWD_DEFINED__
00094 #define __IAudioMute_FWD_DEFINED__
00095 typedef interface IAudioMute IAudioMute;
00096 #endif  /* __IAudioMute_FWD_DEFINED__ */
00097 
00098 
00099 #ifndef __IAudioBass_FWD_DEFINED__
00100 #define __IAudioBass_FWD_DEFINED__
00101 typedef interface IAudioBass IAudioBass;
00102 #endif  /* __IAudioBass_FWD_DEFINED__ */
00103 
00104 
00105 #ifndef __IAudioMidrange_FWD_DEFINED__
00106 #define __IAudioMidrange_FWD_DEFINED__
00107 typedef interface IAudioMidrange IAudioMidrange;
00108 #endif  /* __IAudioMidrange_FWD_DEFINED__ */
00109 
00110 
00111 #ifndef __IAudioTreble_FWD_DEFINED__
00112 #define __IAudioTreble_FWD_DEFINED__
00113 typedef interface IAudioTreble IAudioTreble;
00114 #endif  /* __IAudioTreble_FWD_DEFINED__ */
00115 
00116 
00117 #ifndef __IAudioAutoGainControl_FWD_DEFINED__
00118 #define __IAudioAutoGainControl_FWD_DEFINED__
00119 typedef interface IAudioAutoGainControl IAudioAutoGainControl;
00120 #endif  /* __IAudioAutoGainControl_FWD_DEFINED__ */
00121 
00122 
00123 #ifndef __IAudioPeakMeter_FWD_DEFINED__
00124 #define __IAudioPeakMeter_FWD_DEFINED__
00125 typedef interface IAudioPeakMeter IAudioPeakMeter;
00126 #endif  /* __IAudioPeakMeter_FWD_DEFINED__ */
00127 
00128 
00129 #ifndef __IDeviceSpecificProperty_FWD_DEFINED__
00130 #define __IDeviceSpecificProperty_FWD_DEFINED__
00131 typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
00132 #endif  /* __IDeviceSpecificProperty_FWD_DEFINED__ */
00133 
00134 
00135 #ifndef __IKsFormatSupport_FWD_DEFINED__
00136 #define __IKsFormatSupport_FWD_DEFINED__
00137 typedef interface IKsFormatSupport IKsFormatSupport;
00138 #endif  /* __IKsFormatSupport_FWD_DEFINED__ */
00139 
00140 
00141 #ifndef __IKsJackDescription_FWD_DEFINED__
00142 #define __IKsJackDescription_FWD_DEFINED__
00143 typedef interface IKsJackDescription IKsJackDescription;
00144 #endif  /* __IKsJackDescription_FWD_DEFINED__ */
00145 
00146 
00147 #ifndef __IPartsList_FWD_DEFINED__
00148 #define __IPartsList_FWD_DEFINED__
00149 typedef interface IPartsList IPartsList;
00150 #endif  /* __IPartsList_FWD_DEFINED__ */
00151 
00152 
00153 #ifndef __IPart_FWD_DEFINED__
00154 #define __IPart_FWD_DEFINED__
00155 typedef interface IPart IPart;
00156 #endif  /* __IPart_FWD_DEFINED__ */
00157 
00158 
00159 #ifndef __IConnector_FWD_DEFINED__
00160 #define __IConnector_FWD_DEFINED__
00161 typedef interface IConnector IConnector;
00162 #endif  /* __IConnector_FWD_DEFINED__ */
00163 
00164 
00165 #ifndef __ISubunit_FWD_DEFINED__
00166 #define __ISubunit_FWD_DEFINED__
00167 typedef interface ISubunit ISubunit;
00168 #endif  /* __ISubunit_FWD_DEFINED__ */
00169 
00170 
00171 #ifndef __IControlInterface_FWD_DEFINED__
00172 #define __IControlInterface_FWD_DEFINED__
00173 typedef interface IControlInterface IControlInterface;
00174 #endif  /* __IControlInterface_FWD_DEFINED__ */
00175 
00176 
00177 #ifndef __IControlChangeNotify_FWD_DEFINED__
00178 #define __IControlChangeNotify_FWD_DEFINED__
00179 typedef interface IControlChangeNotify IControlChangeNotify;
00180 #endif  /* __IControlChangeNotify_FWD_DEFINED__ */
00181 
00182 
00183 #ifndef __IDeviceTopology_FWD_DEFINED__
00184 #define __IDeviceTopology_FWD_DEFINED__
00185 typedef interface IDeviceTopology IDeviceTopology;
00186 #endif  /* __IDeviceTopology_FWD_DEFINED__ */
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 /* __cplusplus */
00197 
00198 #endif  /* __DeviceTopology_FWD_DEFINED__ */
00199 
00200 
00201 #ifndef __IPartsList_FWD_DEFINED__
00202 #define __IPartsList_FWD_DEFINED__
00203 typedef interface IPartsList IPartsList;
00204 #endif  /* __IPartsList_FWD_DEFINED__ */
00205 
00206 
00207 #ifndef __IPerChannelDbLevel_FWD_DEFINED__
00208 #define __IPerChannelDbLevel_FWD_DEFINED__
00209 typedef interface IPerChannelDbLevel IPerChannelDbLevel;
00210 #endif  /* __IPerChannelDbLevel_FWD_DEFINED__ */
00211 
00212 
00213 #ifndef __IAudioVolumeLevel_FWD_DEFINED__
00214 #define __IAudioVolumeLevel_FWD_DEFINED__
00215 typedef interface IAudioVolumeLevel IAudioVolumeLevel;
00216 #endif  /* __IAudioVolumeLevel_FWD_DEFINED__ */
00217 
00218 
00219 #ifndef __IAudioLoudness_FWD_DEFINED__
00220 #define __IAudioLoudness_FWD_DEFINED__
00221 typedef interface IAudioLoudness IAudioLoudness;
00222 #endif  /* __IAudioLoudness_FWD_DEFINED__ */
00223 
00224 
00225 #ifndef __IAudioInputSelector_FWD_DEFINED__
00226 #define __IAudioInputSelector_FWD_DEFINED__
00227 typedef interface IAudioInputSelector IAudioInputSelector;
00228 #endif  /* __IAudioInputSelector_FWD_DEFINED__ */
00229 
00230 
00231 #ifndef __IAudioMute_FWD_DEFINED__
00232 #define __IAudioMute_FWD_DEFINED__
00233 typedef interface IAudioMute IAudioMute;
00234 #endif  /* __IAudioMute_FWD_DEFINED__ */
00235 
00236 
00237 #ifndef __IAudioBass_FWD_DEFINED__
00238 #define __IAudioBass_FWD_DEFINED__
00239 typedef interface IAudioBass IAudioBass;
00240 #endif  /* __IAudioBass_FWD_DEFINED__ */
00241 
00242 
00243 #ifndef __IAudioMidrange_FWD_DEFINED__
00244 #define __IAudioMidrange_FWD_DEFINED__
00245 typedef interface IAudioMidrange IAudioMidrange;
00246 #endif  /* __IAudioMidrange_FWD_DEFINED__ */
00247 
00248 
00249 #ifndef __IAudioTreble_FWD_DEFINED__
00250 #define __IAudioTreble_FWD_DEFINED__
00251 typedef interface IAudioTreble IAudioTreble;
00252 #endif  /* __IAudioTreble_FWD_DEFINED__ */
00253 
00254 
00255 #ifndef __IAudioAutoGainControl_FWD_DEFINED__
00256 #define __IAudioAutoGainControl_FWD_DEFINED__
00257 typedef interface IAudioAutoGainControl IAudioAutoGainControl;
00258 #endif  /* __IAudioAutoGainControl_FWD_DEFINED__ */
00259 
00260 
00261 #ifndef __IAudioOutputSelector_FWD_DEFINED__
00262 #define __IAudioOutputSelector_FWD_DEFINED__
00263 typedef interface IAudioOutputSelector IAudioOutputSelector;
00264 #endif  /* __IAudioOutputSelector_FWD_DEFINED__ */
00265 
00266 
00267 #ifndef __IAudioPeakMeter_FWD_DEFINED__
00268 #define __IAudioPeakMeter_FWD_DEFINED__
00269 typedef interface IAudioPeakMeter IAudioPeakMeter;
00270 #endif  /* __IAudioPeakMeter_FWD_DEFINED__ */
00271 
00272 
00273 #ifndef __IDeviceSpecificProperty_FWD_DEFINED__
00274 #define __IDeviceSpecificProperty_FWD_DEFINED__
00275 typedef interface IDeviceSpecificProperty IDeviceSpecificProperty;
00276 #endif  /* __IDeviceSpecificProperty_FWD_DEFINED__ */
00277 
00278 
00279 #ifndef __IKsFormatSupport_FWD_DEFINED__
00280 #define __IKsFormatSupport_FWD_DEFINED__
00281 typedef interface IKsFormatSupport IKsFormatSupport;
00282 #endif  /* __IKsFormatSupport_FWD_DEFINED__ */
00283 
00284 
00285 /* header files for imported files */
00286 #include "oaidl.h"
00287 #include "ocidl.h"
00288 #include "propidl.h"
00289 
00290 #ifdef __cplusplus
00291 extern "C"{
00292 #endif 
00293 
00294 
00295 /* interface __MIDL_itf_devicetopology_0000_0000 */
00296 /* [local] */ 
00297 
00298 #define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
00299 //
00300 //   Flag for clients of IControlChangeNotify::OnNotify to allow those clients to identify hardware initiated notifications
00301 //
00302 #define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 'draH'
00303 /* E2C2E9DE-09B1-4B04-84E5-07931225EE04 */
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 /* [public] */ 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 /* [public][public][public][public][public][public][public][public][public][public] */ 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 /* [public][public][public][public] */ 
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 /* [public][public][public][public] */ 
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 /* [public][public][public][public] */ 
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 /* [public][public][public][public] */ 
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 /* [public][public][public][public] */ 
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 /* [public][public] */ 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 /* [public][public] */ 
00434 enum __MIDL___MIDL_itf_devicetopology_0000_0000_0011
00435     {   In      = 0,
00436         Out     = ( In + 1 ) 
00437     }   DataFlow;
00438 
00439 typedef /* [public][public] */ 
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 /* [public][public] */ 
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 /* interface IKsControl */
00468 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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             /* [in] */ PKSPROPERTY Property,
00481             /* [in] */ ULONG PropertyLength,
00482             /* [out][in] */ void *PropertyData,
00483             /* [in] */ ULONG DataLength,
00484             /* [out] */ ULONG *BytesReturned) = 0;
00485         
00486         virtual HRESULT STDMETHODCALLTYPE KsMethod( 
00487             /* [in] */ PKSMETHOD Method,
00488             /* [in] */ ULONG MethodLength,
00489             /* [out][in] */ void *MethodData,
00490             /* [in] */ ULONG DataLength,
00491             /* [out] */ ULONG *BytesReturned) = 0;
00492         
00493         virtual HRESULT STDMETHODCALLTYPE KsEvent( 
00494             /* [in] */ PKSEVENT Event,
00495             /* [in] */ ULONG EventLength,
00496             /* [out][in] */ void *EventData,
00497             /* [in] */ ULONG DataLength,
00498             /* [out] */ ULONG *BytesReturned) = 0;
00499         
00500     };
00501     
00502 #else   /* C style interface */
00503 
00504     typedef struct IKsControlVtbl
00505     {
00506         BEGIN_INTERFACE
00507         
00508         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00509             IKsControl * This,
00510             /* [in] */ REFIID riid,
00511             /* [iid_is][out] */ 
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             /* [in] */ PKSPROPERTY Property,
00523             /* [in] */ ULONG PropertyLength,
00524             /* [out][in] */ void *PropertyData,
00525             /* [in] */ ULONG DataLength,
00526             /* [out] */ ULONG *BytesReturned);
00527         
00528         HRESULT ( STDMETHODCALLTYPE *KsMethod )( 
00529             IKsControl * This,
00530             /* [in] */ PKSMETHOD Method,
00531             /* [in] */ ULONG MethodLength,
00532             /* [out][in] */ void *MethodData,
00533             /* [in] */ ULONG DataLength,
00534             /* [out] */ ULONG *BytesReturned);
00535         
00536         HRESULT ( STDMETHODCALLTYPE *KsEvent )( 
00537             IKsControl * This,
00538             /* [in] */ PKSEVENT Event,
00539             /* [in] */ ULONG EventLength,
00540             /* [out][in] */ void *EventData,
00541             /* [in] */ ULONG DataLength,
00542             /* [out] */ 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 /* COBJMACROS */
00577 
00578 
00579 #endif  /* C style interface */
00580 
00581 
00582 
00583 
00584 #endif  /* __IKsControl_INTERFACE_DEFINED__ */
00585 
00586 
00587 #ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__
00588 #define __IPerChannelDbLevel_INTERFACE_DEFINED__
00589 
00590 /* interface IPerChannelDbLevel */
00591 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
00603             /* [out] */ 
00604             __out  UINT *pcChannels) = 0;
00605         
00606         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevelRange( 
00607             /* [in] */ 
00608             __in  UINT nChannel,
00609             /* [out] */ 
00610             __out  float *pfMinLevelDB,
00611             /* [out] */ 
00612             __out  float *pfMaxLevelDB,
00613             /* [out] */ 
00614             __out  float *pfStepping) = 0;
00615         
00616         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( 
00617             /* [in] */ 
00618             __in  UINT nChannel,
00619             /* [out] */ 
00620             __out  float *pfLevelDB) = 0;
00621         
00622         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevel( 
00623             /* [in] */ 
00624             __in  UINT nChannel,
00625             /* [in] */ 
00626             __in  float fLevelDB,
00627             /* [unique][in] */ 
00628             __in_opt  LPCGUID pguidEventContext) = 0;
00629         
00630         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelUniform( 
00631             /* [in] */ 
00632             __in  float fLevelDB,
00633             /* [unique][in] */ 
00634             __in_opt  LPCGUID pguidEventContext) = 0;
00635         
00636         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelAllChannels( 
00637             /* [size_is][in] */ 
00638             __in_ecount(cChannels)  float aLevelsDB[  ],
00639             /* [in] */ 
00640             __in  ULONG cChannels,
00641             /* [unique][in] */ 
00642             __in_opt  LPCGUID pguidEventContext) = 0;
00643         
00644     };
00645     
00646 #else   /* C style interface */
00647 
00648     typedef struct IPerChannelDbLevelVtbl
00649     {
00650         BEGIN_INTERFACE
00651         
00652         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00653             IPerChannelDbLevel * This,
00654             /* [in] */ REFIID riid,
00655             /* [iid_is][out] */ 
00656             __RPC__deref_out  void **ppvObject);
00657         
00658         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00659             IPerChannelDbLevel * This);
00660         
00661         ULONG ( STDMETHODCALLTYPE *Release )( 
00662             IPerChannelDbLevel * This);
00663         
00664         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
00665             IPerChannelDbLevel * This,
00666             /* [out] */ 
00667             __out  UINT *pcChannels);
00668         
00669         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
00670             IPerChannelDbLevel * This,
00671             /* [in] */ 
00672             __in  UINT nChannel,
00673             /* [out] */ 
00674             __out  float *pfMinLevelDB,
00675             /* [out] */ 
00676             __out  float *pfMaxLevelDB,
00677             /* [out] */ 
00678             __out  float *pfStepping);
00679         
00680         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
00681             IPerChannelDbLevel * This,
00682             /* [in] */ 
00683             __in  UINT nChannel,
00684             /* [out] */ 
00685             __out  float *pfLevelDB);
00686         
00687         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
00688             IPerChannelDbLevel * This,
00689             /* [in] */ 
00690             __in  UINT nChannel,
00691             /* [in] */ 
00692             __in  float fLevelDB,
00693             /* [unique][in] */ 
00694             __in_opt  LPCGUID pguidEventContext);
00695         
00696         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
00697             IPerChannelDbLevel * This,
00698             /* [in] */ 
00699             __in  float fLevelDB,
00700             /* [unique][in] */ 
00701             __in_opt  LPCGUID pguidEventContext);
00702         
00703         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
00704             IPerChannelDbLevel * This,
00705             /* [size_is][in] */ 
00706             __in_ecount(cChannels)  float aLevelsDB[  ],
00707             /* [in] */ 
00708             __in  ULONG cChannels,
00709             /* [unique][in] */ 
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 /* COBJMACROS */
00754 
00755 
00756 #endif  /* C style interface */
00757 
00758 
00759 
00760 
00761 #endif  /* __IPerChannelDbLevel_INTERFACE_DEFINED__ */
00762 
00763 
00764 #ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__
00765 #define __IAudioVolumeLevel_INTERFACE_DEFINED__
00766 
00767 /* interface IAudioVolumeLevel */
00768 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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   /* C style interface */
00782 
00783     typedef struct IAudioVolumeLevelVtbl
00784     {
00785         BEGIN_INTERFACE
00786         
00787         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00788             IAudioVolumeLevel * This,
00789             /* [in] */ REFIID riid,
00790             /* [iid_is][out] */ 
00791             __RPC__deref_out  void **ppvObject);
00792         
00793         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00794             IAudioVolumeLevel * This);
00795         
00796         ULONG ( STDMETHODCALLTYPE *Release )( 
00797             IAudioVolumeLevel * This);
00798         
00799         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
00800             IAudioVolumeLevel * This,
00801             /* [out] */ 
00802             __out  UINT *pcChannels);
00803         
00804         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
00805             IAudioVolumeLevel * This,
00806             /* [in] */ 
00807             __in  UINT nChannel,
00808             /* [out] */ 
00809             __out  float *pfMinLevelDB,
00810             /* [out] */ 
00811             __out  float *pfMaxLevelDB,
00812             /* [out] */ 
00813             __out  float *pfStepping);
00814         
00815         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
00816             IAudioVolumeLevel * This,
00817             /* [in] */ 
00818             __in  UINT nChannel,
00819             /* [out] */ 
00820             __out  float *pfLevelDB);
00821         
00822         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
00823             IAudioVolumeLevel * This,
00824             /* [in] */ 
00825             __in  UINT nChannel,
00826             /* [in] */ 
00827             __in  float fLevelDB,
00828             /* [unique][in] */ 
00829             __in_opt  LPCGUID pguidEventContext);
00830         
00831         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
00832             IAudioVolumeLevel * This,
00833             /* [in] */ 
00834             __in  float fLevelDB,
00835             /* [unique][in] */ 
00836             __in_opt  LPCGUID pguidEventContext);
00837         
00838         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
00839             IAudioVolumeLevel * This,
00840             /* [size_is][in] */ 
00841             __in_ecount(cChannels)  float aLevelsDB[  ],
00842             /* [in] */ 
00843             __in  ULONG cChannels,
00844             /* [unique][in] */ 
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 /* COBJMACROS */
00890 
00891 
00892 #endif  /* C style interface */
00893 
00894 
00895 
00896 
00897 #endif  /* __IAudioVolumeLevel_INTERFACE_DEFINED__ */
00898 
00899 
00900 #ifndef __IAudioChannelConfig_INTERFACE_DEFINED__
00901 #define __IAudioChannelConfig_INTERFACE_DEFINED__
00902 
00903 /* interface IAudioChannelConfig */
00904 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetChannelConfig( 
00916             /* [in] */ DWORD dwConfig,
00917             /* [unique][in] */ 
00918             __in_opt  LPCGUID pguidEventContext) = 0;
00919         
00920         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelConfig( 
00921             /* [retval][out] */ DWORD *pdwConfig) = 0;
00922         
00923     };
00924     
00925 #else   /* C style interface */
00926 
00927     typedef struct IAudioChannelConfigVtbl
00928     {
00929         BEGIN_INTERFACE
00930         
00931         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00932             IAudioChannelConfig * This,
00933             /* [in] */ REFIID riid,
00934             /* [iid_is][out] */ 
00935             __RPC__deref_out  void **ppvObject);
00936         
00937         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00938             IAudioChannelConfig * This);
00939         
00940         ULONG ( STDMETHODCALLTYPE *Release )( 
00941             IAudioChannelConfig * This);
00942         
00943         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetChannelConfig )( 
00944             IAudioChannelConfig * This,
00945             /* [in] */ DWORD dwConfig,
00946             /* [unique][in] */ 
00947             __in_opt  LPCGUID pguidEventContext);
00948         
00949         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelConfig )( 
00950             IAudioChannelConfig * This,
00951             /* [retval][out] */ 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 /* COBJMACROS */
00983 
00984 
00985 #endif  /* C style interface */
00986 
00987 
00988 
00989 
00990 #endif  /* __IAudioChannelConfig_INTERFACE_DEFINED__ */
00991 
00992 
00993 #ifndef __IAudioLoudness_INTERFACE_DEFINED__
00994 #define __IAudioLoudness_INTERFACE_DEFINED__
00995 
00996 /* interface IAudioLoudness */
00997 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( 
01009             /* [out] */ 
01010             __out  BOOL *pbEnabled) = 0;
01011         
01012         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( 
01013             /* [in] */ 
01014             __in  BOOL bEnable,
01015             /* [unique][in] */ 
01016             __in_opt  LPCGUID pguidEventContext) = 0;
01017         
01018     };
01019     
01020 #else   /* C style interface */
01021 
01022     typedef struct IAudioLoudnessVtbl
01023     {
01024         BEGIN_INTERFACE
01025         
01026         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01027             IAudioLoudness * This,
01028             /* [in] */ REFIID riid,
01029             /* [iid_is][out] */ 
01030             __RPC__deref_out  void **ppvObject);
01031         
01032         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01033             IAudioLoudness * This);
01034         
01035         ULONG ( STDMETHODCALLTYPE *Release )( 
01036             IAudioLoudness * This);
01037         
01038         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
01039             IAudioLoudness * This,
01040             /* [out] */ 
01041             __out  BOOL *pbEnabled);
01042         
01043         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( 
01044             IAudioLoudness * This,
01045             /* [in] */ 
01046             __in  BOOL bEnable,
01047             /* [unique][in] */ 
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 /* COBJMACROS */
01080 
01081 
01082 #endif  /* C style interface */
01083 
01084 
01085 
01086 
01087 #endif  /* __IAudioLoudness_INTERFACE_DEFINED__ */
01088 
01089 
01090 #ifndef __IAudioInputSelector_INTERFACE_DEFINED__
01091 #define __IAudioInputSelector_INTERFACE_DEFINED__
01092 
01093 /* interface IAudioInputSelector */
01094 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( 
01106             /* [out] */ 
01107             __out  UINT *pnIdSelected) = 0;
01108         
01109         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( 
01110             /* [in] */ 
01111             __in  UINT nIdSelect,
01112             /* [unique][in] */ 
01113             __in_opt  LPCGUID pguidEventContext) = 0;
01114         
01115     };
01116     
01117 #else   /* C style interface */
01118 
01119     typedef struct IAudioInputSelectorVtbl
01120     {
01121         BEGIN_INTERFACE
01122         
01123         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01124             IAudioInputSelector * This,
01125             /* [in] */ REFIID riid,
01126             /* [iid_is][out] */ 
01127             __RPC__deref_out  void **ppvObject);
01128         
01129         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01130             IAudioInputSelector * This);
01131         
01132         ULONG ( STDMETHODCALLTYPE *Release )( 
01133             IAudioInputSelector * This);
01134         
01135         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
01136             IAudioInputSelector * This,
01137             /* [out] */ 
01138             __out  UINT *pnIdSelected);
01139         
01140         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
01141             IAudioInputSelector * This,
01142             /* [in] */ 
01143             __in  UINT nIdSelect,
01144             /* [unique][in] */ 
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 /* COBJMACROS */
01177 
01178 
01179 #endif  /* C style interface */
01180 
01181 
01182 
01183 
01184 #endif  /* __IAudioInputSelector_INTERFACE_DEFINED__ */
01185 
01186 
01187 #ifndef __IAudioOutputSelector_INTERFACE_DEFINED__
01188 #define __IAudioOutputSelector_INTERFACE_DEFINED__
01189 
01190 /* interface IAudioOutputSelector */
01191 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( 
01203             /* [out] */ 
01204             __out  UINT *pnIdSelected) = 0;
01205         
01206         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( 
01207             /* [in] */ 
01208             __in  UINT nIdSelect,
01209             /* [unique][in] */ 
01210             __in_opt  LPCGUID pguidEventContext) = 0;
01211         
01212     };
01213     
01214 #else   /* C style interface */
01215 
01216     typedef struct IAudioOutputSelectorVtbl
01217     {
01218         BEGIN_INTERFACE
01219         
01220         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01221             IAudioOutputSelector * This,
01222             /* [in] */ REFIID riid,
01223             /* [iid_is][out] */ 
01224             __RPC__deref_out  void **ppvObject);
01225         
01226         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01227             IAudioOutputSelector * This);
01228         
01229         ULONG ( STDMETHODCALLTYPE *Release )( 
01230             IAudioOutputSelector * This);
01231         
01232         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
01233             IAudioOutputSelector * This,
01234             /* [out] */ 
01235             __out  UINT *pnIdSelected);
01236         
01237         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
01238             IAudioOutputSelector * This,
01239             /* [in] */ 
01240             __in  UINT nIdSelect,
01241             /* [unique][in] */ 
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 /* COBJMACROS */
01274 
01275 
01276 #endif  /* C style interface */
01277 
01278 
01279 
01280 
01281 #endif  /* __IAudioOutputSelector_INTERFACE_DEFINED__ */
01282 
01283 
01284 #ifndef __IAudioMute_INTERFACE_DEFINED__
01285 #define __IAudioMute_INTERFACE_DEFINED__
01286 
01287 /* interface IAudioMute */
01288 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMute( 
01300             /* [in] */ 
01301             __in  BOOL bMuted,
01302             /* [unique][in] */ 
01303             __in_opt  LPCGUID pguidEventContext) = 0;
01304         
01305         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMute( 
01306             /* [out] */ 
01307             __out  BOOL *pbMuted) = 0;
01308         
01309     };
01310     
01311 #else   /* C style interface */
01312 
01313     typedef struct IAudioMuteVtbl
01314     {
01315         BEGIN_INTERFACE
01316         
01317         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01318             IAudioMute * This,
01319             /* [in] */ REFIID riid,
01320             /* [iid_is][out] */ 
01321             __RPC__deref_out  void **ppvObject);
01322         
01323         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01324             IAudioMute * This);
01325         
01326         ULONG ( STDMETHODCALLTYPE *Release )( 
01327             IAudioMute * This);
01328         
01329         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMute )( 
01330             IAudioMute * This,
01331             /* [in] */ 
01332             __in  BOOL bMuted,
01333             /* [unique][in] */ 
01334             __in_opt  LPCGUID pguidEventContext);
01335         
01336         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMute )( 
01337             IAudioMute * This,
01338             /* [out] */ 
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 /* COBJMACROS */
01371 
01372 
01373 #endif  /* C style interface */
01374 
01375 
01376 
01377 
01378 #endif  /* __IAudioMute_INTERFACE_DEFINED__ */
01379 
01380 
01381 #ifndef __IAudioBass_INTERFACE_DEFINED__
01382 #define __IAudioBass_INTERFACE_DEFINED__
01383 
01384 /* interface IAudioBass */
01385 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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   /* C style interface */
01399 
01400     typedef struct IAudioBassVtbl
01401     {
01402         BEGIN_INTERFACE
01403         
01404         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01405             IAudioBass * This,
01406             /* [in] */ REFIID riid,
01407             /* [iid_is][out] */ 
01408             __RPC__deref_out  void **ppvObject);
01409         
01410         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01411             IAudioBass * This);
01412         
01413         ULONG ( STDMETHODCALLTYPE *Release )( 
01414             IAudioBass * This);
01415         
01416         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
01417             IAudioBass * This,
01418             /* [out] */ 
01419             __out  UINT *pcChannels);
01420         
01421         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
01422             IAudioBass * This,
01423             /* [in] */ 
01424             __in  UINT nChannel,
01425             /* [out] */ 
01426             __out  float *pfMinLevelDB,
01427             /* [out] */ 
01428             __out  float *pfMaxLevelDB,
01429             /* [out] */ 
01430             __out  float *pfStepping);
01431         
01432         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
01433             IAudioBass * This,
01434             /* [in] */ 
01435             __in  UINT nChannel,
01436             /* [out] */ 
01437             __out  float *pfLevelDB);
01438         
01439         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
01440             IAudioBass * This,
01441             /* [in] */ 
01442             __in  UINT nChannel,
01443             /* [in] */ 
01444             __in  float fLevelDB,
01445             /* [unique][in] */ 
01446             __in_opt  LPCGUID pguidEventContext);
01447         
01448         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
01449             IAudioBass * This,
01450             /* [in] */ 
01451             __in  float fLevelDB,
01452             /* [unique][in] */ 
01453             __in_opt  LPCGUID pguidEventContext);
01454         
01455         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
01456             IAudioBass * This,
01457             /* [size_is][in] */ 
01458             __in_ecount(cChannels)  float aLevelsDB[  ],
01459             /* [in] */ 
01460             __in  ULONG cChannels,
01461             /* [unique][in] */ 
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 /* COBJMACROS */
01507 
01508 
01509 #endif  /* C style interface */
01510 
01511 
01512 
01513 
01514 #endif  /* __IAudioBass_INTERFACE_DEFINED__ */
01515 
01516 
01517 #ifndef __IAudioMidrange_INTERFACE_DEFINED__
01518 #define __IAudioMidrange_INTERFACE_DEFINED__
01519 
01520 /* interface IAudioMidrange */
01521 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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   /* C style interface */
01535 
01536     typedef struct IAudioMidrangeVtbl
01537     {
01538         BEGIN_INTERFACE
01539         
01540         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01541             IAudioMidrange * This,
01542             /* [in] */ REFIID riid,
01543             /* [iid_is][out] */ 
01544             __RPC__deref_out  void **ppvObject);
01545         
01546         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01547             IAudioMidrange * This);
01548         
01549         ULONG ( STDMETHODCALLTYPE *Release )( 
01550             IAudioMidrange * This);
01551         
01552         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
01553             IAudioMidrange * This,
01554             /* [out] */ 
01555             __out  UINT *pcChannels);
01556         
01557         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
01558             IAudioMidrange * This,
01559             /* [in] */ 
01560             __in  UINT nChannel,
01561             /* [out] */ 
01562             __out  float *pfMinLevelDB,
01563             /* [out] */ 
01564             __out  float *pfMaxLevelDB,
01565             /* [out] */ 
01566             __out  float *pfStepping);
01567         
01568         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
01569             IAudioMidrange * This,
01570             /* [in] */ 
01571             __in  UINT nChannel,
01572             /* [out] */ 
01573             __out  float *pfLevelDB);
01574         
01575         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
01576             IAudioMidrange * This,
01577             /* [in] */ 
01578             __in  UINT nChannel,
01579             /* [in] */ 
01580             __in  float fLevelDB,
01581             /* [unique][in] */ 
01582             __in_opt  LPCGUID pguidEventContext);
01583         
01584         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
01585             IAudioMidrange * This,
01586             /* [in] */ 
01587             __in  float fLevelDB,
01588             /* [unique][in] */ 
01589             __in_opt  LPCGUID pguidEventContext);
01590         
01591         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
01592             IAudioMidrange * This,
01593             /* [size_is][in] */ 
01594             __in_ecount(cChannels)  float aLevelsDB[  ],
01595             /* [in] */ 
01596             __in  ULONG cChannels,
01597             /* [unique][in] */ 
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 /* COBJMACROS */
01643 
01644 
01645 #endif  /* C style interface */
01646 
01647 
01648 
01649 
01650 #endif  /* __IAudioMidrange_INTERFACE_DEFINED__ */
01651 
01652 
01653 #ifndef __IAudioTreble_INTERFACE_DEFINED__
01654 #define __IAudioTreble_INTERFACE_DEFINED__
01655 
01656 /* interface IAudioTreble */
01657 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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   /* C style interface */
01671 
01672     typedef struct IAudioTrebleVtbl
01673     {
01674         BEGIN_INTERFACE
01675         
01676         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01677             IAudioTreble * This,
01678             /* [in] */ REFIID riid,
01679             /* [iid_is][out] */ 
01680             __RPC__deref_out  void **ppvObject);
01681         
01682         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01683             IAudioTreble * This);
01684         
01685         ULONG ( STDMETHODCALLTYPE *Release )( 
01686             IAudioTreble * This);
01687         
01688         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
01689             IAudioTreble * This,
01690             /* [out] */ 
01691             __out  UINT *pcChannels);
01692         
01693         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( 
01694             IAudioTreble * This,
01695             /* [in] */ 
01696             __in  UINT nChannel,
01697             /* [out] */ 
01698             __out  float *pfMinLevelDB,
01699             /* [out] */ 
01700             __out  float *pfMaxLevelDB,
01701             /* [out] */ 
01702             __out  float *pfStepping);
01703         
01704         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
01705             IAudioTreble * This,
01706             /* [in] */ 
01707             __in  UINT nChannel,
01708             /* [out] */ 
01709             __out  float *pfLevelDB);
01710         
01711         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( 
01712             IAudioTreble * This,
01713             /* [in] */ 
01714             __in  UINT nChannel,
01715             /* [in] */ 
01716             __in  float fLevelDB,
01717             /* [unique][in] */ 
01718             __in_opt  LPCGUID pguidEventContext);
01719         
01720         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( 
01721             IAudioTreble * This,
01722             /* [in] */ 
01723             __in  float fLevelDB,
01724             /* [unique][in] */ 
01725             __in_opt  LPCGUID pguidEventContext);
01726         
01727         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( 
01728             IAudioTreble * This,
01729             /* [size_is][in] */ 
01730             __in_ecount(cChannels)  float aLevelsDB[  ],
01731             /* [in] */ 
01732             __in  ULONG cChannels,
01733             /* [unique][in] */ 
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 /* COBJMACROS */
01779 
01780 
01781 #endif  /* C style interface */
01782 
01783 
01784 
01785 
01786 #endif  /* __IAudioTreble_INTERFACE_DEFINED__ */
01787 
01788 
01789 #ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__
01790 #define __IAudioAutoGainControl_INTERFACE_DEFINED__
01791 
01792 /* interface IAudioAutoGainControl */
01793 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( 
01805             /* [out] */ 
01806             __out  BOOL *pbEnabled) = 0;
01807         
01808         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( 
01809             /* [in] */ 
01810             __in  BOOL bEnable,
01811             /* [unique][in] */ 
01812             __in_opt  LPCGUID pguidEventContext) = 0;
01813         
01814     };
01815     
01816 #else   /* C style interface */
01817 
01818     typedef struct IAudioAutoGainControlVtbl
01819     {
01820         BEGIN_INTERFACE
01821         
01822         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01823             IAudioAutoGainControl * This,
01824             /* [in] */ REFIID riid,
01825             /* [iid_is][out] */ 
01826             __RPC__deref_out  void **ppvObject);
01827         
01828         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01829             IAudioAutoGainControl * This);
01830         
01831         ULONG ( STDMETHODCALLTYPE *Release )( 
01832             IAudioAutoGainControl * This);
01833         
01834         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
01835             IAudioAutoGainControl * This,
01836             /* [out] */ 
01837             __out  BOOL *pbEnabled);
01838         
01839         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( 
01840             IAudioAutoGainControl * This,
01841             /* [in] */ 
01842             __in  BOOL bEnable,
01843             /* [unique][in] */ 
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 /* COBJMACROS */
01876 
01877 
01878 #endif  /* C style interface */
01879 
01880 
01881 
01882 
01883 #endif  /* __IAudioAutoGainControl_INTERFACE_DEFINED__ */
01884 
01885 
01886 #ifndef __IAudioPeakMeter_INTERFACE_DEFINED__
01887 #define __IAudioPeakMeter_INTERFACE_DEFINED__
01888 
01889 /* interface IAudioPeakMeter */
01890 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( 
01902             /* [out] */ 
01903             __out  UINT *pcChannels) = 0;
01904         
01905         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( 
01906             /* [in] */ 
01907             __in  UINT nChannel,
01908             /* [out] */ 
01909             __out  float *pfLevel) = 0;
01910         
01911     };
01912     
01913 #else   /* C style interface */
01914 
01915     typedef struct IAudioPeakMeterVtbl
01916     {
01917         BEGIN_INTERFACE
01918         
01919         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01920             IAudioPeakMeter * This,
01921             /* [in] */ REFIID riid,
01922             /* [iid_is][out] */ 
01923             __RPC__deref_out  void **ppvObject);
01924         
01925         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01926             IAudioPeakMeter * This);
01927         
01928         ULONG ( STDMETHODCALLTYPE *Release )( 
01929             IAudioPeakMeter * This);
01930         
01931         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( 
01932             IAudioPeakMeter * This,
01933             /* [out] */ 
01934             __out  UINT *pcChannels);
01935         
01936         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( 
01937             IAudioPeakMeter * This,
01938             /* [in] */ 
01939             __in  UINT nChannel,
01940             /* [out] */ 
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 /* COBJMACROS */
01973 
01974 
01975 #endif  /* C style interface */
01976 
01977 
01978 
01979 
01980 #endif  /* __IAudioPeakMeter_INTERFACE_DEFINED__ */
01981 
01982 
01983 #ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__
01984 #define __IDeviceSpecificProperty_INTERFACE_DEFINED__
01985 
01986 /* interface IDeviceSpecificProperty */
01987 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( 
01999             /* [out] */ 
02000             __deref_out  VARTYPE *pVType) = 0;
02001         
02002         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetValue( 
02003             /* [out] */ 
02004             __out  void *pvValue,
02005             /* [out][in] */ 
02006             __inout  DWORD *pcbValue) = 0;
02007         
02008         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetValue( 
02009             /* [in] */ 
02010             __in  void *pvValue,
02011             /* [in] */ DWORD cbValue,
02012             /* [unique][in] */ 
02013             __in_opt  LPCGUID pguidEventContext) = 0;
02014         
02015         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Get4BRange( 
02016             /* [out] */ 
02017             __deref_out  LONG *plMin,
02018             /* [out] */ 
02019             __deref_out  LONG *plMax,
02020             /* [out] */ 
02021             __deref_out  LONG *plStepping) = 0;
02022         
02023     };
02024     
02025 #else   /* C style interface */
02026 
02027     typedef struct IDeviceSpecificPropertyVtbl
02028     {
02029         BEGIN_INTERFACE
02030         
02031         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02032             IDeviceSpecificProperty * This,
02033             /* [in] */ REFIID riid,
02034             /* [iid_is][out] */ 
02035             __RPC__deref_out  void **ppvObject);
02036         
02037         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02038             IDeviceSpecificProperty * This);
02039         
02040         ULONG ( STDMETHODCALLTYPE *Release )( 
02041             IDeviceSpecificProperty * This);
02042         
02043         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
02044             IDeviceSpecificProperty * This,
02045             /* [out] */ 
02046             __deref_out  VARTYPE *pVType);
02047         
02048         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
02049             IDeviceSpecificProperty * This,
02050             /* [out] */ 
02051             __out  void *pvValue,
02052             /* [out][in] */ 
02053             __inout  DWORD *pcbValue);
02054         
02055         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( 
02056             IDeviceSpecificProperty * This,
02057             /* [in] */ 
02058             __in  void *pvValue,
02059             /* [in] */ DWORD cbValue,
02060             /* [unique][in] */ 
02061             __in_opt  LPCGUID pguidEventContext);
02062         
02063         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Get4BRange )( 
02064             IDeviceSpecificProperty * This,
02065             /* [out] */ 
02066             __deref_out  LONG *plMin,
02067             /* [out] */ 
02068             __deref_out  LONG *plMax,
02069             /* [out] */ 
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 /* COBJMACROS */
02108 
02109 
02110 #endif  /* C style interface */
02111 
02112 
02113 
02114 
02115 #endif  /* __IDeviceSpecificProperty_INTERFACE_DEFINED__ */
02116 
02117 
02118 #ifndef __IKsFormatSupport_INTERFACE_DEFINED__
02119 #define __IKsFormatSupport_INTERFACE_DEFINED__
02120 
02121 /* interface IKsFormatSupport */
02122 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsFormatSupported( 
02134             /* [size_is][in] */ PKSDATAFORMAT pKsFormat,
02135             /* [in] */ 
02136             __in  DWORD cbFormat,
02137             /* [out] */ 
02138             __out  BOOL *pbSupported) = 0;
02139         
02140         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat( 
02141             /* [out] */ PKSDATAFORMAT *ppKsFormat) = 0;
02142         
02143     };
02144     
02145 #else   /* C style interface */
02146 
02147     typedef struct IKsFormatSupportVtbl
02148     {
02149         BEGIN_INTERFACE
02150         
02151         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02152             IKsFormatSupport * This,
02153             /* [in] */ REFIID riid,
02154             /* [iid_is][out] */ 
02155             __RPC__deref_out  void **ppvObject);
02156         
02157         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02158             IKsFormatSupport * This);
02159         
02160         ULONG ( STDMETHODCALLTYPE *Release )( 
02161             IKsFormatSupport * This);
02162         
02163         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
02164             IKsFormatSupport * This,
02165             /* [size_is][in] */ PKSDATAFORMAT pKsFormat,
02166             /* [in] */ 
02167             __in  DWORD cbFormat,
02168             /* [out] */ 
02169             __out  BOOL *pbSupported);
02170         
02171         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDevicePreferredFormat )( 
02172             IKsFormatSupport * This,
02173             /* [out] */ 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 /* COBJMACROS */
02205 
02206 
02207 #endif  /* C style interface */
02208 
02209 
02210 
02211 
02212 #endif  /* __IKsFormatSupport_INTERFACE_DEFINED__ */
02213 
02214 
02215 #ifndef __IKsJackDescription_INTERFACE_DEFINED__
02216 #define __IKsJackDescription_INTERFACE_DEFINED__
02217 
02218 /* interface IKsJackDescription */
02219 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackCount( 
02231             /* [out] */ 
02232             __out  UINT *pcJacks) = 0;
02233         
02234         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackDescription( 
02235             /* [in] */ UINT nJack,
02236             /* [out] */ 
02237             __out  KSJACK_DESCRIPTION *pDescription) = 0;
02238         
02239     };
02240     
02241 #else   /* C style interface */
02242 
02243     typedef struct IKsJackDescriptionVtbl
02244     {
02245         BEGIN_INTERFACE
02246         
02247         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02248             IKsJackDescription * This,
02249             /* [in] */ REFIID riid,
02250             /* [iid_is][out] */ 
02251             __RPC__deref_out  void **ppvObject);
02252         
02253         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02254             IKsJackDescription * This);
02255         
02256         ULONG ( STDMETHODCALLTYPE *Release )( 
02257             IKsJackDescription * This);
02258         
02259         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackCount )( 
02260             IKsJackDescription * This,
02261             /* [out] */ 
02262             __out  UINT *pcJacks);
02263         
02264         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackDescription )( 
02265             IKsJackDescription * This,
02266             /* [in] */ UINT nJack,
02267             /* [out] */ 
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 /* COBJMACROS */
02300 
02301 
02302 #endif  /* C style interface */
02303 
02304 
02305 
02306 
02307 #endif  /* __IKsJackDescription_INTERFACE_DEFINED__ */
02308 
02309 
02310 #ifndef __IPartsList_INTERFACE_DEFINED__
02311 #define __IPartsList_INTERFACE_DEFINED__
02312 
02313 /* interface IPartsList */
02314 /* [object][unique][helpstring][uuid][local] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
02326             /* [out] */ 
02327             __out  UINT *pCount) = 0;
02328         
02329         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPart( 
02330             /* [in] */ 
02331             __in  UINT nIndex,
02332             /* [out] */ 
02333             __out  IPart **ppPart) = 0;
02334         
02335     };
02336     
02337 #else   /* C style interface */
02338 
02339     typedef struct IPartsListVtbl
02340     {
02341         BEGIN_INTERFACE
02342         
02343         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02344             IPartsList * This,
02345             /* [in] */ REFIID riid,
02346             /* [iid_is][out] */ 
02347             __RPC__deref_out  void **ppvObject);
02348         
02349         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02350             IPartsList * This);
02351         
02352         ULONG ( STDMETHODCALLTYPE *Release )( 
02353             IPartsList * This);
02354         
02355         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
02356             IPartsList * This,
02357             /* [out] */ 
02358             __out  UINT *pCount);
02359         
02360         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPart )( 
02361             IPartsList * This,
02362             /* [in] */ 
02363             __in  UINT nIndex,
02364             /* [out] */ 
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 /* COBJMACROS */
02397 
02398 
02399 #endif  /* C style interface */
02400 
02401 
02402 
02403 
02404 #endif  /* __IPartsList_INTERFACE_DEFINED__ */
02405 
02406 
02407 #ifndef __IPart_INTERFACE_DEFINED__
02408 #define __IPart_INTERFACE_DEFINED__
02409 
02410 /* interface IPart */
02411 /* [object][unique][helpstring][uuid][local] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( 
02423             /* [out] */ 
02424             __deref_out  LPWSTR *ppwstrName) = 0;
02425         
02426         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLocalId( 
02427             /* [out] */ 
02428             __out  UINT *pnId) = 0;
02429         
02430         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetGlobalId( 
02431             /* [out] */ 
02432             __deref_out  LPWSTR *ppwstrGlobalId) = 0;
02433         
02434         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartType( 
02435             /* [out] */ 
02436             __out  PartType *pPartType) = 0;
02437         
02438         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubType( 
02439             /* [out] */ GUID *pSubType) = 0;
02440         
02441         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterfaceCount( 
02442             /* [out] */ 
02443             __out  UINT *pCount) = 0;
02444         
02445         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterface( 
02446             /* [in] */ 
02447             __in  UINT nIndex,
02448             /* [out] */ 
02449             __out  IControlInterface **ppInterfaceDesc) = 0;
02450         
02451         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsIncoming( 
02452             /* [out] */ 
02453             __out  IPartsList **ppParts) = 0;
02454         
02455         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsOutgoing( 
02456             /* [out] */ 
02457             __out  IPartsList **ppParts) = 0;
02458         
02459         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTopologyObject( 
02460             /* [out] */ 
02461             __out  IDeviceTopology **ppTopology) = 0;
02462         
02463         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate( 
02464             /* [in] */ 
02465             __in  DWORD dwClsContext,
02466             /* [in] */ 
02467             __in  REFIID refiid,
02468             /* [iid_is][out] */ 
02469             __out_opt  void **ppvObject) = 0;
02470         
02471         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback( 
02472             /* [in] */ 
02473             __in  REFGUID riid,
02474             /* [in] */ 
02475             __in  IControlChangeNotify *pNotify) = 0;
02476         
02477         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback( 
02478             /* [in] */ 
02479             __in  IControlChangeNotify *pNotify) = 0;
02480         
02481     };
02482     
02483 #else   /* C style interface */
02484 
02485     typedef struct IPartVtbl
02486     {
02487         BEGIN_INTERFACE
02488         
02489         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02490             IPart * This,
02491             /* [in] */ REFIID riid,
02492             /* [iid_is][out] */ 
02493             __RPC__deref_out  void **ppvObject);
02494         
02495         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02496             IPart * This);
02497         
02498         ULONG ( STDMETHODCALLTYPE *Release )( 
02499             IPart * This);
02500         
02501         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
02502             IPart * This,
02503             /* [out] */ 
02504             __deref_out  LPWSTR *ppwstrName);
02505         
02506         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLocalId )( 
02507             IPart * This,
02508             /* [out] */ 
02509             __out  UINT *pnId);
02510         
02511         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetGlobalId )( 
02512             IPart * This,
02513             /* [out] */ 
02514             __deref_out  LPWSTR *ppwstrGlobalId);
02515         
02516         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartType )( 
02517             IPart * This,
02518             /* [out] */ 
02519             __out  PartType *pPartType);
02520         
02521         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubType )( 
02522             IPart * This,
02523             /* [out] */ GUID *pSubType);
02524         
02525         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterfaceCount )( 
02526             IPart * This,
02527             /* [out] */ 
02528             __out  UINT *pCount);
02529         
02530         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterface )( 
02531             IPart * This,
02532             /* [in] */ 
02533             __in  UINT nIndex,
02534             /* [out] */ 
02535             __out  IControlInterface **ppInterfaceDesc);
02536         
02537         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsIncoming )( 
02538             IPart * This,
02539             /* [out] */ 
02540             __out  IPartsList **ppParts);
02541         
02542         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsOutgoing )( 
02543             IPart * This,
02544             /* [out] */ 
02545             __out  IPartsList **ppParts);
02546         
02547         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTopologyObject )( 
02548             IPart * This,
02549             /* [out] */ 
02550             __out  IDeviceTopology **ppTopology);
02551         
02552         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( 
02553             IPart * This,
02554             /* [in] */ 
02555             __in  DWORD dwClsContext,
02556             /* [in] */ 
02557             __in  REFIID refiid,
02558             /* [iid_is][out] */ 
02559             __out_opt  void **ppvObject);
02560         
02561         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeCallback )( 
02562             IPart * This,
02563             /* [in] */ 
02564             __in  REFGUID riid,
02565             /* [in] */ 
02566             __in  IControlChangeNotify *pNotify);
02567         
02568         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeCallback )( 
02569             IPart * This,
02570             /* [in] */ 
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 /* COBJMACROS */
02636 
02637 
02638 #endif  /* C style interface */
02639 
02640 
02641 
02642 
02643 #endif  /* __IPart_INTERFACE_DEFINED__ */
02644 
02645 
02646 #ifndef __IConnector_INTERFACE_DEFINED__
02647 #define __IConnector_INTERFACE_DEFINED__
02648 
02649 /* interface IConnector */
02650 /* [object][unique][helpstring][uuid][local] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( 
02662             /* [out] */ 
02663             __out  ConnectorType *pType) = 0;
02664         
02665         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDataFlow( 
02666             /* [out] */ 
02667             __out  DataFlow *pFlow) = 0;
02668         
02669         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConnectTo( 
02670             /* [in] */ 
02671             __in  IConnector *pConnectTo) = 0;
02672         
02673         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
02674         
02675         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsConnected( 
02676             /* [out] */ 
02677             __out  BOOL *pbConnected) = 0;
02678         
02679         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectedTo( 
02680             /* [out] */ 
02681             __out  IConnector **ppConTo) = 0;
02682         
02683         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo( 
02684             /* [out] */ 
02685             __deref_out  LPWSTR *ppwstrConnectorId) = 0;
02686         
02687         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo( 
02688             /* [out] */ 
02689             __deref_out  LPWSTR *ppwstrDeviceId) = 0;
02690         
02691     };
02692     
02693 #else   /* C style interface */
02694 
02695     typedef struct IConnectorVtbl
02696     {
02697         BEGIN_INTERFACE
02698         
02699         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02700             IConnector * This,
02701             /* [in] */ REFIID riid,
02702             /* [iid_is][out] */ 
02703             __RPC__deref_out  void **ppvObject);
02704         
02705         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02706             IConnector * This);
02707         
02708         ULONG ( STDMETHODCALLTYPE *Release )( 
02709             IConnector * This);
02710         
02711         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
02712             IConnector * This,
02713             /* [out] */ 
02714             __out  ConnectorType *pType);
02715         
02716         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFlow )( 
02717             IConnector * This,
02718             /* [out] */ 
02719             __out  DataFlow *pFlow);
02720         
02721         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConnectTo )( 
02722             IConnector * This,
02723             /* [in] */ 
02724             __in  IConnector *pConnectTo);
02725         
02726         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
02727             IConnector * This);
02728         
02729         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
02730             IConnector * This,
02731             /* [out] */ 
02732             __out  BOOL *pbConnected);
02733         
02734         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectedTo )( 
02735             IConnector * This,
02736             /* [out] */ 
02737             __out  IConnector **ppConTo);
02738         
02739         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorIdConnectedTo )( 
02740             IConnector * This,
02741             /* [out] */ 
02742             __deref_out  LPWSTR *ppwstrConnectorId);
02743         
02744         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceIdConnectedTo )( 
02745             IConnector * This,
02746             /* [out] */ 
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 /* COBJMACROS */
02797 
02798 
02799 #endif  /* C style interface */
02800 
02801 
02802 
02803 
02804 #endif  /* __IConnector_INTERFACE_DEFINED__ */
02805 
02806 
02807 #ifndef __ISubunit_INTERFACE_DEFINED__
02808 #define __ISubunit_INTERFACE_DEFINED__
02809 
02810 /* interface ISubunit */
02811 /* [object][unique][helpstring][uuid][local] */ 
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   /* C style interface */
02825 
02826     typedef struct ISubunitVtbl
02827     {
02828         BEGIN_INTERFACE
02829         
02830         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02831             ISubunit * This,
02832             /* [in] */ REFIID riid,
02833             /* [iid_is][out] */ 
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 /* COBJMACROS */
02866 
02867 
02868 #endif  /* C style interface */
02869 
02870 
02871 
02872 
02873 #endif  /* __ISubunit_INTERFACE_DEFINED__ */
02874 
02875 
02876 #ifndef __IControlInterface_INTERFACE_DEFINED__
02877 #define __IControlInterface_INTERFACE_DEFINED__
02878 
02879 /* interface IControlInterface */
02880 /* [object][unique][helpstring][uuid][local] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( 
02892             /* [out] */ 
02893             __deref_out  LPWSTR *ppwstrName) = 0;
02894         
02895         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetIID( 
02896             /* [out] */ 
02897             __out  GUID *pIID) = 0;
02898         
02899     };
02900     
02901 #else   /* C style interface */
02902 
02903     typedef struct IControlInterfaceVtbl
02904     {
02905         BEGIN_INTERFACE
02906         
02907         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02908             IControlInterface * This,
02909             /* [in] */ REFIID riid,
02910             /* [iid_is][out] */ 
02911             __RPC__deref_out  void **ppvObject);
02912         
02913         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02914             IControlInterface * This);
02915         
02916         ULONG ( STDMETHODCALLTYPE *Release )( 
02917             IControlInterface * This);
02918         
02919         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
02920             IControlInterface * This,
02921             /* [out] */ 
02922             __deref_out  LPWSTR *ppwstrName);
02923         
02924         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( 
02925             IControlInterface * This,
02926             /* [out] */ 
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 /* COBJMACROS */
02959 
02960 
02961 #endif  /* C style interface */
02962 
02963 
02964 
02965 
02966 #endif  /* __IControlInterface_INTERFACE_DEFINED__ */
02967 
02968 
02969 #ifndef __IControlChangeNotify_INTERFACE_DEFINED__
02970 #define __IControlChangeNotify_INTERFACE_DEFINED__
02971 
02972 /* interface IControlChangeNotify */
02973 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnNotify( 
02985             /* [in] */ 
02986             __in  DWORD dwSenderProcessId,
02987             /* [unique][in] */ 
02988             __in_opt  LPCGUID pguidEventContext) = 0;
02989         
02990     };
02991     
02992 #else   /* C style interface */
02993 
02994     typedef struct IControlChangeNotifyVtbl
02995     {
02996         BEGIN_INTERFACE
02997         
02998         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02999             IControlChangeNotify * This,
03000             /* [in] */ REFIID riid,
03001             /* [iid_is][out] */ 
03002             __RPC__deref_out  void **ppvObject);
03003         
03004         ULONG ( STDMETHODCALLTYPE *AddRef )( 
03005             IControlChangeNotify * This);
03006         
03007         ULONG ( STDMETHODCALLTYPE *Release )( 
03008             IControlChangeNotify * This);
03009         
03010         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnNotify )( 
03011             IControlChangeNotify * This,
03012             /* [in] */ 
03013             __in  DWORD dwSenderProcessId,
03014             /* [unique][in] */ 
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 /* COBJMACROS */
03044 
03045 
03046 #endif  /* C style interface */
03047 
03048 
03049 
03050 
03051 #endif  /* __IControlChangeNotify_INTERFACE_DEFINED__ */
03052 
03053 
03054 #ifndef __IDeviceTopology_INTERFACE_DEFINED__
03055 #define __IDeviceTopology_INTERFACE_DEFINED__
03056 
03057 /* interface IDeviceTopology */
03058 /* [unique][helpstring][nonextensible][uuid][local][object] */ 
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 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorCount( 
03070             /* [out] */ 
03071             __out  UINT *pCount) = 0;
03072         
03073         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnector( 
03074             /* [in] */ 
03075             __in  UINT nIndex,
03076             /* [out] */ 
03077             __out  IConnector **ppConnector) = 0;
03078         
03079         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunitCount( 
03080             /* [out] */ 
03081             __out  UINT *pCount) = 0;
03082         
03083         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunit( 
03084             /* [in] */ 
03085             __in  UINT nIndex,
03086             /* [out] */ 
03087             __deref_out  ISubunit **ppSubunit) = 0;
03088         
03089         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartById( 
03090             /* [in] */ 
03091             __in  UINT nId,
03092             /* [out] */ 
03093             __deref_out  IPart **ppPart) = 0;
03094         
03095         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceId( 
03096             /* [out] */ 
03097             __deref_out  LPWSTR *ppwstrDeviceId) = 0;
03098         
03099         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSignalPath( 
03100             /* [in] */ 
03101             __in  IPart *pIPartFrom,
03102             /* [in] */ 
03103             __in  IPart *pIPartTo,
03104             /* [in] */ 
03105             __in  BOOL bRejectMixedPaths,
03106             /* [out] */ 
03107             __deref_out  IPartsList **ppParts) = 0;
03108         
03109     };
03110     
03111 #else   /* C style interface */
03112 
03113     typedef struct IDeviceTopologyVtbl
03114     {
03115         BEGIN_INTERFACE
03116         
03117         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
03118             IDeviceTopology * This,
03119             /* [in] */ REFIID riid,
03120             /* [iid_is][out] */ 
03121             __RPC__deref_out  void **ppvObject);
03122         
03123         ULONG ( STDMETHODCALLTYPE *AddRef )( 
03124             IDeviceTopology * This);
03125         
03126         ULONG ( STDMETHODCALLTYPE *Release )( 
03127             IDeviceTopology * This);
03128         
03129         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorCount )( 
03130             IDeviceTopology * This,
03131             /* [out] */ 
03132             __out  UINT *pCount);
03133         
03134         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnector )( 
03135             IDeviceTopology * This,
03136             /* [in] */ 
03137             __in  UINT nIndex,
03138             /* [out] */ 
03139             __out  IConnector **ppConnector);
03140         
03141         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunitCount )( 
03142             IDeviceTopology * This,
03143             /* [out] */ 
03144             __out  UINT *pCount);
03145         
03146         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunit )( 
03147             IDeviceTopology * This,
03148             /* [in] */ 
03149             __in  UINT nIndex,
03150             /* [out] */ 
03151             __deref_out  ISubunit **ppSubunit);
03152         
03153         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartById )( 
03154             IDeviceTopology * This,
03155             /* [in] */ 
03156             __in  UINT nId,
03157             /* [out] */ 
03158             __deref_out  IPart **ppPart);
03159         
03160         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceId )( 
03161             IDeviceTopology * This,
03162             /* [out] */ 
03163             __deref_out  LPWSTR *ppwstrDeviceId);
03164         
03165         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSignalPath )( 
03166             IDeviceTopology * This,
03167             /* [in] */ 
03168             __in  IPart *pIPartFrom,
03169             /* [in] */ 
03170             __in  IPart *pIPartTo,
03171             /* [in] */ 
03172             __in  BOOL bRejectMixedPaths,
03173             /* [out] */ 
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 /* COBJMACROS */
03221 
03222 
03223 #endif  /* C style interface */
03224 
03225 
03226 
03227 
03228 #endif  /* __IDeviceTopology_INTERFACE_DEFINED__ */
03229 
03230 
03231 
03232 #ifndef __DevTopologyLib_LIBRARY_DEFINED__
03233 #define __DevTopologyLib_LIBRARY_DEFINED__
03234 
03235 /* library DevTopologyLib */
03236 /* [helpstring][version][uuid] */ 
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 /* __DevTopologyLib_LIBRARY_DEFINED__ */
03263 
03264 /* Additional Prototypes for ALL interfaces */
03265 
03266 /* end of Additional Prototypes */
03267 
03268 #ifdef __cplusplus
03269 }
03270 #endif
03271 
03272 #endif
03273 
03274 
03275 

Generated for PortAudio by  doxygen1.7.4