/* 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 version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the 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 #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