diff options
Diffstat (limited to '3rdparty/portaudio/src/hostapi/wasapi/mingw-include/devicetopology.h')
-rw-r--r-- | 3rdparty/portaudio/src/hostapi/wasapi/mingw-include/devicetopology.h | 3275 |
1 files changed, 3275 insertions, 0 deletions
diff --git a/3rdparty/portaudio/src/hostapi/wasapi/mingw-include/devicetopology.h b/3rdparty/portaudio/src/hostapi/wasapi/mingw-include/devicetopology.h new file mode 100644 index 0000000..7a1f75c --- /dev/null +++ b/3rdparty/portaudio/src/hostapi/wasapi/mingw-include/devicetopology.h @@ -0,0 +1,3275 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0499 */ +/* Compiler settings for devicetopology.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the <rpcndr.h> version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the <rpcsal.h> version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of <rpcndr.h> +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __devicetopology_h__ +#define __devicetopology_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IKsControl_FWD_DEFINED__ +#define __IKsControl_FWD_DEFINED__ +typedef interface IKsControl IKsControl; +#endif /* __IKsControl_FWD_DEFINED__ */ + + +#ifndef __IPerChannelDbLevel_FWD_DEFINED__ +#define __IPerChannelDbLevel_FWD_DEFINED__ +typedef interface IPerChannelDbLevel IPerChannelDbLevel; +#endif /* __IPerChannelDbLevel_FWD_DEFINED__ */ + + +#ifndef __IAudioVolumeLevel_FWD_DEFINED__ +#define __IAudioVolumeLevel_FWD_DEFINED__ +typedef interface IAudioVolumeLevel IAudioVolumeLevel; +#endif /* __IAudioVolumeLevel_FWD_DEFINED__ */ + + +#ifndef __IAudioChannelConfig_FWD_DEFINED__ +#define __IAudioChannelConfig_FWD_DEFINED__ +typedef interface IAudioChannelConfig IAudioChannelConfig; +#endif /* __IAudioChannelConfig_FWD_DEFINED__ */ + + +#ifndef __IAudioLoudness_FWD_DEFINED__ +#define __IAudioLoudness_FWD_DEFINED__ +typedef interface IAudioLoudness IAudioLoudness; +#endif /* __IAudioLoudness_FWD_DEFINED__ */ + + +#ifndef __IAudioInputSelector_FWD_DEFINED__ +#define __IAudioInputSelector_FWD_DEFINED__ +typedef interface IAudioInputSelector IAudioInputSelector; +#endif /* __IAudioInputSelector_FWD_DEFINED__ */ + + +#ifndef __IAudioOutputSelector_FWD_DEFINED__ +#define __IAudioOutputSelector_FWD_DEFINED__ +typedef interface IAudioOutputSelector IAudioOutputSelector; +#endif /* __IAudioOutputSelector_FWD_DEFINED__ */ + + +#ifndef __IAudioMute_FWD_DEFINED__ +#define __IAudioMute_FWD_DEFINED__ +typedef interface IAudioMute IAudioMute; +#endif /* __IAudioMute_FWD_DEFINED__ */ + + +#ifndef __IAudioBass_FWD_DEFINED__ +#define __IAudioBass_FWD_DEFINED__ +typedef interface IAudioBass IAudioBass; +#endif /* __IAudioBass_FWD_DEFINED__ */ + + +#ifndef __IAudioMidrange_FWD_DEFINED__ +#define __IAudioMidrange_FWD_DEFINED__ +typedef interface IAudioMidrange IAudioMidrange; +#endif /* __IAudioMidrange_FWD_DEFINED__ */ + + +#ifndef __IAudioTreble_FWD_DEFINED__ +#define __IAudioTreble_FWD_DEFINED__ +typedef interface IAudioTreble IAudioTreble; +#endif /* __IAudioTreble_FWD_DEFINED__ */ + + +#ifndef __IAudioAutoGainControl_FWD_DEFINED__ +#define __IAudioAutoGainControl_FWD_DEFINED__ +typedef interface IAudioAutoGainControl IAudioAutoGainControl; +#endif /* __IAudioAutoGainControl_FWD_DEFINED__ */ + + +#ifndef __IAudioPeakMeter_FWD_DEFINED__ +#define __IAudioPeakMeter_FWD_DEFINED__ +typedef interface IAudioPeakMeter IAudioPeakMeter; +#endif /* __IAudioPeakMeter_FWD_DEFINED__ */ + + +#ifndef __IDeviceSpecificProperty_FWD_DEFINED__ +#define __IDeviceSpecificProperty_FWD_DEFINED__ +typedef interface IDeviceSpecificProperty IDeviceSpecificProperty; +#endif /* __IDeviceSpecificProperty_FWD_DEFINED__ */ + + +#ifndef __IKsFormatSupport_FWD_DEFINED__ +#define __IKsFormatSupport_FWD_DEFINED__ +typedef interface IKsFormatSupport IKsFormatSupport; +#endif /* __IKsFormatSupport_FWD_DEFINED__ */ + + +#ifndef __IKsJackDescription_FWD_DEFINED__ +#define __IKsJackDescription_FWD_DEFINED__ +typedef interface IKsJackDescription IKsJackDescription; +#endif /* __IKsJackDescription_FWD_DEFINED__ */ + + +#ifndef __IPartsList_FWD_DEFINED__ +#define __IPartsList_FWD_DEFINED__ +typedef interface IPartsList IPartsList; +#endif /* __IPartsList_FWD_DEFINED__ */ + + +#ifndef __IPart_FWD_DEFINED__ +#define __IPart_FWD_DEFINED__ +typedef interface IPart IPart; +#endif /* __IPart_FWD_DEFINED__ */ + + +#ifndef __IConnector_FWD_DEFINED__ +#define __IConnector_FWD_DEFINED__ +typedef interface IConnector IConnector; +#endif /* __IConnector_FWD_DEFINED__ */ + + +#ifndef __ISubunit_FWD_DEFINED__ +#define __ISubunit_FWD_DEFINED__ +typedef interface ISubunit ISubunit; +#endif /* __ISubunit_FWD_DEFINED__ */ + + +#ifndef __IControlInterface_FWD_DEFINED__ +#define __IControlInterface_FWD_DEFINED__ +typedef interface IControlInterface IControlInterface; +#endif /* __IControlInterface_FWD_DEFINED__ */ + + +#ifndef __IControlChangeNotify_FWD_DEFINED__ +#define __IControlChangeNotify_FWD_DEFINED__ +typedef interface IControlChangeNotify IControlChangeNotify; +#endif /* __IControlChangeNotify_FWD_DEFINED__ */ + + +#ifndef __IDeviceTopology_FWD_DEFINED__ +#define __IDeviceTopology_FWD_DEFINED__ +typedef interface IDeviceTopology IDeviceTopology; +#endif /* __IDeviceTopology_FWD_DEFINED__ */ + + +#ifndef __DeviceTopology_FWD_DEFINED__ +#define __DeviceTopology_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class DeviceTopology DeviceTopology; +#else +typedef struct DeviceTopology DeviceTopology; +#endif /* __cplusplus */ + +#endif /* __DeviceTopology_FWD_DEFINED__ */ + + +#ifndef __IPartsList_FWD_DEFINED__ +#define __IPartsList_FWD_DEFINED__ +typedef interface IPartsList IPartsList; +#endif /* __IPartsList_FWD_DEFINED__ */ + + +#ifndef __IPerChannelDbLevel_FWD_DEFINED__ +#define __IPerChannelDbLevel_FWD_DEFINED__ +typedef interface IPerChannelDbLevel IPerChannelDbLevel; +#endif /* __IPerChannelDbLevel_FWD_DEFINED__ */ + + +#ifndef __IAudioVolumeLevel_FWD_DEFINED__ +#define __IAudioVolumeLevel_FWD_DEFINED__ +typedef interface IAudioVolumeLevel IAudioVolumeLevel; +#endif /* __IAudioVolumeLevel_FWD_DEFINED__ */ + + +#ifndef __IAudioLoudness_FWD_DEFINED__ +#define __IAudioLoudness_FWD_DEFINED__ +typedef interface IAudioLoudness IAudioLoudness; +#endif /* __IAudioLoudness_FWD_DEFINED__ */ + + +#ifndef __IAudioInputSelector_FWD_DEFINED__ +#define __IAudioInputSelector_FWD_DEFINED__ +typedef interface IAudioInputSelector IAudioInputSelector; +#endif /* __IAudioInputSelector_FWD_DEFINED__ */ + + +#ifndef __IAudioMute_FWD_DEFINED__ +#define __IAudioMute_FWD_DEFINED__ +typedef interface IAudioMute IAudioMute; +#endif /* __IAudioMute_FWD_DEFINED__ */ + + +#ifndef __IAudioBass_FWD_DEFINED__ +#define __IAudioBass_FWD_DEFINED__ +typedef interface IAudioBass IAudioBass; +#endif /* __IAudioBass_FWD_DEFINED__ */ + + +#ifndef __IAudioMidrange_FWD_DEFINED__ +#define __IAudioMidrange_FWD_DEFINED__ +typedef interface IAudioMidrange IAudioMidrange; +#endif /* __IAudioMidrange_FWD_DEFINED__ */ + + +#ifndef __IAudioTreble_FWD_DEFINED__ +#define __IAudioTreble_FWD_DEFINED__ +typedef interface IAudioTreble IAudioTreble; +#endif /* __IAudioTreble_FWD_DEFINED__ */ + + +#ifndef __IAudioAutoGainControl_FWD_DEFINED__ +#define __IAudioAutoGainControl_FWD_DEFINED__ +typedef interface IAudioAutoGainControl IAudioAutoGainControl; +#endif /* __IAudioAutoGainControl_FWD_DEFINED__ */ + + +#ifndef __IAudioOutputSelector_FWD_DEFINED__ +#define __IAudioOutputSelector_FWD_DEFINED__ +typedef interface IAudioOutputSelector IAudioOutputSelector; +#endif /* __IAudioOutputSelector_FWD_DEFINED__ */ + + +#ifndef __IAudioPeakMeter_FWD_DEFINED__ +#define __IAudioPeakMeter_FWD_DEFINED__ +typedef interface IAudioPeakMeter IAudioPeakMeter; +#endif /* __IAudioPeakMeter_FWD_DEFINED__ */ + + +#ifndef __IDeviceSpecificProperty_FWD_DEFINED__ +#define __IDeviceSpecificProperty_FWD_DEFINED__ +typedef interface IDeviceSpecificProperty IDeviceSpecificProperty; +#endif /* __IDeviceSpecificProperty_FWD_DEFINED__ */ + + +#ifndef __IKsFormatSupport_FWD_DEFINED__ +#define __IKsFormatSupport_FWD_DEFINED__ +typedef interface IKsFormatSupport IKsFormatSupport; +#endif /* __IKsFormatSupport_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "propidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_devicetopology_0000_0000 */ +/* [local] */ + +#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) +// +// Flag for clients of IControlChangeNotify::OnNotify to allow those clients to identify hardware initiated notifications +// +#define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 'draH' +/* E2C2E9DE-09B1-4B04-84E5-07931225EE04 */ +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 /* [public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001 + { + ULONG FormatSize; + ULONG Flags; + ULONG SampleSize; + ULONG Reserved; + GUID MajorFormat; + GUID SubFormat; + GUID Specifier; + } KSDATAFORMAT; + +typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0001 *PKSDATAFORMAT; + +typedef /* [public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002 + { + union + { + struct + { + GUID Set; + ULONG Id; + ULONG Flags; + } ; + LONGLONG Alignment; + } ; + } KSIDENTIFIER; + +typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0002 *PKSIDENTIFIER; + +typedef /* [public][public][public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0005 + { ePcxChanMap_FL_FR = 0, + ePcxChanMap_FC_LFE = ( ePcxChanMap_FL_FR + 1 ) , + ePcxChanMap_BL_BR = ( ePcxChanMap_FC_LFE + 1 ) , + ePcxChanMap_FLC_FRC = ( ePcxChanMap_BL_BR + 1 ) , + ePcxChanMap_SL_SR = ( ePcxChanMap_FLC_FRC + 1 ) , + ePcxChanMap_Unknown = ( ePcxChanMap_SL_SR + 1 ) + } EChannelMapping; + +typedef /* [public][public][public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0006 + { eConnTypeUnknown = 0, + eConnTypeEighth = ( eConnTypeUnknown + 1 ) , + eConnTypeQuarter = ( eConnTypeEighth + 1 ) , + eConnTypeAtapiInternal = ( eConnTypeQuarter + 1 ) , + eConnTypeRCA = ( eConnTypeAtapiInternal + 1 ) , + eConnTypeOptical = ( eConnTypeRCA + 1 ) , + eConnTypeOtherDigital = ( eConnTypeOptical + 1 ) , + eConnTypeOtherAnalog = ( eConnTypeOtherDigital + 1 ) , + eConnTypeMultichannelAnalogDIN = ( eConnTypeOtherAnalog + 1 ) , + eConnTypeXlrProfessional = ( eConnTypeMultichannelAnalogDIN + 1 ) , + eConnTypeRJ11Modem = ( eConnTypeXlrProfessional + 1 ) , + eConnTypeCombination = ( eConnTypeRJ11Modem + 1 ) + } EPcxConnectionType; + +typedef /* [public][public][public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0007 + { eGeoLocRear = 0x1, + eGeoLocFront = ( eGeoLocRear + 1 ) , + eGeoLocLeft = ( eGeoLocFront + 1 ) , + eGeoLocRight = ( eGeoLocLeft + 1 ) , + eGeoLocTop = ( eGeoLocRight + 1 ) , + eGeoLocBottom = ( eGeoLocTop + 1 ) , + eGeoLocRearOPanel = ( eGeoLocBottom + 1 ) , + eGeoLocRiser = ( eGeoLocRearOPanel + 1 ) , + eGeoLocInsideMobileLid = ( eGeoLocRiser + 1 ) , + eGeoLocDrivebay = ( eGeoLocInsideMobileLid + 1 ) , + eGeoLocHDMI = ( eGeoLocDrivebay + 1 ) , + eGeoLocOutsideMobileLid = ( eGeoLocHDMI + 1 ) , + eGeoLocATAPI = ( eGeoLocOutsideMobileLid + 1 ) , + eGeoLocReserved5 = ( eGeoLocATAPI + 1 ) , + eGeoLocReserved6 = ( eGeoLocReserved5 + 1 ) + } EPcxGeoLocation; + +typedef /* [public][public][public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0008 + { eGenLocPrimaryBox = 0, + eGenLocInternal = ( eGenLocPrimaryBox + 1 ) , + eGenLocSeperate = ( eGenLocInternal + 1 ) , + eGenLocOther = ( eGenLocSeperate + 1 ) + } EPcxGenLocation; + +typedef /* [public][public][public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0009 + { ePortConnJack = 0, + ePortConnIntegratedDevice = ( ePortConnJack + 1 ) , + ePortConnBothIntegratedAndJack = ( ePortConnIntegratedDevice + 1 ) , + ePortConnUnknown = ( ePortConnBothIntegratedAndJack + 1 ) + } EPxcPortConnection; + +typedef /* [public][public] */ struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010 + { + EChannelMapping ChannelMapping; + COLORREF Color; + EPcxConnectionType ConnectionType; + EPcxGeoLocation GeoLocation; + EPcxGenLocation GenLocation; + EPxcPortConnection PortConnection; + BOOL IsConnected; + } KSJACK_DESCRIPTION; + +typedef struct __MIDL___MIDL_itf_devicetopology_0000_0000_0010 *PKSJACK_DESCRIPTION; + +typedef KSIDENTIFIER KSPROPERTY; + +typedef KSIDENTIFIER *PKSPROPERTY; + +typedef KSIDENTIFIER KSMETHOD; + +typedef KSIDENTIFIER *PKSMETHOD; + +typedef KSIDENTIFIER KSEVENT; + +typedef KSIDENTIFIER *PKSEVENT; + +#endif + + + + + + + + +typedef /* [public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0011 + { In = 0, + Out = ( In + 1 ) + } DataFlow; + +typedef /* [public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0012 + { Connector = 0, + Subunit = ( Connector + 1 ) + } PartType; + +#define PARTTYPE_FLAG_CONNECTOR 0x00010000 +#define PARTTYPE_FLAG_SUBUNIT 0x00020000 +#define PARTTYPE_MASK 0x00030000 +#define PARTID_MASK 0x0000ffff +typedef /* [public][public] */ +enum __MIDL___MIDL_itf_devicetopology_0000_0000_0013 + { Unknown_Connector = 0, + Physical_Internal = ( Unknown_Connector + 1 ) , + Physical_External = ( Physical_Internal + 1 ) , + Software_IO = ( Physical_External + 1 ) , + Software_Fixed = ( Software_IO + 1 ) , + Network = ( Software_Fixed + 1 ) + } ConnectorType; + + + +extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_devicetopology_0000_0000_v0_0_s_ifspec; + +#ifndef __IKsControl_INTERFACE_DEFINED__ +#define __IKsControl_INTERFACE_DEFINED__ + +/* interface IKsControl */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IKsControl; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("28F54685-06FD-11D2-B27A-00A0C9223196") + IKsControl : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE KsProperty( + /* [in] */ PKSPROPERTY Property, + /* [in] */ ULONG PropertyLength, + /* [out][in] */ void *PropertyData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE KsMethod( + /* [in] */ PKSMETHOD Method, + /* [in] */ ULONG MethodLength, + /* [out][in] */ void *MethodData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE KsEvent( + /* [in] */ PKSEVENT Event, + /* [in] */ ULONG EventLength, + /* [out][in] */ void *EventData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned) = 0; + + }; + +#else /* C style interface */ + + typedef struct IKsControlVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKsControl * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKsControl * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKsControl * This); + + HRESULT ( STDMETHODCALLTYPE *KsProperty )( + IKsControl * This, + /* [in] */ PKSPROPERTY Property, + /* [in] */ ULONG PropertyLength, + /* [out][in] */ void *PropertyData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned); + + HRESULT ( STDMETHODCALLTYPE *KsMethod )( + IKsControl * This, + /* [in] */ PKSMETHOD Method, + /* [in] */ ULONG MethodLength, + /* [out][in] */ void *MethodData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned); + + HRESULT ( STDMETHODCALLTYPE *KsEvent )( + IKsControl * This, + /* [in] */ PKSEVENT Event, + /* [in] */ ULONG EventLength, + /* [out][in] */ void *EventData, + /* [in] */ ULONG DataLength, + /* [out] */ ULONG *BytesReturned); + + END_INTERFACE + } IKsControlVtbl; + + interface IKsControl + { + CONST_VTBL struct IKsControlVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKsControl_INTERFACE_DEFINED__ */ + + +#ifndef __IPerChannelDbLevel_INTERFACE_DEFINED__ +#define __IPerChannelDbLevel_INTERFACE_DEFINED__ + +/* interface IPerChannelDbLevel */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IPerChannelDbLevel; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C2F8E001-F205-4BC9-99BC-C13B1E048CCB") + IPerChannelDbLevel : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( + /* [out] */ + __out UINT *pcChannels) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevelRange( + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevel( + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelUniform( + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLevelAllChannels( + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IPerChannelDbLevelVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IPerChannelDbLevel * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IPerChannelDbLevel * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IPerChannelDbLevel * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IPerChannelDbLevel * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( + IPerChannelDbLevel * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IPerChannelDbLevel * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IPerChannelDbLevel * This, + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( + IPerChannelDbLevel * This, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( + IPerChannelDbLevel * This, + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IPerChannelDbLevelVtbl; + + interface IPerChannelDbLevel + { + CONST_VTBL struct IPerChannelDbLevelVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IPerChannelDbLevel_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioVolumeLevel_INTERFACE_DEFINED__ +#define __IAudioVolumeLevel_INTERFACE_DEFINED__ + +/* interface IAudioVolumeLevel */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioVolumeLevel; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7FB7B48F-531D-44A2-BCB3-5AD5A134B3DC") + IAudioVolumeLevel : public IPerChannelDbLevel + { + public: + }; + +#else /* C style interface */ + + typedef struct IAudioVolumeLevelVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioVolumeLevel * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioVolumeLevel * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioVolumeLevel * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IAudioVolumeLevel * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( + IAudioVolumeLevel * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IAudioVolumeLevel * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IAudioVolumeLevel * This, + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( + IAudioVolumeLevel * This, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( + IAudioVolumeLevel * This, + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioVolumeLevelVtbl; + + interface IAudioVolumeLevel + { + CONST_VTBL struct IAudioVolumeLevelVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioVolumeLevel_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioChannelConfig_INTERFACE_DEFINED__ +#define __IAudioChannelConfig_INTERFACE_DEFINED__ + +/* interface IAudioChannelConfig */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioChannelConfig; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BB11C46F-EC28-493C-B88A-5DB88062CE98") + IAudioChannelConfig : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetChannelConfig( + /* [in] */ DWORD dwConfig, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelConfig( + /* [retval][out] */ DWORD *pdwConfig) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioChannelConfigVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioChannelConfig * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioChannelConfig * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioChannelConfig * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetChannelConfig )( + IAudioChannelConfig * This, + /* [in] */ DWORD dwConfig, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelConfig )( + IAudioChannelConfig * This, + /* [retval][out] */ DWORD *pdwConfig); + + END_INTERFACE + } IAudioChannelConfigVtbl; + + interface IAudioChannelConfig + { + CONST_VTBL struct IAudioChannelConfigVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioChannelConfig_SetChannelConfig(This,dwConfig,pguidEventContext) \ + ( (This)->lpVtbl -> SetChannelConfig(This,dwConfig,pguidEventContext) ) + +#define IAudioChannelConfig_GetChannelConfig(This,pdwConfig) \ + ( (This)->lpVtbl -> GetChannelConfig(This,pdwConfig) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioChannelConfig_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioLoudness_INTERFACE_DEFINED__ +#define __IAudioLoudness_INTERFACE_DEFINED__ + +/* interface IAudioLoudness */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioLoudness; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7D8B1437-DD53-4350-9C1B-1EE2890BD938") + IAudioLoudness : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( + /* [out] */ + __out BOOL *pbEnabled) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( + /* [in] */ + __in BOOL bEnable, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioLoudnessVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioLoudness * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioLoudness * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioLoudness * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( + IAudioLoudness * This, + /* [out] */ + __out BOOL *pbEnabled); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( + IAudioLoudness * This, + /* [in] */ + __in BOOL bEnable, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioLoudnessVtbl; + + interface IAudioLoudness + { + CONST_VTBL struct IAudioLoudnessVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioLoudness_GetEnabled(This,pbEnabled) \ + ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) ) + +#define IAudioLoudness_SetEnabled(This,bEnable,pguidEventContext) \ + ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioLoudness_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioInputSelector_INTERFACE_DEFINED__ +#define __IAudioInputSelector_INTERFACE_DEFINED__ + +/* interface IAudioInputSelector */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioInputSelector; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4F03DC02-5E6E-4653-8F72-A030C123D598") + IAudioInputSelector : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( + /* [out] */ + __out UINT *pnIdSelected) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( + /* [in] */ + __in UINT nIdSelect, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioInputSelectorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioInputSelector * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioInputSelector * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioInputSelector * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( + IAudioInputSelector * This, + /* [out] */ + __out UINT *pnIdSelected); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( + IAudioInputSelector * This, + /* [in] */ + __in UINT nIdSelect, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioInputSelectorVtbl; + + interface IAudioInputSelector + { + CONST_VTBL struct IAudioInputSelectorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioInputSelector_GetSelection(This,pnIdSelected) \ + ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) ) + +#define IAudioInputSelector_SetSelection(This,nIdSelect,pguidEventContext) \ + ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioInputSelector_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioOutputSelector_INTERFACE_DEFINED__ +#define __IAudioOutputSelector_INTERFACE_DEFINED__ + +/* interface IAudioOutputSelector */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioOutputSelector; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BB515F69-94A7-429e-8B9C-271B3F11A3AB") + IAudioOutputSelector : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelection( + /* [out] */ + __out UINT *pnIdSelected) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSelection( + /* [in] */ + __in UINT nIdSelect, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioOutputSelectorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioOutputSelector * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioOutputSelector * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioOutputSelector * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelection )( + IAudioOutputSelector * This, + /* [out] */ + __out UINT *pnIdSelected); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSelection )( + IAudioOutputSelector * This, + /* [in] */ + __in UINT nIdSelect, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioOutputSelectorVtbl; + + interface IAudioOutputSelector + { + CONST_VTBL struct IAudioOutputSelectorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioOutputSelector_GetSelection(This,pnIdSelected) \ + ( (This)->lpVtbl -> GetSelection(This,pnIdSelected) ) + +#define IAudioOutputSelector_SetSelection(This,nIdSelect,pguidEventContext) \ + ( (This)->lpVtbl -> SetSelection(This,nIdSelect,pguidEventContext) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioOutputSelector_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioMute_INTERFACE_DEFINED__ +#define __IAudioMute_INTERFACE_DEFINED__ + +/* interface IAudioMute */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioMute; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("DF45AEEA-B74A-4B6B-AFAD-2366B6AA012E") + IAudioMute : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMute( + /* [in] */ + __in BOOL bMuted, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMute( + /* [out] */ + __out BOOL *pbMuted) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioMuteVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioMute * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioMute * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioMute * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMute )( + IAudioMute * This, + /* [in] */ + __in BOOL bMuted, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMute )( + IAudioMute * This, + /* [out] */ + __out BOOL *pbMuted); + + END_INTERFACE + } IAudioMuteVtbl; + + interface IAudioMute + { + CONST_VTBL struct IAudioMuteVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioMute_SetMute(This,bMuted,pguidEventContext) \ + ( (This)->lpVtbl -> SetMute(This,bMuted,pguidEventContext) ) + +#define IAudioMute_GetMute(This,pbMuted) \ + ( (This)->lpVtbl -> GetMute(This,pbMuted) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioMute_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBass_INTERFACE_DEFINED__ +#define __IAudioBass_INTERFACE_DEFINED__ + +/* interface IAudioBass */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioBass; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("A2B1A1D9-4DB3-425D-A2B2-BD335CB3E2E5") + IAudioBass : public IPerChannelDbLevel + { + public: + }; + +#else /* C style interface */ + + typedef struct IAudioBassVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBass * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBass * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBass * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IAudioBass * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( + IAudioBass * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IAudioBass * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IAudioBass * This, + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( + IAudioBass * This, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( + IAudioBass * This, + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioBassVtbl; + + interface IAudioBass + { + CONST_VTBL struct IAudioBassVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBass_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioMidrange_INTERFACE_DEFINED__ +#define __IAudioMidrange_INTERFACE_DEFINED__ + +/* interface IAudioMidrange */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioMidrange; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5E54B6D7-B44B-40D9-9A9E-E691D9CE6EDF") + IAudioMidrange : public IPerChannelDbLevel + { + public: + }; + +#else /* C style interface */ + + typedef struct IAudioMidrangeVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioMidrange * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioMidrange * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioMidrange * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IAudioMidrange * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( + IAudioMidrange * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IAudioMidrange * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IAudioMidrange * This, + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( + IAudioMidrange * This, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( + IAudioMidrange * This, + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioMidrangeVtbl; + + interface IAudioMidrange + { + CONST_VTBL struct IAudioMidrangeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioMidrange_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioTreble_INTERFACE_DEFINED__ +#define __IAudioTreble_INTERFACE_DEFINED__ + +/* interface IAudioTreble */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioTreble; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("0A717812-694E-4907-B74B-BAFA5CFDCA7B") + IAudioTreble : public IPerChannelDbLevel + { + public: + }; + +#else /* C style interface */ + + typedef struct IAudioTrebleVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioTreble * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioTreble * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioTreble * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IAudioTreble * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevelRange )( + IAudioTreble * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfMinLevelDB, + /* [out] */ + __out float *pfMaxLevelDB, + /* [out] */ + __out float *pfStepping); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IAudioTreble * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevelDB); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevel )( + IAudioTreble * This, + /* [in] */ + __in UINT nChannel, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelUniform )( + IAudioTreble * This, + /* [in] */ + __in float fLevelDB, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLevelAllChannels )( + IAudioTreble * This, + /* [size_is][in] */ + __in_ecount(cChannels) float aLevelsDB[ ], + /* [in] */ + __in ULONG cChannels, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioTrebleVtbl; + + interface IAudioTreble + { + CONST_VTBL struct IAudioTrebleVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioTreble_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioAutoGainControl_INTERFACE_DEFINED__ +#define __IAudioAutoGainControl_INTERFACE_DEFINED__ + +/* interface IAudioAutoGainControl */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioAutoGainControl; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("85401FD4-6DE4-4b9d-9869-2D6753A82F3C") + IAudioAutoGainControl : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEnabled( + /* [out] */ + __out BOOL *pbEnabled) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEnabled( + /* [in] */ + __in BOOL bEnable, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioAutoGainControlVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioAutoGainControl * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioAutoGainControl * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioAutoGainControl * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( + IAudioAutoGainControl * This, + /* [out] */ + __out BOOL *pbEnabled); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( + IAudioAutoGainControl * This, + /* [in] */ + __in BOOL bEnable, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IAudioAutoGainControlVtbl; + + interface IAudioAutoGainControl + { + CONST_VTBL struct IAudioAutoGainControlVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioAutoGainControl_GetEnabled(This,pbEnabled) \ + ( (This)->lpVtbl -> GetEnabled(This,pbEnabled) ) + +#define IAudioAutoGainControl_SetEnabled(This,bEnable,pguidEventContext) \ + ( (This)->lpVtbl -> SetEnabled(This,bEnable,pguidEventContext) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioAutoGainControl_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioPeakMeter_INTERFACE_DEFINED__ +#define __IAudioPeakMeter_INTERFACE_DEFINED__ + +/* interface IAudioPeakMeter */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IAudioPeakMeter; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("DD79923C-0599-45e0-B8B6-C8DF7DB6E796") + IAudioPeakMeter : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChannelCount( + /* [out] */ + __out UINT *pcChannels) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLevel( + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevel) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAudioPeakMeterVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioPeakMeter * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioPeakMeter * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioPeakMeter * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( + IAudioPeakMeter * This, + /* [out] */ + __out UINT *pcChannels); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLevel )( + IAudioPeakMeter * This, + /* [in] */ + __in UINT nChannel, + /* [out] */ + __out float *pfLevel); + + END_INTERFACE + } IAudioPeakMeterVtbl; + + interface IAudioPeakMeter + { + CONST_VTBL struct IAudioPeakMeterVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IAudioPeakMeter_GetChannelCount(This,pcChannels) \ + ( (This)->lpVtbl -> GetChannelCount(This,pcChannels) ) + +#define IAudioPeakMeter_GetLevel(This,nChannel,pfLevel) \ + ( (This)->lpVtbl -> GetLevel(This,nChannel,pfLevel) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioPeakMeter_INTERFACE_DEFINED__ */ + + +#ifndef __IDeviceSpecificProperty_INTERFACE_DEFINED__ +#define __IDeviceSpecificProperty_INTERFACE_DEFINED__ + +/* interface IDeviceSpecificProperty */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IDeviceSpecificProperty; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3B22BCBF-2586-4af0-8583-205D391B807C") + IDeviceSpecificProperty : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( + /* [out] */ + __deref_out VARTYPE *pVType) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetValue( + /* [out] */ + __out void *pvValue, + /* [out][in] */ + __inout DWORD *pcbValue) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetValue( + /* [in] */ + __in void *pvValue, + /* [in] */ DWORD cbValue, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Get4BRange( + /* [out] */ + __deref_out LONG *plMin, + /* [out] */ + __deref_out LONG *plMax, + /* [out] */ + __deref_out LONG *plStepping) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDeviceSpecificPropertyVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeviceSpecificProperty * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeviceSpecificProperty * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeviceSpecificProperty * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( + IDeviceSpecificProperty * This, + /* [out] */ + __deref_out VARTYPE *pVType); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( + IDeviceSpecificProperty * This, + /* [out] */ + __out void *pvValue, + /* [out][in] */ + __inout DWORD *pcbValue); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( + IDeviceSpecificProperty * This, + /* [in] */ + __in void *pvValue, + /* [in] */ DWORD cbValue, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Get4BRange )( + IDeviceSpecificProperty * This, + /* [out] */ + __deref_out LONG *plMin, + /* [out] */ + __deref_out LONG *plMax, + /* [out] */ + __deref_out LONG *plStepping); + + END_INTERFACE + } IDeviceSpecificPropertyVtbl; + + interface IDeviceSpecificProperty + { + CONST_VTBL struct IDeviceSpecificPropertyVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IDeviceSpecificProperty_GetType(This,pVType) \ + ( (This)->lpVtbl -> GetType(This,pVType) ) + +#define IDeviceSpecificProperty_GetValue(This,pvValue,pcbValue) \ + ( (This)->lpVtbl -> GetValue(This,pvValue,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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeviceSpecificProperty_INTERFACE_DEFINED__ */ + + +#ifndef __IKsFormatSupport_INTERFACE_DEFINED__ +#define __IKsFormatSupport_INTERFACE_DEFINED__ + +/* interface IKsFormatSupport */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IKsFormatSupport; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3CB4A69D-BB6F-4D2B-95B7-452D2C155DB5") + IKsFormatSupport : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsFormatSupported( + /* [size_is][in] */ PKSDATAFORMAT pKsFormat, + /* [in] */ + __in DWORD cbFormat, + /* [out] */ + __out BOOL *pbSupported) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDevicePreferredFormat( + /* [out] */ PKSDATAFORMAT *ppKsFormat) = 0; + + }; + +#else /* C style interface */ + + typedef struct IKsFormatSupportVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKsFormatSupport * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKsFormatSupport * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKsFormatSupport * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( + IKsFormatSupport * This, + /* [size_is][in] */ PKSDATAFORMAT pKsFormat, + /* [in] */ + __in DWORD cbFormat, + /* [out] */ + __out BOOL *pbSupported); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDevicePreferredFormat )( + IKsFormatSupport * This, + /* [out] */ PKSDATAFORMAT *ppKsFormat); + + END_INTERFACE + } IKsFormatSupportVtbl; + + interface IKsFormatSupport + { + CONST_VTBL struct IKsFormatSupportVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IKsFormatSupport_IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) \ + ( (This)->lpVtbl -> IsFormatSupported(This,pKsFormat,cbFormat,pbSupported) ) + +#define IKsFormatSupport_GetDevicePreferredFormat(This,ppKsFormat) \ + ( (This)->lpVtbl -> GetDevicePreferredFormat(This,ppKsFormat) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKsFormatSupport_INTERFACE_DEFINED__ */ + + +#ifndef __IKsJackDescription_INTERFACE_DEFINED__ +#define __IKsJackDescription_INTERFACE_DEFINED__ + +/* interface IKsJackDescription */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IKsJackDescription; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4509F757-2D46-4637-8E62-CE7DB944F57B") + IKsJackDescription : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackCount( + /* [out] */ + __out UINT *pcJacks) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetJackDescription( + /* [in] */ UINT nJack, + /* [out] */ + __out KSJACK_DESCRIPTION *pDescription) = 0; + + }; + +#else /* C style interface */ + + typedef struct IKsJackDescriptionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKsJackDescription * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKsJackDescription * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKsJackDescription * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackCount )( + IKsJackDescription * This, + /* [out] */ + __out UINT *pcJacks); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetJackDescription )( + IKsJackDescription * This, + /* [in] */ UINT nJack, + /* [out] */ + __out KSJACK_DESCRIPTION *pDescription); + + END_INTERFACE + } IKsJackDescriptionVtbl; + + interface IKsJackDescription + { + CONST_VTBL struct IKsJackDescriptionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IKsJackDescription_GetJackCount(This,pcJacks) \ + ( (This)->lpVtbl -> GetJackCount(This,pcJacks) ) + +#define IKsJackDescription_GetJackDescription(This,nJack,pDescription) \ + ( (This)->lpVtbl -> GetJackDescription(This,nJack,pDescription) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKsJackDescription_INTERFACE_DEFINED__ */ + + +#ifndef __IPartsList_INTERFACE_DEFINED__ +#define __IPartsList_INTERFACE_DEFINED__ + +/* interface IPartsList */ +/* [object][unique][helpstring][uuid][local] */ + + +EXTERN_C const IID IID_IPartsList; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6DAA848C-5EB0-45CC-AEA5-998A2CDA1FFB") + IPartsList : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( + /* [out] */ + __out UINT *pCount) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPart( + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IPart **ppPart) = 0; + + }; + +#else /* C style interface */ + + typedef struct IPartsListVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IPartsList * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IPartsList * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IPartsList * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( + IPartsList * This, + /* [out] */ + __out UINT *pCount); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPart )( + IPartsList * This, + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IPart **ppPart); + + END_INTERFACE + } IPartsListVtbl; + + interface IPartsList + { + CONST_VTBL struct IPartsListVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IPartsList_GetCount(This,pCount) \ + ( (This)->lpVtbl -> GetCount(This,pCount) ) + +#define IPartsList_GetPart(This,nIndex,ppPart) \ + ( (This)->lpVtbl -> GetPart(This,nIndex,ppPart) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IPartsList_INTERFACE_DEFINED__ */ + + +#ifndef __IPart_INTERFACE_DEFINED__ +#define __IPart_INTERFACE_DEFINED__ + +/* interface IPart */ +/* [object][unique][helpstring][uuid][local] */ + + +EXTERN_C const IID IID_IPart; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9") + IPart : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( + /* [out] */ + __deref_out LPWSTR *ppwstrName) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLocalId( + /* [out] */ + __out UINT *pnId) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetGlobalId( + /* [out] */ + __deref_out LPWSTR *ppwstrGlobalId) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartType( + /* [out] */ + __out PartType *pPartType) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubType( + /* [out] */ GUID *pSubType) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterfaceCount( + /* [out] */ + __out UINT *pCount) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetControlInterface( + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IControlInterface **ppInterfaceDesc) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsIncoming( + /* [out] */ + __out IPartsList **ppParts) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumPartsOutgoing( + /* [out] */ + __out IPartsList **ppParts) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTopologyObject( + /* [out] */ + __out IDeviceTopology **ppTopology) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate( + /* [in] */ + __in DWORD dwClsContext, + /* [in] */ + __in REFIID refiid, + /* [iid_is][out] */ + __out_opt void **ppvObject) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeCallback( + /* [in] */ + __in REFGUID riid, + /* [in] */ + __in IControlChangeNotify *pNotify) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeCallback( + /* [in] */ + __in IControlChangeNotify *pNotify) = 0; + + }; + +#else /* C style interface */ + + typedef struct IPartVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IPart * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IPart * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IPart * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( + IPart * This, + /* [out] */ + __deref_out LPWSTR *ppwstrName); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLocalId )( + IPart * This, + /* [out] */ + __out UINT *pnId); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetGlobalId )( + IPart * This, + /* [out] */ + __deref_out LPWSTR *ppwstrGlobalId); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartType )( + IPart * This, + /* [out] */ + __out PartType *pPartType); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubType )( + IPart * This, + /* [out] */ GUID *pSubType); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterfaceCount )( + IPart * This, + /* [out] */ + __out UINT *pCount); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlInterface )( + IPart * This, + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IControlInterface **ppInterfaceDesc); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsIncoming )( + IPart * This, + /* [out] */ + __out IPartsList **ppParts); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumPartsOutgoing )( + IPart * This, + /* [out] */ + __out IPartsList **ppParts); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTopologyObject )( + IPart * This, + /* [out] */ + __out IDeviceTopology **ppTopology); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( + IPart * This, + /* [in] */ + __in DWORD dwClsContext, + /* [in] */ + __in REFIID refiid, + /* [iid_is][out] */ + __out_opt void **ppvObject); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeCallback )( + IPart * This, + /* [in] */ + __in REFGUID riid, + /* [in] */ + __in IControlChangeNotify *pNotify); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeCallback )( + IPart * This, + /* [in] */ + __in IControlChangeNotify *pNotify); + + END_INTERFACE + } IPartVtbl; + + interface IPart + { + CONST_VTBL struct IPartVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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_GetTopologyObject(This,ppTopology) \ + ( (This)->lpVtbl -> GetTopologyObject(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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IPart_INTERFACE_DEFINED__ */ + + +#ifndef __IConnector_INTERFACE_DEFINED__ +#define __IConnector_INTERFACE_DEFINED__ + +/* interface IConnector */ +/* [object][unique][helpstring][uuid][local] */ + + +EXTERN_C const IID IID_IConnector; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9c2c4058-23f5-41de-877a-df3af236a09e") + IConnector : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetType( + /* [out] */ + __out ConnectorType *pType) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDataFlow( + /* [out] */ + __out DataFlow *pFlow) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConnectTo( + /* [in] */ + __in IConnector *pConnectTo) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsConnected( + /* [out] */ + __out BOOL *pbConnected) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectedTo( + /* [out] */ + __out IConnector **ppConTo) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorIdConnectedTo( + /* [out] */ + __deref_out LPWSTR *ppwstrConnectorId) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceIdConnectedTo( + /* [out] */ + __deref_out LPWSTR *ppwstrDeviceId) = 0; + + }; + +#else /* C style interface */ + + typedef struct IConnectorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IConnector * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IConnector * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IConnector * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetType )( + IConnector * This, + /* [out] */ + __out ConnectorType *pType); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFlow )( + IConnector * This, + /* [out] */ + __out DataFlow *pFlow); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConnectTo )( + IConnector * This, + /* [in] */ + __in IConnector *pConnectTo); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( + IConnector * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsConnected )( + IConnector * This, + /* [out] */ + __out BOOL *pbConnected); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectedTo )( + IConnector * This, + /* [out] */ + __out IConnector **ppConTo); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorIdConnectedTo )( + IConnector * This, + /* [out] */ + __deref_out LPWSTR *ppwstrConnectorId); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceIdConnectedTo )( + IConnector * This, + /* [out] */ + __deref_out LPWSTR *ppwstrDeviceId); + + END_INTERFACE + } IConnectorVtbl; + + interface IConnector + { + CONST_VTBL struct IConnectorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IConnector_INTERFACE_DEFINED__ */ + + +#ifndef __ISubunit_INTERFACE_DEFINED__ +#define __ISubunit_INTERFACE_DEFINED__ + +/* interface ISubunit */ +/* [object][unique][helpstring][uuid][local] */ + + +EXTERN_C const IID IID_ISubunit; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("82149A85-DBA6-4487-86BB-EA8F7FEFCC71") + ISubunit : public IUnknown + { + public: + }; + +#else /* C style interface */ + + typedef struct ISubunitVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISubunit * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISubunit * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ISubunit * This); + + END_INTERFACE + } ISubunitVtbl; + + interface ISubunit + { + CONST_VTBL struct ISubunitVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISubunit_INTERFACE_DEFINED__ */ + + +#ifndef __IControlInterface_INTERFACE_DEFINED__ +#define __IControlInterface_INTERFACE_DEFINED__ + +/* interface IControlInterface */ +/* [object][unique][helpstring][uuid][local] */ + + +EXTERN_C const IID IID_IControlInterface; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("45d37c3f-5140-444a-ae24-400789f3cbf3") + IControlInterface : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetName( + /* [out] */ + __deref_out LPWSTR *ppwstrName) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetIID( + /* [out] */ + __out GUID *pIID) = 0; + + }; + +#else /* C style interface */ + + typedef struct IControlInterfaceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IControlInterface * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IControlInterface * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IControlInterface * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( + IControlInterface * This, + /* [out] */ + __deref_out LPWSTR *ppwstrName); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetIID )( + IControlInterface * This, + /* [out] */ + __out GUID *pIID); + + END_INTERFACE + } IControlInterfaceVtbl; + + interface IControlInterface + { + CONST_VTBL struct IControlInterfaceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IControlInterface_GetName(This,ppwstrName) \ + ( (This)->lpVtbl -> GetName(This,ppwstrName) ) + +#define IControlInterface_GetIID(This,pIID) \ + ( (This)->lpVtbl -> GetIID(This,pIID) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IControlInterface_INTERFACE_DEFINED__ */ + + +#ifndef __IControlChangeNotify_INTERFACE_DEFINED__ +#define __IControlChangeNotify_INTERFACE_DEFINED__ + +/* interface IControlChangeNotify */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IControlChangeNotify; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("A09513ED-C709-4d21-BD7B-5F34C47F3947") + IControlChangeNotify : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnNotify( + /* [in] */ + __in DWORD dwSenderProcessId, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext) = 0; + + }; + +#else /* C style interface */ + + typedef struct IControlChangeNotifyVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IControlChangeNotify * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IControlChangeNotify * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IControlChangeNotify * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnNotify )( + IControlChangeNotify * This, + /* [in] */ + __in DWORD dwSenderProcessId, + /* [unique][in] */ + __in_opt LPCGUID pguidEventContext); + + END_INTERFACE + } IControlChangeNotifyVtbl; + + interface IControlChangeNotify + { + CONST_VTBL struct IControlChangeNotifyVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#define IControlChangeNotify_OnNotify(This,dwSenderProcessId,pguidEventContext) \ + ( (This)->lpVtbl -> OnNotify(This,dwSenderProcessId,pguidEventContext) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IControlChangeNotify_INTERFACE_DEFINED__ */ + + +#ifndef __IDeviceTopology_INTERFACE_DEFINED__ +#define __IDeviceTopology_INTERFACE_DEFINED__ + +/* interface IDeviceTopology */ +/* [unique][helpstring][nonextensible][uuid][local][object] */ + + +EXTERN_C const IID IID_IDeviceTopology; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2A07407E-6497-4A18-9787-32F79BD0D98F") + IDeviceTopology : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnectorCount( + /* [out] */ + __out UINT *pCount) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetConnector( + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IConnector **ppConnector) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunitCount( + /* [out] */ + __out UINT *pCount) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSubunit( + /* [in] */ + __in UINT nIndex, + /* [out] */ + __deref_out ISubunit **ppSubunit) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPartById( + /* [in] */ + __in UINT nId, + /* [out] */ + __deref_out IPart **ppPart) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDeviceId( + /* [out] */ + __deref_out LPWSTR *ppwstrDeviceId) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSignalPath( + /* [in] */ + __in IPart *pIPartFrom, + /* [in] */ + __in IPart *pIPartTo, + /* [in] */ + __in BOOL bRejectMixedPaths, + /* [out] */ + __deref_out IPartsList **ppParts) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDeviceTopologyVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDeviceTopology * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDeviceTopology * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDeviceTopology * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectorCount )( + IDeviceTopology * This, + /* [out] */ + __out UINT *pCount); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetConnector )( + IDeviceTopology * This, + /* [in] */ + __in UINT nIndex, + /* [out] */ + __out IConnector **ppConnector); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunitCount )( + IDeviceTopology * This, + /* [out] */ + __out UINT *pCount); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubunit )( + IDeviceTopology * This, + /* [in] */ + __in UINT nIndex, + /* [out] */ + __deref_out ISubunit **ppSubunit); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPartById )( + IDeviceTopology * This, + /* [in] */ + __in UINT nId, + /* [out] */ + __deref_out IPart **ppPart); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDeviceId )( + IDeviceTopology * This, + /* [out] */ + __deref_out LPWSTR *ppwstrDeviceId); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSignalPath )( + IDeviceTopology * This, + /* [in] */ + __in IPart *pIPartFrom, + /* [in] */ + __in IPart *pIPartTo, + /* [in] */ + __in BOOL bRejectMixedPaths, + /* [out] */ + __deref_out IPartsList **ppParts); + + END_INTERFACE + } IDeviceTopologyVtbl; + + interface IDeviceTopology + { + CONST_VTBL struct IDeviceTopologyVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#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) ) + + +#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,ppSubunit) \ + ( (This)->lpVtbl -> GetSubunit(This,nIndex,ppSubunit) ) + +#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) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDeviceTopology_INTERFACE_DEFINED__ */ + + + +#ifndef __DevTopologyLib_LIBRARY_DEFINED__ +#define __DevTopologyLib_LIBRARY_DEFINED__ + +/* library DevTopologyLib */ +/* [helpstring][version][uuid] */ + + + + + + + + + + + + + + + + +EXTERN_C const IID LIBID_DevTopologyLib; + +EXTERN_C const CLSID CLSID_DeviceTopology; + +#ifdef __cplusplus + +class DECLSPEC_UUID("1DF639D0-5EC1-47AA-9379-828DC1AA8C59") +DeviceTopology; +#endif +#endif /* __DevTopologyLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + + |