PortAudio 2.0
|
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