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