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