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