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