|  | /*** Autogenerated by WIDL 1.6 from include/devicetopology.idl - Do not edit ***/ | 
|  |  | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  |  | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __devicetopology_h__ | 
|  | #define __devicetopology_h__ | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __IKsControl_FWD_DEFINED__ | 
|  | #define __IKsControl_FWD_DEFINED__ | 
|  | typedef interface IKsControl IKsControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPerChannelDbLevel_FWD_DEFINED__ | 
|  | #define __IPerChannelDbLevel_FWD_DEFINED__ | 
|  | typedef interface IPerChannelDbLevel IPerChannelDbLevel; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioVolumeLevel_FWD_DEFINED__ | 
|  | #define __IAudioVolumeLevel_FWD_DEFINED__ | 
|  | typedef interface IAudioVolumeLevel IAudioVolumeLevel; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioChannelConfig_FWD_DEFINED__ | 
|  | #define __IAudioChannelConfig_FWD_DEFINED__ | 
|  | typedef interface IAudioChannelConfig IAudioChannelConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioLoudness_FWD_DEFINED__ | 
|  | #define __IAudioLoudness_FWD_DEFINED__ | 
|  | typedef interface IAudioLoudness IAudioLoudness; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioInputSelector_FWD_DEFINED__ | 
|  | #define __IAudioInputSelector_FWD_DEFINED__ | 
|  | typedef interface IAudioInputSelector IAudioInputSelector; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioOutputSelector_FWD_DEFINED__ | 
|  | #define __IAudioOutputSelector_FWD_DEFINED__ | 
|  | typedef interface IAudioOutputSelector IAudioOutputSelector; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioMute_FWD_DEFINED__ | 
|  | #define __IAudioMute_FWD_DEFINED__ | 
|  | typedef interface IAudioMute IAudioMute; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioBass_FWD_DEFINED__ | 
|  | #define __IAudioBass_FWD_DEFINED__ | 
|  | typedef interface IAudioBass IAudioBass; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioMidRange_FWD_DEFINED__ | 
|  | #define __IAudioMidRange_FWD_DEFINED__ | 
|  | typedef interface IAudioMidRange IAudioMidRange; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioTreble_FWD_DEFINED__ | 
|  | #define __IAudioTreble_FWD_DEFINED__ | 
|  | typedef interface IAudioTreble IAudioTreble; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioAutoGainControl_FWD_DEFINED__ | 
|  | #define __IAudioAutoGainControl_FWD_DEFINED__ | 
|  | typedef interface IAudioAutoGainControl IAudioAutoGainControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAudioPeakMeter_FWD_DEFINED__ | 
|  | #define __IAudioPeakMeter_FWD_DEFINED__ | 
|  | typedef interface IAudioPeakMeter IAudioPeakMeter; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDeviceSpecificProperty_FWD_DEFINED__ | 
|  | #define __IDeviceSpecificProperty_FWD_DEFINED__ | 
|  | typedef interface IDeviceSpecificProperty IDeviceSpecificProperty; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsFormatSupport_FWD_DEFINED__ | 
|  | #define __IKsFormatSupport_FWD_DEFINED__ | 
|  | typedef interface IKsFormatSupport IKsFormatSupport; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsJackDescription_FWD_DEFINED__ | 
|  | #define __IKsJackDescription_FWD_DEFINED__ | 
|  | typedef interface IKsJackDescription IKsJackDescription; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsJackDescription2_FWD_DEFINED__ | 
|  | #define __IKsJackDescription2_FWD_DEFINED__ | 
|  | typedef interface IKsJackDescription2 IKsJackDescription2; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsJackSinkInformation_FWD_DEFINED__ | 
|  | #define __IKsJackSinkInformation_FWD_DEFINED__ | 
|  | typedef interface IKsJackSinkInformation IKsJackSinkInformation; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPartsList_FWD_DEFINED__ | 
|  | #define __IPartsList_FWD_DEFINED__ | 
|  | typedef interface IPartsList IPartsList; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPart_FWD_DEFINED__ | 
|  | #define __IPart_FWD_DEFINED__ | 
|  | typedef interface IPart IPart; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IConnector_FWD_DEFINED__ | 
|  | #define __IConnector_FWD_DEFINED__ | 
|  | typedef interface IConnector IConnector; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISubUnit_FWD_DEFINED__ | 
|  | #define __ISubUnit_FWD_DEFINED__ | 
|  | typedef interface ISubUnit ISubUnit; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IControlInterface_FWD_DEFINED__ | 
|  | #define __IControlInterface_FWD_DEFINED__ | 
|  | typedef interface IControlInterface IControlInterface; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IControlChangeNotify_FWD_DEFINED__ | 
|  | #define __IControlChangeNotify_FWD_DEFINED__ | 
|  | typedef interface IControlChangeNotify IControlChangeNotify; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDeviceTopology_FWD_DEFINED__ | 
|  | #define __IDeviceTopology_FWD_DEFINED__ | 
|  | typedef interface IDeviceTopology IDeviceTopology; | 
|  | #endif | 
|  |  | 
|  | #ifndef __DeviceTopology_FWD_DEFINED__ | 
|  | #define __DeviceTopology_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class DeviceTopology DeviceTopology; | 
|  | #else | 
|  | typedef struct DeviceTopology DeviceTopology; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __DeviceTopology_FWD_DEFINED__ */ | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <oaidl.h> | 
|  | #include <ocidl.h> | 
|  | #include <propidl.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPart_FWD_DEFINED__ | 
|  | #define __IPart_FWD_DEFINED__ | 
|  | typedef interface IPart IPart; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IControlInterface_FWD_DEFINED__ | 
|  | #define __IControlInterface_FWD_DEFINED__ | 
|  | typedef interface IControlInterface IControlInterface; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDeviceTopology_FWD_DEFINED__ | 
|  | #define __IDeviceTopology_FWD_DEFINED__ | 
|  | typedef interface IDeviceTopology IDeviceTopology; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IControlChangeNotify_FWD_DEFINED__ | 
|  | #define __IControlChangeNotify_FWD_DEFINED__ | 
|  | typedef interface IControlChangeNotify IControlChangeNotify; | 
|  | #endif | 
|  |  | 
|  | #ifndef E_NOTFOUND | 
|  | #define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) | 
|  | #endif | 
|  | #define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 0x64726148 /* 'draH' */ | 
|  | DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xe2c2e9de, 0x09b1, 0x4b04,0x84,0xe5, 0x07, 0x93, 0x12, 0x25, 0xee, 0x04); | 
|  | #define _IKsControl_ | 
|  | #include <ks.h> | 
|  | #include <ksmedia.h> | 
|  | #ifndef _KS_ | 
|  | typedef struct __WIDL_devicetopology_generated_name_00000013 { | 
|  | ULONG FormatSize; | 
|  | ULONG Flags; | 
|  | ULONG SampleSize; | 
|  | ULONG Reserved; | 
|  | GUID MajorFormat; | 
|  | GUID SubFormat; | 
|  | GUID Specifier; | 
|  | } KSDATAFORMAT; | 
|  | typedef KSDATAFORMAT *PKSDATAFORMAT; | 
|  | typedef struct __WIDL_devicetopology_generated_name_00000014 { | 
|  | __C89_NAMELESS union { | 
|  | __C89_NAMELESS struct { | 
|  | GUID Set; | 
|  | ULONG Id; | 
|  | ULONG Flags; | 
|  | } __C89_NAMELESSSTRUCTNAME; | 
|  | LONGLONG Alignment; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | } KSIDENTIFIER; | 
|  | typedef KSIDENTIFIER KSPROPERTY; | 
|  | typedef KSIDENTIFIER *PKSPROPERTY; | 
|  | typedef KSIDENTIFIER KSMETHOD; | 
|  | typedef KSIDENTIFIER *PKSMETHOD; | 
|  | typedef KSIDENTIFIER KSEVENT; | 
|  | typedef KSIDENTIFIER *PKSEVENT; | 
|  | typedef enum __WIDL_devicetopology_generated_name_00000015 { | 
|  | eConnTypeUnknown = 0, | 
|  | eConnType3Point5mm = 1, | 
|  | eConnTypeQuarter = 2, | 
|  | eConnTypeAtapiInternal = 3, | 
|  | eConnTypeRCA = 4, | 
|  | eConnTypeOptical = 5, | 
|  | eConnTypeOtherDigital = 6, | 
|  | eConnTypeOtherAnalog = 7, | 
|  | eConnTypeMultichannelAnalogDIN = 8, | 
|  | eConnTypeXlrProfessional = 9, | 
|  | eConnTypeRJ11Modem = 10, | 
|  | eConnTypeCombination = 11 | 
|  | } EPcxConnectionType; | 
|  | typedef enum __WIDL_devicetopology_generated_name_00000016 { | 
|  | eGeoLocRear = 1, | 
|  | eGeoLocFront = 2, | 
|  | eGeoLocLeft = 3, | 
|  | eGeoLocRight = 4, | 
|  | eGeoLocTop = 5, | 
|  | eGeoLocBottom = 6, | 
|  | eGeoLocRearPanel = 7, | 
|  | eGeoLocRiser = 8, | 
|  | eGeoLocInsideMobileLid = 9, | 
|  | eGeoLocDrivebay = 10, | 
|  | eGeoLocHDMI = 11, | 
|  | eGeoLocOutsideMobileLid = 12, | 
|  | eGeoLocATAPI = 13, | 
|  | eGeoLocReserved5 = 14, | 
|  | eGeoLocReserved6 = 15 | 
|  | } EPcxGeoLocation; | 
|  | typedef enum __WIDL_devicetopology_generated_name_00000017 { | 
|  | eGenLocPrimaryBox = 0, | 
|  | eGenLocInternal = 1, | 
|  | eGenLocSeparate = 2, | 
|  | eGenLocOther = 3 | 
|  | } EPcxGenLocation; | 
|  | typedef enum __WIDL_devicetopology_generated_name_00000018 { | 
|  | ePortConnJack = 0, | 
|  | ePortConnIntegratedDevice = 1, | 
|  | ePortConnBothIntegratedAndJack = 2, | 
|  | ePortConnUnknown = 3 | 
|  | } EPxcPortConnection; | 
|  | typedef struct __WIDL_devicetopology_generated_name_00000019 { | 
|  | DWORD ChannelMapping; | 
|  | COLORREF Color; | 
|  | EPcxConnectionType ConnectionType; | 
|  | EPcxGeoLocation GeoLocation; | 
|  | EPcxGenLocation GenLocation; | 
|  | EPxcPortConnection PortConnection; | 
|  | WINBOOL IsConnected; | 
|  | } KSJACK_DESCRIPTION; | 
|  | typedef KSJACK_DESCRIPTION *PKSJACK_DESCRIPTION; | 
|  | typedef struct _LUID { | 
|  | DWORD LowPart; | 
|  | LONG HighPart; | 
|  | } LUID; | 
|  | typedef struct _LUID *PLUID; | 
|  | typedef enum __WIDL_devicetopology_generated_name_0000001A { | 
|  | KSJACK_SINK_CONNECTIONTYPE_HDMI = 0, | 
|  | KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT = 1 | 
|  | } KSJACK_SINK_CONNECTIONTYPE; | 
|  | typedef struct _tagKSJACK_SINK_INFORMATION { | 
|  | KSJACK_SINK_CONNECTIONTYPE ConnType; | 
|  | WORD ManufacturerId; | 
|  | WORD ProductId; | 
|  | WORD AudioLatency; | 
|  | WINBOOL HDCPCapable; | 
|  | WINBOOL AICapable; | 
|  | UCHAR SinkDescriptionLength; | 
|  | WCHAR SinkDescription[32]; | 
|  | LUID PortId; | 
|  | } KSJACK_SINK_INFORMATION; | 
|  | typedef struct _tagKSJACK_DESCRIPTION2 { | 
|  | DWORD DeviceStateInfo; | 
|  | DWORD JackCapabilities; | 
|  | } KSJACK_DESCRIPTION2; | 
|  | typedef struct _tagKSJACK_DESCRIPTION2 *PKSJACK_DESCRIPTION2; | 
|  | #endif | 
|  | typedef enum __WIDL_devicetopology_generated_name_0000001B { | 
|  | In = 0, | 
|  | Out = 1 | 
|  | } DataFlow; | 
|  | typedef enum __WIDL_devicetopology_generated_name_0000001C { | 
|  | Connector = 0, | 
|  | Subunit = 1 | 
|  | } PartType; | 
|  | typedef enum __WIDL_devicetopology_generated_name_0000001D { | 
|  | Unknown_Connector = 0, | 
|  | Physical_Internal = 1, | 
|  | Physical_External = 2, | 
|  | Software_IO = 3, | 
|  | Software_Fixed = 4, | 
|  | Network = 5 | 
|  | } ConnectorType; | 
|  | /***************************************************************************** | 
|  | * IKsControl interface | 
|  | */ | 
|  | #ifndef __IKsControl_INTERFACE_DEFINED__ | 
|  | #define __IKsControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsControl, 0x28f54685, 0x06fd, 0x11d2, 0xb2,0x7a, 0x00,0xa0,0xc9,0x22,0x31,0x96); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("28f54685-06fd-11d2-b27a-00a0c9223196") | 
|  | IKsControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE KsProperty( | 
|  | PKSPROPERTY Property, | 
|  | ULONG PropertyLength, | 
|  | void *PropertyData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE KsMethod( | 
|  | PKSMETHOD Method, | 
|  | ULONG MethodLength, | 
|  | void *MethodData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE KsEvent( | 
|  | PKSEVENT Event, | 
|  | ULONG EventLength, | 
|  | void *EventData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsControl, 0x28f54685, 0x06fd, 0x11d2, 0xb2,0x7a, 0x00,0xa0,0xc9,0x22,0x31,0x96) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsControl* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsControl* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsControl* This); | 
|  |  | 
|  | /*** IKsControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *KsProperty)( | 
|  | IKsControl* This, | 
|  | PKSPROPERTY Property, | 
|  | ULONG PropertyLength, | 
|  | void *PropertyData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *KsMethod)( | 
|  | IKsControl* This, | 
|  | PKSMETHOD Method, | 
|  | ULONG MethodLength, | 
|  | void *MethodData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *KsEvent)( | 
|  | IKsControl* This, | 
|  | PKSEVENT Event, | 
|  | ULONG EventLength, | 
|  | void *EventData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsControlVtbl; | 
|  | interface IKsControl { | 
|  | CONST_VTBL IKsControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsControl methods ***/ | 
|  | #define IKsControl_KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) (This)->lpVtbl->KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned) | 
|  | #define IKsControl_KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) (This)->lpVtbl->KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned) | 
|  | #define IKsControl_KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) (This)->lpVtbl->KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IKsControl_QueryInterface(IKsControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsControl_AddRef(IKsControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsControl_Release(IKsControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsControl methods ***/ | 
|  | static FORCEINLINE HRESULT IKsControl_KsProperty(IKsControl* This,PKSPROPERTY Property,ULONG PropertyLength,void *PropertyData,ULONG DataLength,ULONG *BytesReturned) { | 
|  | return This->lpVtbl->KsProperty(This,Property,PropertyLength,PropertyData,DataLength,BytesReturned); | 
|  | } | 
|  | static FORCEINLINE HRESULT IKsControl_KsMethod(IKsControl* This,PKSMETHOD Method,ULONG MethodLength,void *MethodData,ULONG DataLength,ULONG *BytesReturned) { | 
|  | return This->lpVtbl->KsMethod(This,Method,MethodLength,MethodData,DataLength,BytesReturned); | 
|  | } | 
|  | static FORCEINLINE HRESULT IKsControl_KsEvent(IKsControl* This,PKSEVENT Event,ULONG EventLength,void *EventData,ULONG DataLength,ULONG *BytesReturned) { | 
|  | return This->lpVtbl->KsEvent(This,Event,EventLength,EventData,DataLength,BytesReturned); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IKsControl_KsProperty_Proxy( | 
|  | IKsControl* This, | 
|  | PKSPROPERTY Property, | 
|  | ULONG PropertyLength, | 
|  | void *PropertyData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  | void __RPC_STUB IKsControl_KsProperty_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IKsControl_KsMethod_Proxy( | 
|  | IKsControl* This, | 
|  | PKSMETHOD Method, | 
|  | ULONG MethodLength, | 
|  | void *MethodData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  | void __RPC_STUB IKsControl_KsMethod_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IKsControl_KsEvent_Proxy( | 
|  | IKsControl* This, | 
|  | PKSEVENT Event, | 
|  | ULONG EventLength, | 
|  | void *EventData, | 
|  | ULONG DataLength, | 
|  | ULONG *BytesReturned); | 
|  | void __RPC_STUB IKsControl_KsEvent_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IKsControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPerChannelDbLevel interface | 
|  | */ | 
|  | #ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__ | 
|  | #define __IPerChannelDbLevel_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IPerChannelDbLevel, 0xc2f8e001, 0xf205, 0x4bc9, 0x99,0xbc, 0xc1,0x3b,0x1e,0x04,0x8c,0xcb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c2f8e001-f205-4bc9-99bc-c13b1e048ccb") | 
|  | IPerChannelDbLevel : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetChannelCount( | 
|  | UINT *pcChannels) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLevelRange( | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLevel( | 
|  | UINT nChannel, | 
|  | float *pfLevelDB) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLevel( | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLevelUniform( | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLevelAllChannels( | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPerChannelDbLevel, 0xc2f8e001, 0xf205, 0x4bc9, 0x99,0xbc, 0xc1,0x3b,0x1e,0x04,0x8c,0xcb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPerChannelDbLevelVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPerChannelDbLevel* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPerChannelDbLevel* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPerChannelDbLevel* This); | 
|  |  | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevelRange)( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevel)( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelUniform)( | 
|  | IPerChannelDbLevel* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)( | 
|  | IPerChannelDbLevel* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPerChannelDbLevelVtbl; | 
|  | interface IPerChannelDbLevel { | 
|  | CONST_VTBL IPerChannelDbLevelVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPerChannelDbLevel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPerChannelDbLevel_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPerChannelDbLevel_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | #define IPerChannelDbLevel_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IPerChannelDbLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) | 
|  | #define IPerChannelDbLevel_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB) | 
|  | #define IPerChannelDbLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext) | 
|  | #define IPerChannelDbLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext) | 
|  | #define IPerChannelDbLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_QueryInterface(IPerChannelDbLevel* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IPerChannelDbLevel_AddRef(IPerChannelDbLevel* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IPerChannelDbLevel_Release(IPerChannelDbLevel* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_GetChannelCount(IPerChannelDbLevel* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_GetLevelRange(IPerChannelDbLevel* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) { | 
|  | return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_GetLevel(IPerChannelDbLevel* This,UINT nChannel,float *pfLevelDB) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevel(IPerChannelDbLevel* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevelUniform(IPerChannelDbLevel* This,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPerChannelDbLevel_SetLevelAllChannels(IPerChannelDbLevel* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_GetChannelCount_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT *pcChannels); | 
|  | void __RPC_STUB IPerChannelDbLevel_GetChannelCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_GetLevelRange_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  | void __RPC_STUB IPerChannelDbLevel_GetLevelRange_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_GetLevel_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  | void __RPC_STUB IPerChannelDbLevel_GetLevel_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_SetLevel_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IPerChannelDbLevel_SetLevel_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_SetLevelUniform_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IPerChannelDbLevel_SetLevelUniform_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPerChannelDbLevel_SetLevelAllChannels_Proxy( | 
|  | IPerChannelDbLevel* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IPerChannelDbLevel_SetLevelAllChannels_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IPerChannelDbLevel_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioVolumeLevel interface | 
|  | */ | 
|  | #ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__ | 
|  | #define __IAudioVolumeLevel_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioVolumeLevel, 0x7fb7b48f, 0x531d, 0x44a2, 0xbc,0xb3, 0x5a,0xd5,0xa1,0x34,0xb3,0xdc); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("7fb7b48f-531d-44a2-bcb3-5ad5a134b3dc") | 
|  | IAudioVolumeLevel : public IPerChannelDbLevel | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioVolumeLevel, 0x7fb7b48f, 0x531d, 0x44a2, 0xbc,0xb3, 0x5a,0xd5,0xa1,0x34,0xb3,0xdc) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioVolumeLevelVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioVolumeLevel* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioVolumeLevel* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioVolumeLevel* This); | 
|  |  | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IAudioVolumeLevel* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevelRange)( | 
|  | IAudioVolumeLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IAudioVolumeLevel* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevel)( | 
|  | IAudioVolumeLevel* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelUniform)( | 
|  | IAudioVolumeLevel* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)( | 
|  | IAudioVolumeLevel* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioVolumeLevelVtbl; | 
|  | interface IAudioVolumeLevel { | 
|  | CONST_VTBL IAudioVolumeLevelVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioVolumeLevel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioVolumeLevel_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioVolumeLevel_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | #define IAudioVolumeLevel_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IAudioVolumeLevel_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) | 
|  | #define IAudioVolumeLevel_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB) | 
|  | #define IAudioVolumeLevel_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext) | 
|  | #define IAudioVolumeLevel_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext) | 
|  | #define IAudioVolumeLevel_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_QueryInterface(IAudioVolumeLevel* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioVolumeLevel_AddRef(IAudioVolumeLevel* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioVolumeLevel_Release(IAudioVolumeLevel* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_GetChannelCount(IAudioVolumeLevel* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_GetLevelRange(IAudioVolumeLevel* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) { | 
|  | return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_GetLevel(IAudioVolumeLevel* This,UINT nChannel,float *pfLevelDB) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevel(IAudioVolumeLevel* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevelUniform(IAudioVolumeLevel* This,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioVolumeLevel_SetLevelAllChannels(IAudioVolumeLevel* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAudioVolumeLevel_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioChannelConfig interface | 
|  | */ | 
|  | #ifndef __IAudioChannelConfig_INTERFACE_DEFINED__ | 
|  | #define __IAudioChannelConfig_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioChannelConfig, 0xbb11c46f, 0xec28, 0x493c, 0xb8,0x8a, 0x5d,0xb8,0x80,0x62,0xce,0x98); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bb11c46f-ec28-493c-b88a-5db88062ce98") | 
|  | IAudioChannelConfig : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetChannelConfig( | 
|  | DWORD dwConfig, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetChannelConfig( | 
|  | DWORD dwConfig, | 
|  | DWORD *pdwConfig) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioChannelConfig, 0xbb11c46f, 0xec28, 0x493c, 0xb8,0x8a, 0x5d,0xb8,0x80,0x62,0xce,0x98) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioChannelConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioChannelConfig* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioChannelConfig* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioChannelConfig* This); | 
|  |  | 
|  | /*** IAudioChannelConfig methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelConfig)( | 
|  | IAudioChannelConfig* This, | 
|  | DWORD dwConfig, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelConfig)( | 
|  | IAudioChannelConfig* This, | 
|  | DWORD dwConfig, | 
|  | DWORD *pdwConfig); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioChannelConfigVtbl; | 
|  | interface IAudioChannelConfig { | 
|  | CONST_VTBL IAudioChannelConfigVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioChannelConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioChannelConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioChannelConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioChannelConfig methods ***/ | 
|  | #define IAudioChannelConfig_SetChannelConfig(This,dwConfig,pguidEventContext) (This)->lpVtbl->SetChannelConfig(This,dwConfig,pguidEventContext) | 
|  | #define IAudioChannelConfig_GetChannelConfig(This,dwConfig,pdwConfig) (This)->lpVtbl->GetChannelConfig(This,dwConfig,pdwConfig) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioChannelConfig_QueryInterface(IAudioChannelConfig* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioChannelConfig_AddRef(IAudioChannelConfig* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioChannelConfig_Release(IAudioChannelConfig* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioChannelConfig methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioChannelConfig_SetChannelConfig(IAudioChannelConfig* This,DWORD dwConfig,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetChannelConfig(This,dwConfig,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioChannelConfig_GetChannelConfig(IAudioChannelConfig* This,DWORD dwConfig,DWORD *pdwConfig) { | 
|  | return This->lpVtbl->GetChannelConfig(This,dwConfig,pdwConfig); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioChannelConfig_SetChannelConfig_Proxy( | 
|  | IAudioChannelConfig* This, | 
|  | DWORD dwConfig, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioChannelConfig_SetChannelConfig_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioChannelConfig_GetChannelConfig_Proxy( | 
|  | IAudioChannelConfig* This, | 
|  | DWORD dwConfig, | 
|  | DWORD *pdwConfig); | 
|  | void __RPC_STUB IAudioChannelConfig_GetChannelConfig_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioChannelConfig_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioLoudness interface | 
|  | */ | 
|  | #ifndef __IAudioLoudness_INTERFACE_DEFINED__ | 
|  | #define __IAudioLoudness_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioLoudness, 0x7d8b1437, 0xdd53, 0x4350, 0x9c,0x1b, 0x1e,0xe2,0x89,0x0b,0xf9,0x38); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("7d8b1437-dd53-4350-9c1b-1ee2890bf938") | 
|  | IAudioLoudness : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEnabled( | 
|  | WINBOOL *pbEnabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEnabled( | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioLoudness, 0x7d8b1437, 0xdd53, 0x4350, 0x9c,0x1b, 0x1e,0xe2,0x89,0x0b,0xf9,0x38) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioLoudnessVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioLoudness* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioLoudness* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioLoudness* This); | 
|  |  | 
|  | /*** IAudioLoudness methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetEnabled)( | 
|  | IAudioLoudness* This, | 
|  | WINBOOL *pbEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEnabled)( | 
|  | IAudioLoudness* This, | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioLoudnessVtbl; | 
|  | interface IAudioLoudness { | 
|  | CONST_VTBL IAudioLoudnessVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioLoudness_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioLoudness_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioLoudness_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioLoudness methods ***/ | 
|  | #define IAudioLoudness_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled) | 
|  | #define IAudioLoudness_SetEnabled(This,bEnabled,pguidEventContext) (This)->lpVtbl->SetEnabled(This,bEnabled,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioLoudness_QueryInterface(IAudioLoudness* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioLoudness_AddRef(IAudioLoudness* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioLoudness_Release(IAudioLoudness* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioLoudness methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioLoudness_GetEnabled(IAudioLoudness* This,WINBOOL *pbEnabled) { | 
|  | return This->lpVtbl->GetEnabled(This,pbEnabled); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioLoudness_SetEnabled(IAudioLoudness* This,WINBOOL bEnabled,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetEnabled(This,bEnabled,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioLoudness_GetEnabled_Proxy( | 
|  | IAudioLoudness* This, | 
|  | WINBOOL *pbEnabled); | 
|  | void __RPC_STUB IAudioLoudness_GetEnabled_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioLoudness_SetEnabled_Proxy( | 
|  | IAudioLoudness* This, | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioLoudness_SetEnabled_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioLoudness_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioInputSelector interface | 
|  | */ | 
|  | #ifndef __IAudioInputSelector_INTERFACE_DEFINED__ | 
|  | #define __IAudioInputSelector_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioInputSelector, 0x4f03dc02, 0x5e6e, 0x4653, 0x8f,0x72, 0xa0,0x30,0xc1,0x23,0xd5,0x98); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("4f03dc02-5e6e-4653-8f72-a030c123d598") | 
|  | IAudioInputSelector : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSelection( | 
|  | UINT *pnIdSelected) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSelection( | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioInputSelector, 0x4f03dc02, 0x5e6e, 0x4653, 0x8f,0x72, 0xa0,0x30,0xc1,0x23,0xd5,0x98) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioInputSelectorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioInputSelector* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioInputSelector* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioInputSelector* This); | 
|  |  | 
|  | /*** IAudioInputSelector methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetSelection)( | 
|  | IAudioInputSelector* This, | 
|  | UINT *pnIdSelected); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSelection)( | 
|  | IAudioInputSelector* This, | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioInputSelectorVtbl; | 
|  | interface IAudioInputSelector { | 
|  | CONST_VTBL IAudioInputSelectorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioInputSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioInputSelector_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioInputSelector_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioInputSelector methods ***/ | 
|  | #define IAudioInputSelector_GetSelection(This,pnIdSelected) (This)->lpVtbl->GetSelection(This,pnIdSelected) | 
|  | #define IAudioInputSelector_SetSelection(This,nIdSelect,pguidEventContext) (This)->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioInputSelector_QueryInterface(IAudioInputSelector* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioInputSelector_AddRef(IAudioInputSelector* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioInputSelector_Release(IAudioInputSelector* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioInputSelector methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioInputSelector_GetSelection(IAudioInputSelector* This,UINT *pnIdSelected) { | 
|  | return This->lpVtbl->GetSelection(This,pnIdSelected); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioInputSelector_SetSelection(IAudioInputSelector* This,UINT nIdSelect,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioInputSelector_GetSelection_Proxy( | 
|  | IAudioInputSelector* This, | 
|  | UINT *pnIdSelected); | 
|  | void __RPC_STUB IAudioInputSelector_GetSelection_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioInputSelector_SetSelection_Proxy( | 
|  | IAudioInputSelector* This, | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioInputSelector_SetSelection_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioInputSelector_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioOutputSelector interface | 
|  | */ | 
|  | #ifndef __IAudioOutputSelector_INTERFACE_DEFINED__ | 
|  | #define __IAudioOutputSelector_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioOutputSelector, 0xbb515f69, 0x94a7, 0x429e, 0x8b,0x9c, 0x27,0x1b,0x3f,0x11,0xa3,0xab); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bb515f69-94a7-429e-8b9c-271b3f11a3ab") | 
|  | IAudioOutputSelector : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSelection( | 
|  | UINT *pnIdSelected) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSelection( | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioOutputSelector, 0xbb515f69, 0x94a7, 0x429e, 0x8b,0x9c, 0x27,0x1b,0x3f,0x11,0xa3,0xab) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioOutputSelectorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioOutputSelector* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioOutputSelector* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioOutputSelector* This); | 
|  |  | 
|  | /*** IAudioOutputSelector methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetSelection)( | 
|  | IAudioOutputSelector* This, | 
|  | UINT *pnIdSelected); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSelection)( | 
|  | IAudioOutputSelector* This, | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioOutputSelectorVtbl; | 
|  | interface IAudioOutputSelector { | 
|  | CONST_VTBL IAudioOutputSelectorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioOutputSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioOutputSelector_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioOutputSelector_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioOutputSelector methods ***/ | 
|  | #define IAudioOutputSelector_GetSelection(This,pnIdSelected) (This)->lpVtbl->GetSelection(This,pnIdSelected) | 
|  | #define IAudioOutputSelector_SetSelection(This,nIdSelect,pguidEventContext) (This)->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioOutputSelector_QueryInterface(IAudioOutputSelector* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioOutputSelector_AddRef(IAudioOutputSelector* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioOutputSelector_Release(IAudioOutputSelector* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioOutputSelector methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioOutputSelector_GetSelection(IAudioOutputSelector* This,UINT *pnIdSelected) { | 
|  | return This->lpVtbl->GetSelection(This,pnIdSelected); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioOutputSelector_SetSelection(IAudioOutputSelector* This,UINT nIdSelect,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetSelection(This,nIdSelect,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioOutputSelector_GetSelection_Proxy( | 
|  | IAudioOutputSelector* This, | 
|  | UINT *pnIdSelected); | 
|  | void __RPC_STUB IAudioOutputSelector_GetSelection_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioOutputSelector_SetSelection_Proxy( | 
|  | IAudioOutputSelector* This, | 
|  | UINT nIdSelect, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioOutputSelector_SetSelection_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioOutputSelector_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioMute interface | 
|  | */ | 
|  | #ifndef __IAudioMute_INTERFACE_DEFINED__ | 
|  | #define __IAudioMute_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioMute, 0xdf45aeea, 0xb74a, 0x4b6b, 0xaf,0xad, 0x23,0x66,0xb6,0xaa,0x01,0x2e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("df45aeea-b74a-4b6b-afad-2366b6aa012e") | 
|  | IAudioMute : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMute( | 
|  | WINBOOL bMute, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMute( | 
|  | WINBOOL *pbMute) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioMute, 0xdf45aeea, 0xb74a, 0x4b6b, 0xaf,0xad, 0x23,0x66,0xb6,0xaa,0x01,0x2e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioMuteVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioMute* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioMute* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioMute* This); | 
|  |  | 
|  | /*** IAudioMute methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetMute)( | 
|  | IAudioMute* This, | 
|  | WINBOOL bMute, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMute)( | 
|  | IAudioMute* This, | 
|  | WINBOOL *pbMute); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioMuteVtbl; | 
|  | interface IAudioMute { | 
|  | CONST_VTBL IAudioMuteVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioMute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioMute_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioMute_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioMute methods ***/ | 
|  | #define IAudioMute_SetMute(This,bMute,pguidEventContext) (This)->lpVtbl->SetMute(This,bMute,pguidEventContext) | 
|  | #define IAudioMute_GetMute(This,pbMute) (This)->lpVtbl->GetMute(This,pbMute) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioMute_QueryInterface(IAudioMute* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioMute_AddRef(IAudioMute* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioMute_Release(IAudioMute* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioMute methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioMute_SetMute(IAudioMute* This,WINBOOL bMute,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetMute(This,bMute,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMute_GetMute(IAudioMute* This,WINBOOL *pbMute) { | 
|  | return This->lpVtbl->GetMute(This,pbMute); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioMute_SetMute_Proxy( | 
|  | IAudioMute* This, | 
|  | WINBOOL bMute, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioMute_SetMute_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioMute_GetMute_Proxy( | 
|  | IAudioMute* This, | 
|  | WINBOOL *pbMute); | 
|  | void __RPC_STUB IAudioMute_GetMute_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioMute_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioBass interface | 
|  | */ | 
|  | #ifndef __IAudioBass_INTERFACE_DEFINED__ | 
|  | #define __IAudioBass_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioBass, 0xa2b1a1d9, 0x4db3, 0x425d, 0xa2,0xb2, 0xbd,0x33,0x5c,0xb3,0xe2,0xe5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a2b1a1d9-4db3-425d-a2b2-bd335cb3e2e5") | 
|  | IAudioBass : public IPerChannelDbLevel | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioBass, 0xa2b1a1d9, 0x4db3, 0x425d, 0xa2,0xb2, 0xbd,0x33,0x5c,0xb3,0xe2,0xe5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioBassVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioBass* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioBass* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioBass* This); | 
|  |  | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IAudioBass* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevelRange)( | 
|  | IAudioBass* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IAudioBass* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevel)( | 
|  | IAudioBass* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelUniform)( | 
|  | IAudioBass* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)( | 
|  | IAudioBass* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioBassVtbl; | 
|  | interface IAudioBass { | 
|  | CONST_VTBL IAudioBassVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioBass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioBass_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioBass_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | #define IAudioBass_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IAudioBass_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) | 
|  | #define IAudioBass_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB) | 
|  | #define IAudioBass_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext) | 
|  | #define IAudioBass_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext) | 
|  | #define IAudioBass_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioBass_QueryInterface(IAudioBass* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioBass_AddRef(IAudioBass* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioBass_Release(IAudioBass* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioBass_GetChannelCount(IAudioBass* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioBass_GetLevelRange(IAudioBass* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) { | 
|  | return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioBass_GetLevel(IAudioBass* This,UINT nChannel,float *pfLevelDB) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioBass_SetLevel(IAudioBass* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioBass_SetLevelUniform(IAudioBass* This,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioBass_SetLevelAllChannels(IAudioBass* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAudioBass_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioMidRange interface | 
|  | */ | 
|  | #ifndef __IAudioMidRange_INTERFACE_DEFINED__ | 
|  | #define __IAudioMidRange_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioMidRange, 0x5e54b6d7, 0xb44b, 0x40d9, 0x9a,0x9e, 0xe6,0x91,0xd9,0xce,0x6e,0xdf); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5e54b6d7-b44b-40d9-9a9e-e691d9ce6edf") | 
|  | IAudioMidRange : public IPerChannelDbLevel | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioMidRange, 0x5e54b6d7, 0xb44b, 0x40d9, 0x9a,0x9e, 0xe6,0x91,0xd9,0xce,0x6e,0xdf) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioMidRangeVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioMidRange* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioMidRange* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioMidRange* This); | 
|  |  | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IAudioMidRange* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevelRange)( | 
|  | IAudioMidRange* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IAudioMidRange* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevel)( | 
|  | IAudioMidRange* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelUniform)( | 
|  | IAudioMidRange* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)( | 
|  | IAudioMidRange* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioMidRangeVtbl; | 
|  | interface IAudioMidRange { | 
|  | CONST_VTBL IAudioMidRangeVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioMidRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioMidRange_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioMidRange_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | #define IAudioMidRange_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IAudioMidRange_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) | 
|  | #define IAudioMidRange_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB) | 
|  | #define IAudioMidRange_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext) | 
|  | #define IAudioMidRange_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext) | 
|  | #define IAudioMidRange_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioMidRange_QueryInterface(IAudioMidRange* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioMidRange_AddRef(IAudioMidRange* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioMidRange_Release(IAudioMidRange* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioMidRange_GetChannelCount(IAudioMidRange* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMidRange_GetLevelRange(IAudioMidRange* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) { | 
|  | return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMidRange_GetLevel(IAudioMidRange* This,UINT nChannel,float *pfLevelDB) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMidRange_SetLevel(IAudioMidRange* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMidRange_SetLevelUniform(IAudioMidRange* This,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioMidRange_SetLevelAllChannels(IAudioMidRange* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAudioMidRange_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioTreble interface | 
|  | */ | 
|  | #ifndef __IAudioTreble_INTERFACE_DEFINED__ | 
|  | #define __IAudioTreble_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioTreble, 0x0a717812, 0x694e, 0x4907, 0xb7,0x4b, 0xba,0xfa,0x5c,0xfd,0xca,0x7b); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0a717812-694e-4907-b74b-bafa5cfdca7b") | 
|  | IAudioTreble : public IPerChannelDbLevel | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioTreble, 0x0a717812, 0x694e, 0x4907, 0xb7,0x4b, 0xba,0xfa,0x5c,0xfd,0xca,0x7b) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioTrebleVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioTreble* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioTreble* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioTreble* This); | 
|  |  | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IAudioTreble* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevelRange)( | 
|  | IAudioTreble* This, | 
|  | UINT nChannel, | 
|  | float *pfMinLevelDB, | 
|  | float *pfMaxLevelDB, | 
|  | float *pfStepping); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IAudioTreble* This, | 
|  | UINT nChannel, | 
|  | float *pfLevelDB); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevel)( | 
|  | IAudioTreble* This, | 
|  | UINT nChannel, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelUniform)( | 
|  | IAudioTreble* This, | 
|  | float fLevelDB, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLevelAllChannels)( | 
|  | IAudioTreble* This, | 
|  | float *aLevelsDB, | 
|  | ULONG cChannels, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioTrebleVtbl; | 
|  | interface IAudioTreble { | 
|  | CONST_VTBL IAudioTrebleVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioTreble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioTreble_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioTreble_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | #define IAudioTreble_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IAudioTreble_GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) (This)->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping) | 
|  | #define IAudioTreble_GetLevel(This,nChannel,pfLevelDB) (This)->lpVtbl->GetLevel(This,nChannel,pfLevelDB) | 
|  | #define IAudioTreble_SetLevel(This,nChannel,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext) | 
|  | #define IAudioTreble_SetLevelUniform(This,fLevelDB,pguidEventContext) (This)->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext) | 
|  | #define IAudioTreble_SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) (This)->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioTreble_QueryInterface(IAudioTreble* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioTreble_AddRef(IAudioTreble* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioTreble_Release(IAudioTreble* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPerChannelDbLevel methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioTreble_GetChannelCount(IAudioTreble* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioTreble_GetLevelRange(IAudioTreble* This,UINT nChannel,float *pfMinLevelDB,float *pfMaxLevelDB,float *pfStepping) { | 
|  | return This->lpVtbl->GetLevelRange(This,nChannel,pfMinLevelDB,pfMaxLevelDB,pfStepping); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioTreble_GetLevel(IAudioTreble* This,UINT nChannel,float *pfLevelDB) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevelDB); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioTreble_SetLevel(IAudioTreble* This,UINT nChannel,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevel(This,nChannel,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioTreble_SetLevelUniform(IAudioTreble* This,float fLevelDB,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelUniform(This,fLevelDB,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioTreble_SetLevelAllChannels(IAudioTreble* This,float *aLevelsDB,ULONG cChannels,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetLevelAllChannels(This,aLevelsDB,cChannels,pguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAudioTreble_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioAutoGainControl interface | 
|  | */ | 
|  | #ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__ | 
|  | #define __IAudioAutoGainControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioAutoGainControl, 0x85401fd4, 0x6de4, 0x4b9d, 0x98,0x69, 0x2d,0x67,0x53,0xa8,0x2f,0x3c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("85401fd4-6de4-4b9d-9869-2d6753a82f3c") | 
|  | IAudioAutoGainControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEnabled( | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMute( | 
|  | WINBOOL *pbEnabled) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioAutoGainControl, 0x85401fd4, 0x6de4, 0x4b9d, 0x98,0x69, 0x2d,0x67,0x53,0xa8,0x2f,0x3c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioAutoGainControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioAutoGainControl* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioAutoGainControl* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioAutoGainControl* This); | 
|  |  | 
|  | /*** IAudioAutoGainControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetEnabled)( | 
|  | IAudioAutoGainControl* This, | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMute)( | 
|  | IAudioAutoGainControl* This, | 
|  | WINBOOL *pbEnabled); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioAutoGainControlVtbl; | 
|  | interface IAudioAutoGainControl { | 
|  | CONST_VTBL IAudioAutoGainControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioAutoGainControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioAutoGainControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioAutoGainControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioAutoGainControl methods ***/ | 
|  | #define IAudioAutoGainControl_GetEnabled(This,bEnabled,pguidEventContext) (This)->lpVtbl->GetEnabled(This,bEnabled,pguidEventContext) | 
|  | #define IAudioAutoGainControl_GetMute(This,pbEnabled) (This)->lpVtbl->GetMute(This,pbEnabled) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioAutoGainControl_QueryInterface(IAudioAutoGainControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioAutoGainControl_AddRef(IAudioAutoGainControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioAutoGainControl_Release(IAudioAutoGainControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioAutoGainControl methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioAutoGainControl_GetEnabled(IAudioAutoGainControl* This,WINBOOL bEnabled,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->GetEnabled(This,bEnabled,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioAutoGainControl_GetMute(IAudioAutoGainControl* This,WINBOOL *pbEnabled) { | 
|  | return This->lpVtbl->GetMute(This,pbEnabled); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioAutoGainControl_GetEnabled_Proxy( | 
|  | IAudioAutoGainControl* This, | 
|  | WINBOOL bEnabled, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IAudioAutoGainControl_GetEnabled_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioAutoGainControl_GetMute_Proxy( | 
|  | IAudioAutoGainControl* This, | 
|  | WINBOOL *pbEnabled); | 
|  | void __RPC_STUB IAudioAutoGainControl_GetMute_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioAutoGainControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAudioPeakMeter interface | 
|  | */ | 
|  | #ifndef __IAudioPeakMeter_INTERFACE_DEFINED__ | 
|  | #define __IAudioPeakMeter_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAudioPeakMeter, 0xdd79923c, 0x0599, 0x45e0, 0xb8,0xb6, 0xc8,0xdf,0x7d,0xb6,0xe7,0x96); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("dd79923c-0599-45e0-b8b6-c8df7db6e796") | 
|  | IAudioPeakMeter : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetChannelCount( | 
|  | UINT *pcChannels) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLevel( | 
|  | UINT nChannel, | 
|  | float *pfLevel) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAudioPeakMeter, 0xdd79923c, 0x0599, 0x45e0, 0xb8,0xb6, 0xc8,0xdf,0x7d,0xb6,0xe7,0x96) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAudioPeakMeterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAudioPeakMeter* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAudioPeakMeter* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAudioPeakMeter* This); | 
|  |  | 
|  | /*** IAudioPeakMeter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetChannelCount)( | 
|  | IAudioPeakMeter* This, | 
|  | UINT *pcChannels); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLevel)( | 
|  | IAudioPeakMeter* This, | 
|  | UINT nChannel, | 
|  | float *pfLevel); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAudioPeakMeterVtbl; | 
|  | interface IAudioPeakMeter { | 
|  | CONST_VTBL IAudioPeakMeterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAudioPeakMeter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAudioPeakMeter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAudioPeakMeter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAudioPeakMeter methods ***/ | 
|  | #define IAudioPeakMeter_GetChannelCount(This,pcChannels) (This)->lpVtbl->GetChannelCount(This,pcChannels) | 
|  | #define IAudioPeakMeter_GetLevel(This,nChannel,pfLevel) (This)->lpVtbl->GetLevel(This,nChannel,pfLevel) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioPeakMeter_QueryInterface(IAudioPeakMeter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioPeakMeter_AddRef(IAudioPeakMeter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IAudioPeakMeter_Release(IAudioPeakMeter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAudioPeakMeter methods ***/ | 
|  | static FORCEINLINE HRESULT IAudioPeakMeter_GetChannelCount(IAudioPeakMeter* This,UINT *pcChannels) { | 
|  | return This->lpVtbl->GetChannelCount(This,pcChannels); | 
|  | } | 
|  | static FORCEINLINE HRESULT IAudioPeakMeter_GetLevel(IAudioPeakMeter* This,UINT nChannel,float *pfLevel) { | 
|  | return This->lpVtbl->GetLevel(This,nChannel,pfLevel); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IAudioPeakMeter_GetChannelCount_Proxy( | 
|  | IAudioPeakMeter* This, | 
|  | UINT *pcChannels); | 
|  | void __RPC_STUB IAudioPeakMeter_GetChannelCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IAudioPeakMeter_GetLevel_Proxy( | 
|  | IAudioPeakMeter* This, | 
|  | UINT nChannel, | 
|  | float *pfLevel); | 
|  | void __RPC_STUB IAudioPeakMeter_GetLevel_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IAudioPeakMeter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IDeviceSpecificProperty interface | 
|  | */ | 
|  | #ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__ | 
|  | #define __IDeviceSpecificProperty_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IDeviceSpecificProperty, 0x3b22bcbf, 0x2586, 0x4af0, 0x85,0x83, 0x20,0x5d,0x39,0x1b,0x80,0x7c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3b22bcbf-2586-4af0-8583-205d391b807c") | 
|  | IDeviceSpecificProperty : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | VARTYPE *pVType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetValue( | 
|  | VARTYPE *pvType, | 
|  | DWORD *pcbValue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetValue( | 
|  | void *pvValue, | 
|  | DWORD cbValue, | 
|  | LPCGUID pguidEventContext) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Get4BRange( | 
|  | LONG *plMin, | 
|  | LONG *plMax, | 
|  | LONG *plStepping) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IDeviceSpecificProperty, 0x3b22bcbf, 0x2586, 0x4af0, 0x85,0x83, 0x20,0x5d,0x39,0x1b,0x80,0x7c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IDeviceSpecificPropertyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IDeviceSpecificProperty* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IDeviceSpecificProperty* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IDeviceSpecificProperty* This); | 
|  |  | 
|  | /*** IDeviceSpecificProperty methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | IDeviceSpecificProperty* This, | 
|  | VARTYPE *pVType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetValue)( | 
|  | IDeviceSpecificProperty* This, | 
|  | VARTYPE *pvType, | 
|  | DWORD *pcbValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetValue)( | 
|  | IDeviceSpecificProperty* This, | 
|  | void *pvValue, | 
|  | DWORD cbValue, | 
|  | LPCGUID pguidEventContext); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Get4BRange)( | 
|  | IDeviceSpecificProperty* This, | 
|  | LONG *plMin, | 
|  | LONG *plMax, | 
|  | LONG *plStepping); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IDeviceSpecificPropertyVtbl; | 
|  | interface IDeviceSpecificProperty { | 
|  | CONST_VTBL IDeviceSpecificPropertyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IDeviceSpecificProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDeviceSpecificProperty_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDeviceSpecificProperty_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDeviceSpecificProperty methods ***/ | 
|  | #define IDeviceSpecificProperty_GetType(This,pVType) (This)->lpVtbl->GetType(This,pVType) | 
|  | #define IDeviceSpecificProperty_GetValue(This,pvType,pcbValue) (This)->lpVtbl->GetValue(This,pvType,pcbValue) | 
|  | #define IDeviceSpecificProperty_SetValue(This,pvValue,cbValue,pguidEventContext) (This)->lpVtbl->SetValue(This,pvValue,cbValue,pguidEventContext) | 
|  | #define IDeviceSpecificProperty_Get4BRange(This,plMin,plMax,plStepping) (This)->lpVtbl->Get4BRange(This,plMin,plMax,plStepping) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IDeviceSpecificProperty_QueryInterface(IDeviceSpecificProperty* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IDeviceSpecificProperty_AddRef(IDeviceSpecificProperty* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IDeviceSpecificProperty_Release(IDeviceSpecificProperty* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDeviceSpecificProperty methods ***/ | 
|  | static FORCEINLINE HRESULT IDeviceSpecificProperty_GetType(IDeviceSpecificProperty* This,VARTYPE *pVType) { | 
|  | return This->lpVtbl->GetType(This,pVType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceSpecificProperty_GetValue(IDeviceSpecificProperty* This,VARTYPE *pvType,DWORD *pcbValue) { | 
|  | return This->lpVtbl->GetValue(This,pvType,pcbValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceSpecificProperty_SetValue(IDeviceSpecificProperty* This,void *pvValue,DWORD cbValue,LPCGUID pguidEventContext) { | 
|  | return This->lpVtbl->SetValue(This,pvValue,cbValue,pguidEventContext); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceSpecificProperty_Get4BRange(IDeviceSpecificProperty* This,LONG *plMin,LONG *plMax,LONG *plStepping) { | 
|  | return This->lpVtbl->Get4BRange(This,plMin,plMax,plStepping); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IDeviceSpecificProperty_GetType_Proxy( | 
|  | IDeviceSpecificProperty* This, | 
|  | VARTYPE *pVType); | 
|  | void __RPC_STUB IDeviceSpecificProperty_GetType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceSpecificProperty_GetValue_Proxy( | 
|  | IDeviceSpecificProperty* This, | 
|  | VARTYPE *pvType, | 
|  | DWORD *pcbValue); | 
|  | void __RPC_STUB IDeviceSpecificProperty_GetValue_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceSpecificProperty_SetValue_Proxy( | 
|  | IDeviceSpecificProperty* This, | 
|  | void *pvValue, | 
|  | DWORD cbValue, | 
|  | LPCGUID pguidEventContext); | 
|  | void __RPC_STUB IDeviceSpecificProperty_SetValue_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceSpecificProperty_Get4BRange_Proxy( | 
|  | IDeviceSpecificProperty* This, | 
|  | LONG *plMin, | 
|  | LONG *plMax, | 
|  | LONG *plStepping); | 
|  | void __RPC_STUB IDeviceSpecificProperty_Get4BRange_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IDeviceSpecificProperty_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IKsFormatSupport interface | 
|  | */ | 
|  | #ifndef __IKsFormatSupport_INTERFACE_DEFINED__ | 
|  | #define __IKsFormatSupport_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsFormatSupport, 0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95,0xb7, 0x45,0x2d,0x2c,0x15,0x5d,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3cb4a69d-bb6f-4d2b-95b7-452d2c155db5") | 
|  | IKsFormatSupport : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( | 
|  | PKSDATAFORMAT pKsFormat, | 
|  | DWORD cbFormat, | 
|  | WINBOOL *pbSupported) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat( | 
|  | PKSDATAFORMAT *ppKsFormat) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsFormatSupport, 0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95,0xb7, 0x45,0x2d,0x2c,0x15,0x5d,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsFormatSupportVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsFormatSupport* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsFormatSupport* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsFormatSupport* This); | 
|  |  | 
|  | /*** IKsFormatSupport methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( | 
|  | IKsFormatSupport* This, | 
|  | PKSDATAFORMAT pKsFormat, | 
|  | DWORD cbFormat, | 
|  | WINBOOL *pbSupported); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDevicePreferredFormat)( | 
|  | IKsFormatSupport* This, | 
|  | PKSDATAFORMAT *ppKsFormat); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsFormatSupportVtbl; | 
|  | interface IKsFormatSupport { | 
|  | CONST_VTBL IKsFormatSupportVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsFormatSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsFormatSupport_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsFormatSupport_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsFormatSupport methods ***/ | 
|  | #define IKsFormatSupport_IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) (This)->lpVtbl->IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) | 
|  | #define IKsFormatSupport_GetDevicePreferredFormat(This,ppKsFormat) (This)->lpVtbl->GetDevicePreferredFormat(This,ppKsFormat) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IKsFormatSupport_QueryInterface(IKsFormatSupport* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsFormatSupport_AddRef(IKsFormatSupport* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsFormatSupport_Release(IKsFormatSupport* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsFormatSupport methods ***/ | 
|  | static FORCEINLINE HRESULT IKsFormatSupport_IsFormatSupported(IKsFormatSupport* This,PKSDATAFORMAT pKsFormat,DWORD cbFormat,WINBOOL *pbSupported) { | 
|  | return This->lpVtbl->IsFormatSupported(This,pKsFormat,cbFormat,pbSupported); | 
|  | } | 
|  | static FORCEINLINE HRESULT IKsFormatSupport_GetDevicePreferredFormat(IKsFormatSupport* This,PKSDATAFORMAT *ppKsFormat) { | 
|  | return This->lpVtbl->GetDevicePreferredFormat(This,ppKsFormat); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IKsFormatSupport_IsFormatSupported_Proxy( | 
|  | IKsFormatSupport* This, | 
|  | PKSDATAFORMAT pKsFormat, | 
|  | DWORD cbFormat, | 
|  | WINBOOL *pbSupported); | 
|  | void __RPC_STUB IKsFormatSupport_IsFormatSupported_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IKsFormatSupport_GetDevicePreferredFormat_Proxy( | 
|  | IKsFormatSupport* This, | 
|  | PKSDATAFORMAT *ppKsFormat); | 
|  | void __RPC_STUB IKsFormatSupport_GetDevicePreferredFormat_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IKsFormatSupport_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IKsJackDescription interface | 
|  | */ | 
|  | #ifndef __IKsJackDescription_INTERFACE_DEFINED__ | 
|  | #define __IKsJackDescription_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsJackDescription, 0x4509f757, 0x2d46, 0x4637, 0x8e,0x62, 0xce,0x7d,0xb9,0x44,0xf5,0x7b); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("4509f757-2d46-4637-8e62-ce7db944f57b") | 
|  | IKsJackDescription : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetJackCount( | 
|  | UINT *pcJacks) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetJackDescription( | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION *pDescription) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsJackDescription, 0x4509f757, 0x2d46, 0x4637, 0x8e,0x62, 0xce,0x7d,0xb9,0x44,0xf5,0x7b) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsJackDescriptionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsJackDescription* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsJackDescription* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsJackDescription* This); | 
|  |  | 
|  | /*** IKsJackDescription methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetJackCount)( | 
|  | IKsJackDescription* This, | 
|  | UINT *pcJacks); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetJackDescription)( | 
|  | IKsJackDescription* This, | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION *pDescription); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsJackDescriptionVtbl; | 
|  | interface IKsJackDescription { | 
|  | CONST_VTBL IKsJackDescriptionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsJackDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsJackDescription_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsJackDescription_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsJackDescription methods ***/ | 
|  | #define IKsJackDescription_GetJackCount(This,pcJacks) (This)->lpVtbl->GetJackCount(This,pcJacks) | 
|  | #define IKsJackDescription_GetJackDescription(This,nJack,pDescription) (This)->lpVtbl->GetJackDescription(This,nJack,pDescription) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackDescription_QueryInterface(IKsJackDescription* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackDescription_AddRef(IKsJackDescription* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackDescription_Release(IKsJackDescription* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsJackDescription methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackDescription_GetJackCount(IKsJackDescription* This,UINT *pcJacks) { | 
|  | return This->lpVtbl->GetJackCount(This,pcJacks); | 
|  | } | 
|  | static FORCEINLINE HRESULT IKsJackDescription_GetJackDescription(IKsJackDescription* This,UINT nJack,KSJACK_DESCRIPTION *pDescription) { | 
|  | return This->lpVtbl->GetJackDescription(This,nJack,pDescription); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IKsJackDescription_GetJackCount_Proxy( | 
|  | IKsJackDescription* This, | 
|  | UINT *pcJacks); | 
|  | void __RPC_STUB IKsJackDescription_GetJackCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IKsJackDescription_GetJackDescription_Proxy( | 
|  | IKsJackDescription* This, | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION *pDescription); | 
|  | void __RPC_STUB IKsJackDescription_GetJackDescription_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IKsJackDescription_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IKsJackDescription2 interface | 
|  | */ | 
|  | #ifndef __IKsJackDescription2_INTERFACE_DEFINED__ | 
|  | #define __IKsJackDescription2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsJackDescription2, 0x478f3a9b, 0xe0c9, 0x4827, 0x92,0x28, 0x6f,0x55,0x05,0xff,0xe7,0x6a); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("478f3a9b-e0c9-4827-9228-6f5505ffe76a") | 
|  | IKsJackDescription2 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetJackCount( | 
|  | UINT *pcJacks) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetJackDescription2( | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION2 *pDescription2) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsJackDescription2, 0x478f3a9b, 0xe0c9, 0x4827, 0x92,0x28, 0x6f,0x55,0x05,0xff,0xe7,0x6a) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsJackDescription2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsJackDescription2* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsJackDescription2* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsJackDescription2* This); | 
|  |  | 
|  | /*** IKsJackDescription2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetJackCount)( | 
|  | IKsJackDescription2* This, | 
|  | UINT *pcJacks); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetJackDescription2)( | 
|  | IKsJackDescription2* This, | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION2 *pDescription2); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsJackDescription2Vtbl; | 
|  | interface IKsJackDescription2 { | 
|  | CONST_VTBL IKsJackDescription2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsJackDescription2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsJackDescription2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsJackDescription2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsJackDescription2 methods ***/ | 
|  | #define IKsJackDescription2_GetJackCount(This,pcJacks) (This)->lpVtbl->GetJackCount(This,pcJacks) | 
|  | #define IKsJackDescription2_GetJackDescription2(This,nJack,pDescription2) (This)->lpVtbl->GetJackDescription2(This,nJack,pDescription2) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackDescription2_QueryInterface(IKsJackDescription2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackDescription2_AddRef(IKsJackDescription2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackDescription2_Release(IKsJackDescription2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsJackDescription2 methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackDescription2_GetJackCount(IKsJackDescription2* This,UINT *pcJacks) { | 
|  | return This->lpVtbl->GetJackCount(This,pcJacks); | 
|  | } | 
|  | static FORCEINLINE HRESULT IKsJackDescription2_GetJackDescription2(IKsJackDescription2* This,UINT nJack,KSJACK_DESCRIPTION2 *pDescription2) { | 
|  | return This->lpVtbl->GetJackDescription2(This,nJack,pDescription2); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IKsJackDescription2_GetJackCount_Proxy( | 
|  | IKsJackDescription2* This, | 
|  | UINT *pcJacks); | 
|  | void __RPC_STUB IKsJackDescription2_GetJackCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IKsJackDescription2_GetJackDescription2_Proxy( | 
|  | IKsJackDescription2* This, | 
|  | UINT nJack, | 
|  | KSJACK_DESCRIPTION2 *pDescription2); | 
|  | void __RPC_STUB IKsJackDescription2_GetJackDescription2_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IKsJackDescription2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IKsJackSinkInformation interface | 
|  | */ | 
|  | #ifndef __IKsJackSinkInformation_INTERFACE_DEFINED__ | 
|  | #define __IKsJackSinkInformation_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsJackSinkInformation, 0xd9bd72ed, 0x290f, 0x4581, 0x9f,0xf3, 0x61,0x02,0x7a,0x8f,0xe5,0x32); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("d9bd72ed-290f-4581-9ff3-61027a8fe532") | 
|  | IKsJackSinkInformation : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetJackSinkInformation( | 
|  | KSJACK_SINK_INFORMATION *pJackSinkInformation) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsJackSinkInformation, 0xd9bd72ed, 0x290f, 0x4581, 0x9f,0xf3, 0x61,0x02,0x7a,0x8f,0xe5,0x32) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsJackSinkInformationVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsJackSinkInformation* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsJackSinkInformation* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsJackSinkInformation* This); | 
|  |  | 
|  | /*** IKsJackSinkInformation methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetJackSinkInformation)( | 
|  | IKsJackSinkInformation* This, | 
|  | KSJACK_SINK_INFORMATION *pJackSinkInformation); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsJackSinkInformationVtbl; | 
|  | interface IKsJackSinkInformation { | 
|  | CONST_VTBL IKsJackSinkInformationVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsJackSinkInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsJackSinkInformation_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsJackSinkInformation_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsJackSinkInformation methods ***/ | 
|  | #define IKsJackSinkInformation_GetJackSinkInformation(This,pJackSinkInformation) (This)->lpVtbl->GetJackSinkInformation(This,pJackSinkInformation) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackSinkInformation_QueryInterface(IKsJackSinkInformation* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackSinkInformation_AddRef(IKsJackSinkInformation* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IKsJackSinkInformation_Release(IKsJackSinkInformation* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsJackSinkInformation methods ***/ | 
|  | static FORCEINLINE HRESULT IKsJackSinkInformation_GetJackSinkInformation(IKsJackSinkInformation* This,KSJACK_SINK_INFORMATION *pJackSinkInformation) { | 
|  | return This->lpVtbl->GetJackSinkInformation(This,pJackSinkInformation); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IKsJackSinkInformation_GetJackSinkInformation_Proxy( | 
|  | IKsJackSinkInformation* This, | 
|  | KSJACK_SINK_INFORMATION *pJackSinkInformation); | 
|  | void __RPC_STUB IKsJackSinkInformation_GetJackSinkInformation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IKsJackSinkInformation_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPartsList interface | 
|  | */ | 
|  | #ifndef __IPartsList_INTERFACE_DEFINED__ | 
|  | #define __IPartsList_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IPartsList, 0x6daa848c, 0x5eb0, 0x45cc, 0xae,0xa5, 0x99,0x8a,0x2c,0xda,0x1f,0xfb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6daa848c-5eb0-45cc-aea5-998a2cda1ffb") | 
|  | IPartsList : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCount( | 
|  | UINT *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPart( | 
|  | UINT nIndex, | 
|  | IPart **ppPart) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPartsList, 0x6daa848c, 0x5eb0, 0x45cc, 0xae,0xa5, 0x99,0x8a,0x2c,0xda,0x1f,0xfb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPartsListVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPartsList* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPartsList* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPartsList* This); | 
|  |  | 
|  | /*** IPartsList methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCount)( | 
|  | IPartsList* This, | 
|  | UINT *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPart)( | 
|  | IPartsList* This, | 
|  | UINT nIndex, | 
|  | IPart **ppPart); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPartsListVtbl; | 
|  | interface IPartsList { | 
|  | CONST_VTBL IPartsListVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPartsList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPartsList_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPartsList_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPartsList methods ***/ | 
|  | #define IPartsList_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount) | 
|  | #define IPartsList_GetPart(This,nIndex,ppPart) (This)->lpVtbl->GetPart(This,nIndex,ppPart) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IPartsList_QueryInterface(IPartsList* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IPartsList_AddRef(IPartsList* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IPartsList_Release(IPartsList* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPartsList methods ***/ | 
|  | static FORCEINLINE HRESULT IPartsList_GetCount(IPartsList* This,UINT *pCount) { | 
|  | return This->lpVtbl->GetCount(This,pCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPartsList_GetPart(IPartsList* This,UINT nIndex,IPart **ppPart) { | 
|  | return This->lpVtbl->GetPart(This,nIndex,ppPart); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IPartsList_GetCount_Proxy( | 
|  | IPartsList* This, | 
|  | UINT *pCount); | 
|  | void __RPC_STUB IPartsList_GetCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPartsList_GetPart_Proxy( | 
|  | IPartsList* This, | 
|  | UINT nIndex, | 
|  | IPart **ppPart); | 
|  | void __RPC_STUB IPartsList_GetPart_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IPartsList_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPart interface | 
|  | */ | 
|  | #ifndef __IPart_INTERFACE_DEFINED__ | 
|  | #define __IPart_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IPart, 0xae2de0e4, 0x5bca, 0x4f2d, 0xaa,0x46, 0x5d,0x13,0xf8,0xfd,0xb3,0xa9); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ae2de0e4-5bca-4f2d-aa46-5d13f8fdb3a9") | 
|  | IPart : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetName( | 
|  | LPWSTR *ppwstrName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLocalId( | 
|  | UINT *pnId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGlobalId( | 
|  | LPWSTR *ppwstrGlobalId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPartType( | 
|  | PartType *pPartType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubType( | 
|  | GUID *pSubType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetControlInterfaceCount( | 
|  | UINT *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetControlInterface( | 
|  | UINT nIndex, | 
|  | IControlInterface **ppInterfaceDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumPartsIncoming( | 
|  | IPartsList **ppParts) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumPartsOutgoing( | 
|  | IPartsList **ppParts) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTopologyObjects( | 
|  | IDeviceTopology **ppTopology) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Activate( | 
|  | DWORD dwClsContext, | 
|  | REFIID refiid, | 
|  | void **ppvObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback( | 
|  | REFGUID riid, | 
|  | IControlChangeNotify *pNotify) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback( | 
|  | IControlChangeNotify *pNotify) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPart, 0xae2de0e4, 0x5bca, 0x4f2d, 0xaa,0x46, 0x5d,0x13,0xf8,0xfd,0xb3,0xa9) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPartVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPart* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPart* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPart* This); | 
|  |  | 
|  | /*** IPart methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetName)( | 
|  | IPart* This, | 
|  | LPWSTR *ppwstrName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLocalId)( | 
|  | IPart* This, | 
|  | UINT *pnId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGlobalId)( | 
|  | IPart* This, | 
|  | LPWSTR *ppwstrGlobalId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPartType)( | 
|  | IPart* This, | 
|  | PartType *pPartType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubType)( | 
|  | IPart* This, | 
|  | GUID *pSubType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetControlInterfaceCount)( | 
|  | IPart* This, | 
|  | UINT *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetControlInterface)( | 
|  | IPart* This, | 
|  | UINT nIndex, | 
|  | IControlInterface **ppInterfaceDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumPartsIncoming)( | 
|  | IPart* This, | 
|  | IPartsList **ppParts); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumPartsOutgoing)( | 
|  | IPart* This, | 
|  | IPartsList **ppParts); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTopologyObjects)( | 
|  | IPart* This, | 
|  | IDeviceTopology **ppTopology); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Activate)( | 
|  | IPart* This, | 
|  | DWORD dwClsContext, | 
|  | REFIID refiid, | 
|  | void **ppvObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterControlChangeCallback)( | 
|  | IPart* This, | 
|  | REFGUID riid, | 
|  | IControlChangeNotify *pNotify); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterControlChangeCallback)( | 
|  | IPart* This, | 
|  | IControlChangeNotify *pNotify); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPartVtbl; | 
|  | interface IPart { | 
|  | CONST_VTBL IPartVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPart_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPart_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPart methods ***/ | 
|  | #define IPart_GetName(This,ppwstrName) (This)->lpVtbl->GetName(This,ppwstrName) | 
|  | #define IPart_GetLocalId(This,pnId) (This)->lpVtbl->GetLocalId(This,pnId) | 
|  | #define IPart_GetGlobalId(This,ppwstrGlobalId) (This)->lpVtbl->GetGlobalId(This,ppwstrGlobalId) | 
|  | #define IPart_GetPartType(This,pPartType) (This)->lpVtbl->GetPartType(This,pPartType) | 
|  | #define IPart_GetSubType(This,pSubType) (This)->lpVtbl->GetSubType(This,pSubType) | 
|  | #define IPart_GetControlInterfaceCount(This,pCount) (This)->lpVtbl->GetControlInterfaceCount(This,pCount) | 
|  | #define IPart_GetControlInterface(This,nIndex,ppInterfaceDesc) (This)->lpVtbl->GetControlInterface(This,nIndex,ppInterfaceDesc) | 
|  | #define IPart_EnumPartsIncoming(This,ppParts) (This)->lpVtbl->EnumPartsIncoming(This,ppParts) | 
|  | #define IPart_EnumPartsOutgoing(This,ppParts) (This)->lpVtbl->EnumPartsOutgoing(This,ppParts) | 
|  | #define IPart_GetTopologyObjects(This,ppTopology) (This)->lpVtbl->GetTopologyObjects(This,ppTopology) | 
|  | #define IPart_Activate(This,dwClsContext,refiid,ppvObject) (This)->lpVtbl->Activate(This,dwClsContext,refiid,ppvObject) | 
|  | #define IPart_RegisterControlChangeCallback(This,riid,pNotify) (This)->lpVtbl->RegisterControlChangeCallback(This,riid,pNotify) | 
|  | #define IPart_UnregisterControlChangeCallback(This,pNotify) (This)->lpVtbl->UnregisterControlChangeCallback(This,pNotify) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IPart_QueryInterface(IPart* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IPart_AddRef(IPart* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IPart_Release(IPart* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPart methods ***/ | 
|  | static FORCEINLINE HRESULT IPart_GetName(IPart* This,LPWSTR *ppwstrName) { | 
|  | return This->lpVtbl->GetName(This,ppwstrName); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetLocalId(IPart* This,UINT *pnId) { | 
|  | return This->lpVtbl->GetLocalId(This,pnId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetGlobalId(IPart* This,LPWSTR *ppwstrGlobalId) { | 
|  | return This->lpVtbl->GetGlobalId(This,ppwstrGlobalId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetPartType(IPart* This,PartType *pPartType) { | 
|  | return This->lpVtbl->GetPartType(This,pPartType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetSubType(IPart* This,GUID *pSubType) { | 
|  | return This->lpVtbl->GetSubType(This,pSubType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetControlInterfaceCount(IPart* This,UINT *pCount) { | 
|  | return This->lpVtbl->GetControlInterfaceCount(This,pCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetControlInterface(IPart* This,UINT nIndex,IControlInterface **ppInterfaceDesc) { | 
|  | return This->lpVtbl->GetControlInterface(This,nIndex,ppInterfaceDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_EnumPartsIncoming(IPart* This,IPartsList **ppParts) { | 
|  | return This->lpVtbl->EnumPartsIncoming(This,ppParts); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_EnumPartsOutgoing(IPart* This,IPartsList **ppParts) { | 
|  | return This->lpVtbl->EnumPartsOutgoing(This,ppParts); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_GetTopologyObjects(IPart* This,IDeviceTopology **ppTopology) { | 
|  | return This->lpVtbl->GetTopologyObjects(This,ppTopology); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_Activate(IPart* This,DWORD dwClsContext,REFIID refiid,void **ppvObject) { | 
|  | return This->lpVtbl->Activate(This,dwClsContext,refiid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_RegisterControlChangeCallback(IPart* This,REFGUID riid,IControlChangeNotify *pNotify) { | 
|  | return This->lpVtbl->RegisterControlChangeCallback(This,riid,pNotify); | 
|  | } | 
|  | static FORCEINLINE HRESULT IPart_UnregisterControlChangeCallback(IPart* This,IControlChangeNotify *pNotify) { | 
|  | return This->lpVtbl->UnregisterControlChangeCallback(This,pNotify); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetName_Proxy( | 
|  | IPart* This, | 
|  | LPWSTR *ppwstrName); | 
|  | void __RPC_STUB IPart_GetName_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetLocalId_Proxy( | 
|  | IPart* This, | 
|  | UINT *pnId); | 
|  | void __RPC_STUB IPart_GetLocalId_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetGlobalId_Proxy( | 
|  | IPart* This, | 
|  | LPWSTR *ppwstrGlobalId); | 
|  | void __RPC_STUB IPart_GetGlobalId_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetPartType_Proxy( | 
|  | IPart* This, | 
|  | PartType *pPartType); | 
|  | void __RPC_STUB IPart_GetPartType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetSubType_Proxy( | 
|  | IPart* This, | 
|  | GUID *pSubType); | 
|  | void __RPC_STUB IPart_GetSubType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetControlInterfaceCount_Proxy( | 
|  | IPart* This, | 
|  | UINT *pCount); | 
|  | void __RPC_STUB IPart_GetControlInterfaceCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetControlInterface_Proxy( | 
|  | IPart* This, | 
|  | UINT nIndex, | 
|  | IControlInterface **ppInterfaceDesc); | 
|  | void __RPC_STUB IPart_GetControlInterface_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_EnumPartsIncoming_Proxy( | 
|  | IPart* This, | 
|  | IPartsList **ppParts); | 
|  | void __RPC_STUB IPart_EnumPartsIncoming_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_EnumPartsOutgoing_Proxy( | 
|  | IPart* This, | 
|  | IPartsList **ppParts); | 
|  | void __RPC_STUB IPart_EnumPartsOutgoing_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_GetTopologyObjects_Proxy( | 
|  | IPart* This, | 
|  | IDeviceTopology **ppTopology); | 
|  | void __RPC_STUB IPart_GetTopologyObjects_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_Activate_Proxy( | 
|  | IPart* This, | 
|  | DWORD dwClsContext, | 
|  | REFIID refiid, | 
|  | void **ppvObject); | 
|  | void __RPC_STUB IPart_Activate_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_RegisterControlChangeCallback_Proxy( | 
|  | IPart* This, | 
|  | REFGUID riid, | 
|  | IControlChangeNotify *pNotify); | 
|  | void __RPC_STUB IPart_RegisterControlChangeCallback_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IPart_UnregisterControlChangeCallback_Proxy( | 
|  | IPart* This, | 
|  | IControlChangeNotify *pNotify); | 
|  | void __RPC_STUB IPart_UnregisterControlChangeCallback_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IPart_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IConnector interface | 
|  | */ | 
|  | #ifndef __IConnector_INTERFACE_DEFINED__ | 
|  | #define __IConnector_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IConnector, 0x9c2c4058, 0x23f5, 0x41de, 0x87,0x7a, 0xdf,0x3a,0xf2,0x36,0xa0,0x9e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("9c2c4058-23f5-41de-877a-df3af236a09e") | 
|  | IConnector : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | ConnectorType *pType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDataFlow( | 
|  | DataFlow *pFlow) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ConnectTo( | 
|  | IConnector *pConnectTo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Disconnect( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsConnected( | 
|  | WINBOOL *pbConnected) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetConnectedTo( | 
|  | IConnector **ppConTo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo( | 
|  | LPWSTR *ppwstrConnectorId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo( | 
|  | LPWSTR *ppwstrDeviceId) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IConnector, 0x9c2c4058, 0x23f5, 0x41de, 0x87,0x7a, 0xdf,0x3a,0xf2,0x36,0xa0,0x9e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IConnectorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IConnector* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IConnector* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IConnector* This); | 
|  |  | 
|  | /*** IConnector methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | IConnector* This, | 
|  | ConnectorType *pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDataFlow)( | 
|  | IConnector* This, | 
|  | DataFlow *pFlow); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectTo)( | 
|  | IConnector* This, | 
|  | IConnector *pConnectTo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Disconnect)( | 
|  | IConnector* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsConnected)( | 
|  | IConnector* This, | 
|  | WINBOOL *pbConnected); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetConnectedTo)( | 
|  | IConnector* This, | 
|  | IConnector **ppConTo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetConnectorIdConnectedTo)( | 
|  | IConnector* This, | 
|  | LPWSTR *ppwstrConnectorId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceIdConnectedTo)( | 
|  | IConnector* This, | 
|  | LPWSTR *ppwstrDeviceId); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IConnectorVtbl; | 
|  | interface IConnector { | 
|  | CONST_VTBL IConnectorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IConnector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IConnector_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IConnector_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IConnector methods ***/ | 
|  | #define IConnector_GetType(This,pType) (This)->lpVtbl->GetType(This,pType) | 
|  | #define IConnector_GetDataFlow(This,pFlow) (This)->lpVtbl->GetDataFlow(This,pFlow) | 
|  | #define IConnector_ConnectTo(This,pConnectTo) (This)->lpVtbl->ConnectTo(This,pConnectTo) | 
|  | #define IConnector_Disconnect(This) (This)->lpVtbl->Disconnect(This) | 
|  | #define IConnector_IsConnected(This,pbConnected) (This)->lpVtbl->IsConnected(This,pbConnected) | 
|  | #define IConnector_GetConnectedTo(This,ppConTo) (This)->lpVtbl->GetConnectedTo(This,ppConTo) | 
|  | #define IConnector_GetConnectorIdConnectedTo(This,ppwstrConnectorId) (This)->lpVtbl->GetConnectorIdConnectedTo(This,ppwstrConnectorId) | 
|  | #define IConnector_GetDeviceIdConnectedTo(This,ppwstrDeviceId) (This)->lpVtbl->GetDeviceIdConnectedTo(This,ppwstrDeviceId) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IConnector_QueryInterface(IConnector* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IConnector_AddRef(IConnector* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IConnector_Release(IConnector* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IConnector methods ***/ | 
|  | static FORCEINLINE HRESULT IConnector_GetType(IConnector* This,ConnectorType *pType) { | 
|  | return This->lpVtbl->GetType(This,pType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_GetDataFlow(IConnector* This,DataFlow *pFlow) { | 
|  | return This->lpVtbl->GetDataFlow(This,pFlow); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_ConnectTo(IConnector* This,IConnector *pConnectTo) { | 
|  | return This->lpVtbl->ConnectTo(This,pConnectTo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_Disconnect(IConnector* This) { | 
|  | return This->lpVtbl->Disconnect(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_IsConnected(IConnector* This,WINBOOL *pbConnected) { | 
|  | return This->lpVtbl->IsConnected(This,pbConnected); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_GetConnectedTo(IConnector* This,IConnector **ppConTo) { | 
|  | return This->lpVtbl->GetConnectedTo(This,ppConTo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_GetConnectorIdConnectedTo(IConnector* This,LPWSTR *ppwstrConnectorId) { | 
|  | return This->lpVtbl->GetConnectorIdConnectedTo(This,ppwstrConnectorId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IConnector_GetDeviceIdConnectedTo(IConnector* This,LPWSTR *ppwstrDeviceId) { | 
|  | return This->lpVtbl->GetDeviceIdConnectedTo(This,ppwstrDeviceId); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IConnector_GetType_Proxy( | 
|  | IConnector* This, | 
|  | ConnectorType *pType); | 
|  | void __RPC_STUB IConnector_GetType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_GetDataFlow_Proxy( | 
|  | IConnector* This, | 
|  | DataFlow *pFlow); | 
|  | void __RPC_STUB IConnector_GetDataFlow_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_ConnectTo_Proxy( | 
|  | IConnector* This, | 
|  | IConnector *pConnectTo); | 
|  | void __RPC_STUB IConnector_ConnectTo_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_Disconnect_Proxy( | 
|  | IConnector* This); | 
|  | void __RPC_STUB IConnector_Disconnect_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_IsConnected_Proxy( | 
|  | IConnector* This, | 
|  | WINBOOL *pbConnected); | 
|  | void __RPC_STUB IConnector_IsConnected_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_GetConnectedTo_Proxy( | 
|  | IConnector* This, | 
|  | IConnector **ppConTo); | 
|  | void __RPC_STUB IConnector_GetConnectedTo_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_GetConnectorIdConnectedTo_Proxy( | 
|  | IConnector* This, | 
|  | LPWSTR *ppwstrConnectorId); | 
|  | void __RPC_STUB IConnector_GetConnectorIdConnectedTo_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IConnector_GetDeviceIdConnectedTo_Proxy( | 
|  | IConnector* This, | 
|  | LPWSTR *ppwstrDeviceId); | 
|  | void __RPC_STUB IConnector_GetDeviceIdConnectedTo_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IConnector_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ISubUnit interface | 
|  | */ | 
|  | #ifndef __ISubUnit_INTERFACE_DEFINED__ | 
|  | #define __ISubUnit_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ISubUnit, 0x82149a85, 0xdba6, 0x4487, 0x86,0xbb, 0xea,0x8f,0x7f,0xef,0xcc,0x71); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("82149a85-dba6-4487-86bb-ea8f7fefcc71") | 
|  | ISubUnit : public IUnknown | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ISubUnit, 0x82149a85, 0xdba6, 0x4487, 0x86,0xbb, 0xea,0x8f,0x7f,0xef,0xcc,0x71) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ISubUnitVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ISubUnit* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ISubUnit* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ISubUnit* This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ISubUnitVtbl; | 
|  | interface ISubUnit { | 
|  | CONST_VTBL ISubUnitVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ISubUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ISubUnit_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ISubUnit_Release(This) (This)->lpVtbl->Release(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ISubUnit_QueryInterface(ISubUnit* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ISubUnit_AddRef(ISubUnit* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ISubUnit_Release(ISubUnit* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ISubUnit_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IControlInterface interface | 
|  | */ | 
|  | #ifndef __IControlInterface_INTERFACE_DEFINED__ | 
|  | #define __IControlInterface_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IControlInterface, 0x45d37c3f, 0x5140, 0x444a, 0xae,0x24, 0x40,0x07,0x89,0xf3,0xcb,0xf3); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("45d37c3f-5140-444a-ae24-400789f3cbf3") | 
|  | IControlInterface : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetName( | 
|  | LPWSTR *ppwstrName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetIID( | 
|  | GUID *pIID) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IControlInterface, 0x45d37c3f, 0x5140, 0x444a, 0xae,0x24, 0x40,0x07,0x89,0xf3,0xcb,0xf3) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IControlInterfaceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IControlInterface* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IControlInterface* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IControlInterface* This); | 
|  |  | 
|  | /*** IControlInterface methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetName)( | 
|  | IControlInterface* This, | 
|  | LPWSTR *ppwstrName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIID)( | 
|  | IControlInterface* This, | 
|  | GUID *pIID); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IControlInterfaceVtbl; | 
|  | interface IControlInterface { | 
|  | CONST_VTBL IControlInterfaceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IControlInterface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IControlInterface_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IControlInterface_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IControlInterface methods ***/ | 
|  | #define IControlInterface_GetName(This,ppwstrName) (This)->lpVtbl->GetName(This,ppwstrName) | 
|  | #define IControlInterface_GetIID(This,pIID) (This)->lpVtbl->GetIID(This,pIID) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IControlInterface_QueryInterface(IControlInterface* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IControlInterface_AddRef(IControlInterface* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IControlInterface_Release(IControlInterface* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IControlInterface methods ***/ | 
|  | static FORCEINLINE HRESULT IControlInterface_GetName(IControlInterface* This,LPWSTR *ppwstrName) { | 
|  | return This->lpVtbl->GetName(This,ppwstrName); | 
|  | } | 
|  | static FORCEINLINE HRESULT IControlInterface_GetIID(IControlInterface* This,GUID *pIID) { | 
|  | return This->lpVtbl->GetIID(This,pIID); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IControlInterface_GetName_Proxy( | 
|  | IControlInterface* This, | 
|  | LPWSTR *ppwstrName); | 
|  | void __RPC_STUB IControlInterface_GetName_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IControlInterface_GetIID_Proxy( | 
|  | IControlInterface* This, | 
|  | GUID *pIID); | 
|  | void __RPC_STUB IControlInterface_GetIID_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IControlInterface_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IControlChangeNotify interface | 
|  | */ | 
|  | #ifndef __IControlChangeNotify_INTERFACE_DEFINED__ | 
|  | #define __IControlChangeNotify_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IControlChangeNotify, 0xa09513ed, 0xc709, 0x4d21, 0xbd,0x7b, 0x5f,0x34,0xc4,0x7f,0x39,0x47); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a09513ed-c709-4d21-bd7b-5f34c47f3947") | 
|  | IControlChangeNotify : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnNotify( | 
|  | DWORD dwSenderProcessId, | 
|  | LPCGUID ppguidEventContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IControlChangeNotify, 0xa09513ed, 0xc709, 0x4d21, 0xbd,0x7b, 0x5f,0x34,0xc4,0x7f,0x39,0x47) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IControlChangeNotifyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IControlChangeNotify* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IControlChangeNotify* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IControlChangeNotify* This); | 
|  |  | 
|  | /*** IControlChangeNotify methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnNotify)( | 
|  | IControlChangeNotify* This, | 
|  | DWORD dwSenderProcessId, | 
|  | LPCGUID ppguidEventContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IControlChangeNotifyVtbl; | 
|  | interface IControlChangeNotify { | 
|  | CONST_VTBL IControlChangeNotifyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IControlChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IControlChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IControlChangeNotify_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IControlChangeNotify methods ***/ | 
|  | #define IControlChangeNotify_OnNotify(This,dwSenderProcessId,ppguidEventContext) (This)->lpVtbl->OnNotify(This,dwSenderProcessId,ppguidEventContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IControlChangeNotify_QueryInterface(IControlChangeNotify* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IControlChangeNotify_AddRef(IControlChangeNotify* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IControlChangeNotify_Release(IControlChangeNotify* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IControlChangeNotify methods ***/ | 
|  | static FORCEINLINE HRESULT IControlChangeNotify_OnNotify(IControlChangeNotify* This,DWORD dwSenderProcessId,LPCGUID ppguidEventContext) { | 
|  | return This->lpVtbl->OnNotify(This,dwSenderProcessId,ppguidEventContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IControlChangeNotify_OnNotify_Proxy( | 
|  | IControlChangeNotify* This, | 
|  | DWORD dwSenderProcessId, | 
|  | LPCGUID ppguidEventContext); | 
|  | void __RPC_STUB IControlChangeNotify_OnNotify_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IControlChangeNotify_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IDeviceTopology interface | 
|  | */ | 
|  | #ifndef __IDeviceTopology_INTERFACE_DEFINED__ | 
|  | #define __IDeviceTopology_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IDeviceTopology, 0x2a07407e, 0x6497, 0x4a18, 0x97,0x87, 0x32,0xf7,0x9b,0xd0,0xd9,0x8f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2a07407e-6497-4a18-9787-32f79bd0d98f") | 
|  | IDeviceTopology : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetConnectorCount( | 
|  | UINT *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetConnector( | 
|  | UINT nIndex, | 
|  | IConnector **ppConnector) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubunitCount( | 
|  | UINT *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubunit( | 
|  | UINT nIndex, | 
|  | ISubUnit **ppConnector) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPartById( | 
|  | UINT nId, | 
|  | IPart **ppPart) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceId( | 
|  | LPWSTR *ppwstrDeviceId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSignalPath( | 
|  | IPart *pIPartFrom, | 
|  | IPart *pIPartTo, | 
|  | WINBOOL bRejectMixedPaths, | 
|  | IPartsList **ppParts) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IDeviceTopology, 0x2a07407e, 0x6497, 0x4a18, 0x97,0x87, 0x32,0xf7,0x9b,0xd0,0xd9,0x8f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IDeviceTopologyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IDeviceTopology* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IDeviceTopology* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IDeviceTopology* This); | 
|  |  | 
|  | /*** IDeviceTopology methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetConnectorCount)( | 
|  | IDeviceTopology* This, | 
|  | UINT *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetConnector)( | 
|  | IDeviceTopology* This, | 
|  | UINT nIndex, | 
|  | IConnector **ppConnector); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubunitCount)( | 
|  | IDeviceTopology* This, | 
|  | UINT *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubunit)( | 
|  | IDeviceTopology* This, | 
|  | UINT nIndex, | 
|  | ISubUnit **ppConnector); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPartById)( | 
|  | IDeviceTopology* This, | 
|  | UINT nId, | 
|  | IPart **ppPart); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceId)( | 
|  | IDeviceTopology* This, | 
|  | LPWSTR *ppwstrDeviceId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSignalPath)( | 
|  | IDeviceTopology* This, | 
|  | IPart *pIPartFrom, | 
|  | IPart *pIPartTo, | 
|  | WINBOOL bRejectMixedPaths, | 
|  | IPartsList **ppParts); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IDeviceTopologyVtbl; | 
|  | interface IDeviceTopology { | 
|  | CONST_VTBL IDeviceTopologyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IDeviceTopology_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDeviceTopology_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDeviceTopology_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDeviceTopology methods ***/ | 
|  | #define IDeviceTopology_GetConnectorCount(This,pCount) (This)->lpVtbl->GetConnectorCount(This,pCount) | 
|  | #define IDeviceTopology_GetConnector(This,nIndex,ppConnector) (This)->lpVtbl->GetConnector(This,nIndex,ppConnector) | 
|  | #define IDeviceTopology_GetSubunitCount(This,pCount) (This)->lpVtbl->GetSubunitCount(This,pCount) | 
|  | #define IDeviceTopology_GetSubunit(This,nIndex,ppConnector) (This)->lpVtbl->GetSubunit(This,nIndex,ppConnector) | 
|  | #define IDeviceTopology_GetPartById(This,nId,ppPart) (This)->lpVtbl->GetPartById(This,nId,ppPart) | 
|  | #define IDeviceTopology_GetDeviceId(This,ppwstrDeviceId) (This)->lpVtbl->GetDeviceId(This,ppwstrDeviceId) | 
|  | #define IDeviceTopology_GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) (This)->lpVtbl->GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IDeviceTopology_QueryInterface(IDeviceTopology* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IDeviceTopology_AddRef(IDeviceTopology* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IDeviceTopology_Release(IDeviceTopology* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDeviceTopology methods ***/ | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetConnectorCount(IDeviceTopology* This,UINT *pCount) { | 
|  | return This->lpVtbl->GetConnectorCount(This,pCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetConnector(IDeviceTopology* This,UINT nIndex,IConnector **ppConnector) { | 
|  | return This->lpVtbl->GetConnector(This,nIndex,ppConnector); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetSubunitCount(IDeviceTopology* This,UINT *pCount) { | 
|  | return This->lpVtbl->GetSubunitCount(This,pCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetSubunit(IDeviceTopology* This,UINT nIndex,ISubUnit **ppConnector) { | 
|  | return This->lpVtbl->GetSubunit(This,nIndex,ppConnector); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetPartById(IDeviceTopology* This,UINT nId,IPart **ppPart) { | 
|  | return This->lpVtbl->GetPartById(This,nId,ppPart); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetDeviceId(IDeviceTopology* This,LPWSTR *ppwstrDeviceId) { | 
|  | return This->lpVtbl->GetDeviceId(This,ppwstrDeviceId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IDeviceTopology_GetSignalPath(IDeviceTopology* This,IPart *pIPartFrom,IPart *pIPartTo,WINBOOL bRejectMixedPaths,IPartsList **ppParts) { | 
|  | return This->lpVtbl->GetSignalPath(This,pIPartFrom,pIPartTo,bRejectMixedPaths,ppParts); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetConnectorCount_Proxy( | 
|  | IDeviceTopology* This, | 
|  | UINT *pCount); | 
|  | void __RPC_STUB IDeviceTopology_GetConnectorCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetConnector_Proxy( | 
|  | IDeviceTopology* This, | 
|  | UINT nIndex, | 
|  | IConnector **ppConnector); | 
|  | void __RPC_STUB IDeviceTopology_GetConnector_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetSubunitCount_Proxy( | 
|  | IDeviceTopology* This, | 
|  | UINT *pCount); | 
|  | void __RPC_STUB IDeviceTopology_GetSubunitCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetSubunit_Proxy( | 
|  | IDeviceTopology* This, | 
|  | UINT nIndex, | 
|  | ISubUnit **ppConnector); | 
|  | void __RPC_STUB IDeviceTopology_GetSubunit_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetPartById_Proxy( | 
|  | IDeviceTopology* This, | 
|  | UINT nId, | 
|  | IPart **ppPart); | 
|  | void __RPC_STUB IDeviceTopology_GetPartById_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetDeviceId_Proxy( | 
|  | IDeviceTopology* This, | 
|  | LPWSTR *ppwstrDeviceId); | 
|  | void __RPC_STUB IDeviceTopology_GetDeviceId_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IDeviceTopology_GetSignalPath_Proxy( | 
|  | IDeviceTopology* This, | 
|  | IPart *pIPartFrom, | 
|  | IPart *pIPartTo, | 
|  | WINBOOL bRejectMixedPaths, | 
|  | IPartsList **ppParts); | 
|  | void __RPC_STUB IDeviceTopology_GetSignalPath_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IDeviceTopology_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | DEFINE_GUID(LIBID_DevTopologyLib, 0x51b9a01d, 0x8181, 0x4363, 0xb5,0x9c, 0xe6,0x78,0xf4,0x76,0xdd,0x0e); | 
|  |  | 
|  | /***************************************************************************** | 
|  | * DeviceTopology coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_DeviceTopology, 0x1df639d0, 0x5ec1, 0x47aa, 0x93,0x79, 0x82,0x8d,0xc1,0xaa,0x8c,0x59); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("1df639d0-5ec1-47aa-9379-828dc1aa8c59") DeviceTopology; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(DeviceTopology, 0x1df639d0, 0x5ec1, 0x47aa, 0x93,0x79, 0x82,0x8d,0xc1,0xaa,0x8c,0x59) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __devicetopology_h__ */ |