/*** Autogenerated by WIDL 11.6 from include/tuner.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __tuner_h__
#define __tuner_h__

/* Forward declarations */

#ifndef __ITuningSpaces_FWD_DEFINED__
#define __ITuningSpaces_FWD_DEFINED__
typedef interface ITuningSpaces ITuningSpaces;
#ifdef __cplusplus
interface ITuningSpaces;
#endif /* __cplusplus */
#endif

#ifndef __ITuningSpaceContainer_FWD_DEFINED__
#define __ITuningSpaceContainer_FWD_DEFINED__
typedef interface ITuningSpaceContainer ITuningSpaceContainer;
#ifdef __cplusplus
interface ITuningSpaceContainer;
#endif /* __cplusplus */
#endif

#ifndef __ITuningSpace_FWD_DEFINED__
#define __ITuningSpace_FWD_DEFINED__
typedef interface ITuningSpace ITuningSpace;
#ifdef __cplusplus
interface ITuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IEnumTuningSpaces_FWD_DEFINED__
#define __IEnumTuningSpaces_FWD_DEFINED__
typedef interface IEnumTuningSpaces IEnumTuningSpaces;
#ifdef __cplusplus
interface IEnumTuningSpaces;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTuningSpace_FWD_DEFINED__
#define __IDVBTuningSpace_FWD_DEFINED__
typedef interface IDVBTuningSpace IDVBTuningSpace;
#ifdef __cplusplus
interface IDVBTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTuningSpace2_FWD_DEFINED__
#define __IDVBTuningSpace2_FWD_DEFINED__
typedef interface IDVBTuningSpace2 IDVBTuningSpace2;
#ifdef __cplusplus
interface IDVBTuningSpace2;
#endif /* __cplusplus */
#endif

#ifndef __IDVBSTuningSpace_FWD_DEFINED__
#define __IDVBSTuningSpace_FWD_DEFINED__
typedef interface IDVBSTuningSpace IDVBSTuningSpace;
#ifdef __cplusplus
interface IDVBSTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IAuxInTuningSpace_FWD_DEFINED__
#define __IAuxInTuningSpace_FWD_DEFINED__
typedef interface IAuxInTuningSpace IAuxInTuningSpace;
#ifdef __cplusplus
interface IAuxInTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IAuxInTuningSpace2_FWD_DEFINED__
#define __IAuxInTuningSpace2_FWD_DEFINED__
typedef interface IAuxInTuningSpace2 IAuxInTuningSpace2;
#ifdef __cplusplus
interface IAuxInTuningSpace2;
#endif /* __cplusplus */
#endif

#ifndef __IAnalogTVTuningSpace_FWD_DEFINED__
#define __IAnalogTVTuningSpace_FWD_DEFINED__
typedef interface IAnalogTVTuningSpace IAnalogTVTuningSpace;
#ifdef __cplusplus
interface IAnalogTVTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IATSCTuningSpace_FWD_DEFINED__
#define __IATSCTuningSpace_FWD_DEFINED__
typedef interface IATSCTuningSpace IATSCTuningSpace;
#ifdef __cplusplus
interface IATSCTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableTuningSpace_FWD_DEFINED__
#define __IDigitalCableTuningSpace_FWD_DEFINED__
typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace;
#ifdef __cplusplus
interface IDigitalCableTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IAnalogRadioTuningSpace_FWD_DEFINED__
#define __IAnalogRadioTuningSpace_FWD_DEFINED__
typedef interface IAnalogRadioTuningSpace IAnalogRadioTuningSpace;
#ifdef __cplusplus
interface IAnalogRadioTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IAnalogRadioTuningSpace2_FWD_DEFINED__
#define __IAnalogRadioTuningSpace2_FWD_DEFINED__
typedef interface IAnalogRadioTuningSpace2 IAnalogRadioTuningSpace2;
#ifdef __cplusplus
interface IAnalogRadioTuningSpace2;
#endif /* __cplusplus */
#endif

#ifndef __ITuneRequest_FWD_DEFINED__
#define __ITuneRequest_FWD_DEFINED__
typedef interface ITuneRequest ITuneRequest;
#ifdef __cplusplus
interface ITuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IChannelIDTuneRequest_FWD_DEFINED__
#define __IChannelIDTuneRequest_FWD_DEFINED__
typedef interface IChannelIDTuneRequest IChannelIDTuneRequest;
#ifdef __cplusplus
interface IChannelIDTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IChannelTuneRequest_FWD_DEFINED__
#define __IChannelTuneRequest_FWD_DEFINED__
typedef interface IChannelTuneRequest IChannelTuneRequest;
#ifdef __cplusplus
interface IChannelTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IATSCChannelTuneRequest_FWD_DEFINED__
#define __IATSCChannelTuneRequest_FWD_DEFINED__
typedef interface IATSCChannelTuneRequest IATSCChannelTuneRequest;
#ifdef __cplusplus
interface IATSCChannelTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableTuneRequest_FWD_DEFINED__
#define __IDigitalCableTuneRequest_FWD_DEFINED__
typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest;
#ifdef __cplusplus
interface IDigitalCableTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTuneRequest_FWD_DEFINED__
#define __IDVBTuneRequest_FWD_DEFINED__
typedef interface IDVBTuneRequest IDVBTuneRequest;
#ifdef __cplusplus
interface IDVBTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2TuneRequest_FWD_DEFINED__
#define __IMPEG2TuneRequest_FWD_DEFINED__
typedef interface IMPEG2TuneRequest IMPEG2TuneRequest;
#ifdef __cplusplus
interface IMPEG2TuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2TuneRequestFactory_FWD_DEFINED__
#define __IMPEG2TuneRequestFactory_FWD_DEFINED__
typedef interface IMPEG2TuneRequestFactory IMPEG2TuneRequestFactory;
#ifdef __cplusplus
interface IMPEG2TuneRequestFactory;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2TuneRequestSupport_FWD_DEFINED__
#define __IMPEG2TuneRequestSupport_FWD_DEFINED__
typedef interface IMPEG2TuneRequestSupport IMPEG2TuneRequestSupport;
#ifdef __cplusplus
interface IMPEG2TuneRequestSupport;
#endif /* __cplusplus */
#endif

#ifndef __ITunerCap_FWD_DEFINED__
#define __ITunerCap_FWD_DEFINED__
typedef interface ITunerCap ITunerCap;
#ifdef __cplusplus
interface ITunerCap;
#endif /* __cplusplus */
#endif

#ifndef __ITunerCapEx_FWD_DEFINED__
#define __ITunerCapEx_FWD_DEFINED__
typedef interface ITunerCapEx ITunerCapEx;
#ifdef __cplusplus
interface ITunerCapEx;
#endif /* __cplusplus */
#endif

#ifndef __ITuner_FWD_DEFINED__
#define __ITuner_FWD_DEFINED__
typedef interface ITuner ITuner;
#ifdef __cplusplus
interface ITuner;
#endif /* __cplusplus */
#endif

#ifndef __IScanningTuner_FWD_DEFINED__
#define __IScanningTuner_FWD_DEFINED__
typedef interface IScanningTuner IScanningTuner;
#ifdef __cplusplus
interface IScanningTuner;
#endif /* __cplusplus */
#endif

#ifndef __IScanningTunerEx_FWD_DEFINED__
#define __IScanningTunerEx_FWD_DEFINED__
typedef interface IScanningTunerEx IScanningTunerEx;
#ifdef __cplusplus
interface IScanningTunerEx;
#endif /* __cplusplus */
#endif

#ifndef __IComponentType_FWD_DEFINED__
#define __IComponentType_FWD_DEFINED__
typedef interface IComponentType IComponentType;
#ifdef __cplusplus
interface IComponentType;
#endif /* __cplusplus */
#endif

#ifndef __ILanguageComponentType_FWD_DEFINED__
#define __ILanguageComponentType_FWD_DEFINED__
typedef interface ILanguageComponentType ILanguageComponentType;
#ifdef __cplusplus
interface ILanguageComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2ComponentType_FWD_DEFINED__
#define __IMPEG2ComponentType_FWD_DEFINED__
typedef interface IMPEG2ComponentType IMPEG2ComponentType;
#ifdef __cplusplus
interface IMPEG2ComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IATSCComponentType_FWD_DEFINED__
#define __IATSCComponentType_FWD_DEFINED__
typedef interface IATSCComponentType IATSCComponentType;
#ifdef __cplusplus
interface IATSCComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IEnumComponentTypes_FWD_DEFINED__
#define __IEnumComponentTypes_FWD_DEFINED__
typedef interface IEnumComponentTypes IEnumComponentTypes;
#ifdef __cplusplus
interface IEnumComponentTypes;
#endif /* __cplusplus */
#endif

#ifndef __IComponentTypes_FWD_DEFINED__
#define __IComponentTypes_FWD_DEFINED__
typedef interface IComponentTypes IComponentTypes;
#ifdef __cplusplus
interface IComponentTypes;
#endif /* __cplusplus */
#endif

#ifndef __IComponent_FWD_DEFINED__
#define __IComponent_FWD_DEFINED__
typedef interface IComponent IComponent;
#ifdef __cplusplus
interface IComponent;
#endif /* __cplusplus */
#endif

#ifndef __IAnalogAudioComponentType_FWD_DEFINED__
#define __IAnalogAudioComponentType_FWD_DEFINED__
typedef interface IAnalogAudioComponentType IAnalogAudioComponentType;
#ifdef __cplusplus
interface IAnalogAudioComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2Component_FWD_DEFINED__
#define __IMPEG2Component_FWD_DEFINED__
typedef interface IMPEG2Component IMPEG2Component;
#ifdef __cplusplus
interface IMPEG2Component;
#endif /* __cplusplus */
#endif

#ifndef __IEnumComponents_FWD_DEFINED__
#define __IEnumComponents_FWD_DEFINED__
typedef interface IEnumComponents IEnumComponents;
#ifdef __cplusplus
interface IEnumComponents;
#endif /* __cplusplus */
#endif

#ifndef __IComponents_FWD_DEFINED__
#define __IComponents_FWD_DEFINED__
typedef interface IComponents IComponents;
#ifdef __cplusplus
interface IComponents;
#endif /* __cplusplus */
#endif

#ifndef __IComponentsOld_FWD_DEFINED__
#define __IComponentsOld_FWD_DEFINED__
typedef interface IComponentsOld IComponentsOld;
#ifdef __cplusplus
interface IComponentsOld;
#endif /* __cplusplus */
#endif

#ifndef __ILocator_FWD_DEFINED__
#define __ILocator_FWD_DEFINED__
typedef interface ILocator ILocator;
#ifdef __cplusplus
interface ILocator;
#endif /* __cplusplus */
#endif

#ifndef __IAnalogLocator_FWD_DEFINED__
#define __IAnalogLocator_FWD_DEFINED__
typedef interface IAnalogLocator IAnalogLocator;
#ifdef __cplusplus
interface IAnalogLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalLocator_FWD_DEFINED__
#define __IDigitalLocator_FWD_DEFINED__
typedef interface IDigitalLocator IDigitalLocator;
#ifdef __cplusplus
interface IDigitalLocator;
#endif /* __cplusplus */
#endif

#ifndef __IATSCLocator_FWD_DEFINED__
#define __IATSCLocator_FWD_DEFINED__
typedef interface IATSCLocator IATSCLocator;
#ifdef __cplusplus
interface IATSCLocator;
#endif /* __cplusplus */
#endif

#ifndef __IATSCLocator2_FWD_DEFINED__
#define __IATSCLocator2_FWD_DEFINED__
typedef interface IATSCLocator2 IATSCLocator2;
#ifdef __cplusplus
interface IATSCLocator2;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableLocator_FWD_DEFINED__
#define __IDigitalCableLocator_FWD_DEFINED__
typedef interface IDigitalCableLocator IDigitalCableLocator;
#ifdef __cplusplus
interface IDigitalCableLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTLocator_FWD_DEFINED__
#define __IDVBTLocator_FWD_DEFINED__
typedef interface IDVBTLocator IDVBTLocator;
#ifdef __cplusplus
interface IDVBTLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTLocator2_FWD_DEFINED__
#define __IDVBTLocator2_FWD_DEFINED__
typedef interface IDVBTLocator2 IDVBTLocator2;
#ifdef __cplusplus
interface IDVBTLocator2;
#endif /* __cplusplus */
#endif

#ifndef __IDVBSLocator_FWD_DEFINED__
#define __IDVBSLocator_FWD_DEFINED__
typedef interface IDVBSLocator IDVBSLocator;
#ifdef __cplusplus
interface IDVBSLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBSLocator2_FWD_DEFINED__
#define __IDVBSLocator2_FWD_DEFINED__
typedef interface IDVBSLocator2 IDVBSLocator2;
#ifdef __cplusplus
interface IDVBSLocator2;
#endif /* __cplusplus */
#endif

#ifndef __IDVBCLocator_FWD_DEFINED__
#define __IDVBCLocator_FWD_DEFINED__
typedef interface IDVBCLocator IDVBCLocator;
#ifdef __cplusplus
interface IDVBCLocator;
#endif /* __cplusplus */
#endif

#ifndef __IISDBSLocator_FWD_DEFINED__
#define __IISDBSLocator_FWD_DEFINED__
typedef interface IISDBSLocator IISDBSLocator;
#ifdef __cplusplus
interface IISDBSLocator;
#endif /* __cplusplus */
#endif

#ifndef __IESEvent_FWD_DEFINED__
#define __IESEvent_FWD_DEFINED__
typedef interface IESEvent IESEvent;
#ifdef __cplusplus
interface IESEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESOpenMmiEvent_FWD_DEFINED__
#define __IESOpenMmiEvent_FWD_DEFINED__
typedef interface IESOpenMmiEvent IESOpenMmiEvent;
#ifdef __cplusplus
interface IESOpenMmiEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESCloseMmiEvent_FWD_DEFINED__
#define __IESCloseMmiEvent_FWD_DEFINED__
typedef interface IESCloseMmiEvent IESCloseMmiEvent;
#ifdef __cplusplus
interface IESCloseMmiEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESValueUpdatedEvent_FWD_DEFINED__
#define __IESValueUpdatedEvent_FWD_DEFINED__
typedef interface IESValueUpdatedEvent IESValueUpdatedEvent;
#ifdef __cplusplus
interface IESValueUpdatedEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESRequestTunerEvent_FWD_DEFINED__
#define __IESRequestTunerEvent_FWD_DEFINED__
typedef interface IESRequestTunerEvent IESRequestTunerEvent;
#ifdef __cplusplus
interface IESRequestTunerEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESIsdbCasResponseEvent_FWD_DEFINED__
#define __IESIsdbCasResponseEvent_FWD_DEFINED__
typedef interface IESIsdbCasResponseEvent IESIsdbCasResponseEvent;
#ifdef __cplusplus
interface IESIsdbCasResponseEvent;
#endif /* __cplusplus */
#endif

#ifndef __IGpnvsCommonBase_FWD_DEFINED__
#define __IGpnvsCommonBase_FWD_DEFINED__
typedef interface IGpnvsCommonBase IGpnvsCommonBase;
#ifdef __cplusplus
interface IGpnvsCommonBase;
#endif /* __cplusplus */
#endif

#ifndef __IESEventFactory_FWD_DEFINED__
#define __IESEventFactory_FWD_DEFINED__
typedef interface IESEventFactory IESEventFactory;
#ifdef __cplusplus
interface IESEventFactory;
#endif /* __cplusplus */
#endif

#ifndef __IESLicenseRenewalResultEvent_FWD_DEFINED__
#define __IESLicenseRenewalResultEvent_FWD_DEFINED__
typedef interface IESLicenseRenewalResultEvent IESLicenseRenewalResultEvent;
#ifdef __cplusplus
interface IESLicenseRenewalResultEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESFileExpiryDateEvent_FWD_DEFINED__
#define __IESFileExpiryDateEvent_FWD_DEFINED__
typedef interface IESFileExpiryDateEvent IESFileExpiryDateEvent;
#ifdef __cplusplus
interface IESFileExpiryDateEvent;
#endif /* __cplusplus */
#endif

#ifndef __IESEvents_FWD_DEFINED__
#define __IESEvents_FWD_DEFINED__
typedef interface IESEvents IESEvents;
#ifdef __cplusplus
interface IESEvents;
#endif /* __cplusplus */
#endif

#ifndef __IESEventService_FWD_DEFINED__
#define __IESEventService_FWD_DEFINED__
typedef interface IESEventService IESEventService;
#ifdef __cplusplus
interface IESEventService;
#endif /* __cplusplus */
#endif

#ifndef __IESEventServiceConfiguration_FWD_DEFINED__
#define __IESEventServiceConfiguration_FWD_DEFINED__
typedef interface IESEventServiceConfiguration IESEventServiceConfiguration;
#ifdef __cplusplus
interface IESEventServiceConfiguration;
#endif /* __cplusplus */
#endif

#ifndef __IBroadcastEvent_FWD_DEFINED__
#define __IBroadcastEvent_FWD_DEFINED__
typedef interface IBroadcastEvent IBroadcastEvent;
#ifdef __cplusplus
interface IBroadcastEvent;
#endif /* __cplusplus */
#endif

#ifndef __IBroadcastEventEx_FWD_DEFINED__
#define __IBroadcastEventEx_FWD_DEFINED__
typedef interface IBroadcastEventEx IBroadcastEventEx;
#ifdef __cplusplus
interface IBroadcastEventEx;
#endif /* __cplusplus */
#endif

#ifndef __IRegisterTuner_FWD_DEFINED__
#define __IRegisterTuner_FWD_DEFINED__
typedef interface IRegisterTuner IRegisterTuner;
#ifdef __cplusplus
interface IRegisterTuner;
#endif /* __cplusplus */
#endif

#ifndef __IBDAComparable_FWD_DEFINED__
#define __IBDAComparable_FWD_DEFINED__
typedef interface IBDAComparable IBDAComparable;
#ifdef __cplusplus
interface IBDAComparable;
#endif /* __cplusplus */
#endif

#ifndef __IPersistTuneXml_FWD_DEFINED__
#define __IPersistTuneXml_FWD_DEFINED__
typedef interface IPersistTuneXml IPersistTuneXml;
#ifdef __cplusplus
interface IPersistTuneXml;
#endif /* __cplusplus */
#endif

#ifndef __IPersistTuneXmlUtility_FWD_DEFINED__
#define __IPersistTuneXmlUtility_FWD_DEFINED__
typedef interface IPersistTuneXmlUtility IPersistTuneXmlUtility;
#ifdef __cplusplus
interface IPersistTuneXmlUtility;
#endif /* __cplusplus */
#endif

#ifndef __IPersistTuneXmlUtility2_FWD_DEFINED__
#define __IPersistTuneXmlUtility2_FWD_DEFINED__
typedef interface IPersistTuneXmlUtility2 IPersistTuneXmlUtility2;
#ifdef __cplusplus
interface IPersistTuneXmlUtility2;
#endif /* __cplusplus */
#endif

#ifndef __IBDACreateTuneRequestEx_FWD_DEFINED__
#define __IBDACreateTuneRequestEx_FWD_DEFINED__
typedef interface IBDACreateTuneRequestEx IBDACreateTuneRequestEx;
#ifdef __cplusplus
interface IBDACreateTuneRequestEx;
#endif /* __cplusplus */
#endif

#ifndef __SystemTuningSpaces_FWD_DEFINED__
#define __SystemTuningSpaces_FWD_DEFINED__
#ifdef __cplusplus
typedef class SystemTuningSpaces SystemTuningSpaces;
#else
typedef struct SystemTuningSpaces SystemTuningSpaces;
#endif /* defined __cplusplus */
#endif /* defined __SystemTuningSpaces_FWD_DEFINED__ */

#ifndef __TuningSpace_FWD_DEFINED__
#define __TuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class TuningSpace TuningSpace;
#else
typedef struct TuningSpace TuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __TuningSpace_FWD_DEFINED__ */

#ifndef __ChannelIDTuningSpace_FWD_DEFINED__
#define __ChannelIDTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class ChannelIDTuningSpace ChannelIDTuningSpace;
#else
typedef struct ChannelIDTuningSpace ChannelIDTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __ChannelIDTuningSpace_FWD_DEFINED__ */

#ifndef __ATSCTuningSpace_FWD_DEFINED__
#define __ATSCTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class ATSCTuningSpace ATSCTuningSpace;
#else
typedef struct ATSCTuningSpace ATSCTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __ATSCTuningSpace_FWD_DEFINED__ */

#ifndef __DigitalCableTuningSpace_FWD_DEFINED__
#define __DigitalCableTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class DigitalCableTuningSpace DigitalCableTuningSpace;
#else
typedef struct DigitalCableTuningSpace DigitalCableTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __DigitalCableTuningSpace_FWD_DEFINED__ */

#ifndef __AnalogRadioTuningSpace_FWD_DEFINED__
#define __AnalogRadioTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class AnalogRadioTuningSpace AnalogRadioTuningSpace;
#else
typedef struct AnalogRadioTuningSpace AnalogRadioTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __AnalogRadioTuningSpace_FWD_DEFINED__ */

#ifndef __AuxInTuningSpace_FWD_DEFINED__
#define __AuxInTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class AuxInTuningSpace AuxInTuningSpace;
#else
typedef struct AuxInTuningSpace AuxInTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __AuxInTuningSpace_FWD_DEFINED__ */

#ifndef __AnalogTVTuningSpace_FWD_DEFINED__
#define __AnalogTVTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class AnalogTVTuningSpace AnalogTVTuningSpace;
#else
typedef struct AnalogTVTuningSpace AnalogTVTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __AnalogTVTuningSpace_FWD_DEFINED__ */

#ifndef __DVBTuningSpace_FWD_DEFINED__
#define __DVBTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBTuningSpace DVBTuningSpace;
#else
typedef struct DVBTuningSpace DVBTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __DVBTuningSpace_FWD_DEFINED__ */

#ifndef __DVBSTuningSpace_FWD_DEFINED__
#define __DVBSTuningSpace_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBSTuningSpace DVBSTuningSpace;
#else
typedef struct DVBSTuningSpace DVBSTuningSpace;
#endif /* defined __cplusplus */
#endif /* defined __DVBSTuningSpace_FWD_DEFINED__ */

#ifndef __ComponentTypes_FWD_DEFINED__
#define __ComponentTypes_FWD_DEFINED__
#ifdef __cplusplus
typedef class ComponentTypes ComponentTypes;
#else
typedef struct ComponentTypes ComponentTypes;
#endif /* defined __cplusplus */
#endif /* defined __ComponentTypes_FWD_DEFINED__ */

#ifndef __ComponentType_FWD_DEFINED__
#define __ComponentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class ComponentType ComponentType;
#else
typedef struct ComponentType ComponentType;
#endif /* defined __cplusplus */
#endif /* defined __ComponentType_FWD_DEFINED__ */

#ifndef __LanguageComponentType_FWD_DEFINED__
#define __LanguageComponentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class LanguageComponentType LanguageComponentType;
#else
typedef struct LanguageComponentType LanguageComponentType;
#endif /* defined __cplusplus */
#endif /* defined __LanguageComponentType_FWD_DEFINED__ */

#ifndef __MPEG2ComponentType_FWD_DEFINED__
#define __MPEG2ComponentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class MPEG2ComponentType MPEG2ComponentType;
#else
typedef struct MPEG2ComponentType MPEG2ComponentType;
#endif /* defined __cplusplus */
#endif /* defined __MPEG2ComponentType_FWD_DEFINED__ */

#ifndef __ATSCComponentType_FWD_DEFINED__
#define __ATSCComponentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class ATSCComponentType ATSCComponentType;
#else
typedef struct ATSCComponentType ATSCComponentType;
#endif /* defined __cplusplus */
#endif /* defined __ATSCComponentType_FWD_DEFINED__ */

#ifndef __Components_FWD_DEFINED__
#define __Components_FWD_DEFINED__
#ifdef __cplusplus
typedef class Components Components;
#else
typedef struct Components Components;
#endif /* defined __cplusplus */
#endif /* defined __Components_FWD_DEFINED__ */

#ifndef __Component_FWD_DEFINED__
#define __Component_FWD_DEFINED__
#ifdef __cplusplus
typedef class Component Component;
#else
typedef struct Component Component;
#endif /* defined __cplusplus */
#endif /* defined __Component_FWD_DEFINED__ */

#ifndef __MPEG2Component_FWD_DEFINED__
#define __MPEG2Component_FWD_DEFINED__
#ifdef __cplusplus
typedef class MPEG2Component MPEG2Component;
#else
typedef struct MPEG2Component MPEG2Component;
#endif /* defined __cplusplus */
#endif /* defined __MPEG2Component_FWD_DEFINED__ */

#ifndef __AnalogAudioComponentType_FWD_DEFINED__
#define __AnalogAudioComponentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class AnalogAudioComponentType AnalogAudioComponentType;
#else
typedef struct AnalogAudioComponentType AnalogAudioComponentType;
#endif /* defined __cplusplus */
#endif /* defined __AnalogAudioComponentType_FWD_DEFINED__ */

#ifndef __TuneRequest_FWD_DEFINED__
#define __TuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class TuneRequest TuneRequest;
#else
typedef struct TuneRequest TuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __TuneRequest_FWD_DEFINED__ */

#ifndef __ChannelIDTuneRequest_FWD_DEFINED__
#define __ChannelIDTuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class ChannelIDTuneRequest ChannelIDTuneRequest;
#else
typedef struct ChannelIDTuneRequest ChannelIDTuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __ChannelIDTuneRequest_FWD_DEFINED__ */

#ifndef __ChannelTuneRequest_FWD_DEFINED__
#define __ChannelTuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class ChannelTuneRequest ChannelTuneRequest;
#else
typedef struct ChannelTuneRequest ChannelTuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __ChannelTuneRequest_FWD_DEFINED__ */

#ifndef __ATSCChannelTuneRequest_FWD_DEFINED__
#define __ATSCChannelTuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class ATSCChannelTuneRequest ATSCChannelTuneRequest;
#else
typedef struct ATSCChannelTuneRequest ATSCChannelTuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __ATSCChannelTuneRequest_FWD_DEFINED__ */

#ifndef __DigitalCableTuneRequest_FWD_DEFINED__
#define __DigitalCableTuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class DigitalCableTuneRequest DigitalCableTuneRequest;
#else
typedef struct DigitalCableTuneRequest DigitalCableTuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __DigitalCableTuneRequest_FWD_DEFINED__ */

#ifndef __MPEG2TuneRequest_FWD_DEFINED__
#define __MPEG2TuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class MPEG2TuneRequest MPEG2TuneRequest;
#else
typedef struct MPEG2TuneRequest MPEG2TuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __MPEG2TuneRequest_FWD_DEFINED__ */

#ifndef __MPEG2TuneRequestFactory_FWD_DEFINED__
#define __MPEG2TuneRequestFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class MPEG2TuneRequestFactory MPEG2TuneRequestFactory;
#else
typedef struct MPEG2TuneRequestFactory MPEG2TuneRequestFactory;
#endif /* defined __cplusplus */
#endif /* defined __MPEG2TuneRequestFactory_FWD_DEFINED__ */

#ifndef __Locator_FWD_DEFINED__
#define __Locator_FWD_DEFINED__
#ifdef __cplusplus
typedef class Locator Locator;
#else
typedef struct Locator Locator;
#endif /* defined __cplusplus */
#endif /* defined __Locator_FWD_DEFINED__ */

#ifndef __DigitalLocator_FWD_DEFINED__
#define __DigitalLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class DigitalLocator DigitalLocator;
#else
typedef struct DigitalLocator DigitalLocator;
#endif /* defined __cplusplus */
#endif /* defined __DigitalLocator_FWD_DEFINED__ */

#ifndef __AnalogLocator_FWD_DEFINED__
#define __AnalogLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class AnalogLocator AnalogLocator;
#else
typedef struct AnalogLocator AnalogLocator;
#endif /* defined __cplusplus */
#endif /* defined __AnalogLocator_FWD_DEFINED__ */

#ifndef __ATSCLocator_FWD_DEFINED__
#define __ATSCLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class ATSCLocator ATSCLocator;
#else
typedef struct ATSCLocator ATSCLocator;
#endif /* defined __cplusplus */
#endif /* defined __ATSCLocator_FWD_DEFINED__ */

#ifndef __DigitalCableLocator_FWD_DEFINED__
#define __DigitalCableLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class DigitalCableLocator DigitalCableLocator;
#else
typedef struct DigitalCableLocator DigitalCableLocator;
#endif /* defined __cplusplus */
#endif /* defined __DigitalCableLocator_FWD_DEFINED__ */

#ifndef __DVBTLocator_FWD_DEFINED__
#define __DVBTLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBTLocator DVBTLocator;
#else
typedef struct DVBTLocator DVBTLocator;
#endif /* defined __cplusplus */
#endif /* defined __DVBTLocator_FWD_DEFINED__ */

#ifndef __DVBTLocator2_FWD_DEFINED__
#define __DVBTLocator2_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBTLocator2 DVBTLocator2;
#else
typedef struct DVBTLocator2 DVBTLocator2;
#endif /* defined __cplusplus */
#endif /* defined __DVBTLocator2_FWD_DEFINED__ */

#ifndef __DVBSLocator_FWD_DEFINED__
#define __DVBSLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBSLocator DVBSLocator;
#else
typedef struct DVBSLocator DVBSLocator;
#endif /* defined __cplusplus */
#endif /* defined __DVBSLocator_FWD_DEFINED__ */

#ifndef __DVBCLocator_FWD_DEFINED__
#define __DVBCLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBCLocator DVBCLocator;
#else
typedef struct DVBCLocator DVBCLocator;
#endif /* defined __cplusplus */
#endif /* defined __DVBCLocator_FWD_DEFINED__ */

#ifndef __ISDBSLocator_FWD_DEFINED__
#define __ISDBSLocator_FWD_DEFINED__
#ifdef __cplusplus
typedef class ISDBSLocator ISDBSLocator;
#else
typedef struct ISDBSLocator ISDBSLocator;
#endif /* defined __cplusplus */
#endif /* defined __ISDBSLocator_FWD_DEFINED__ */

#ifndef __DVBTuneRequest_FWD_DEFINED__
#define __DVBTuneRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class DVBTuneRequest DVBTuneRequest;
#else
typedef struct DVBTuneRequest DVBTuneRequest;
#endif /* defined __cplusplus */
#endif /* defined __DVBTuneRequest_FWD_DEFINED__ */

#ifndef __CreatePropBagOnRegKey_FWD_DEFINED__
#define __CreatePropBagOnRegKey_FWD_DEFINED__
#ifdef __cplusplus
typedef class CreatePropBagOnRegKey CreatePropBagOnRegKey;
#else
typedef struct CreatePropBagOnRegKey CreatePropBagOnRegKey;
#endif /* defined __cplusplus */
#endif /* defined __CreatePropBagOnRegKey_FWD_DEFINED__ */

#ifndef __BroadcastEventService_FWD_DEFINED__
#define __BroadcastEventService_FWD_DEFINED__
#ifdef __cplusplus
typedef class BroadcastEventService BroadcastEventService;
#else
typedef struct BroadcastEventService BroadcastEventService;
#endif /* defined __cplusplus */
#endif /* defined __BroadcastEventService_FWD_DEFINED__ */

#ifndef __TunerMarshaler_FWD_DEFINED__
#define __TunerMarshaler_FWD_DEFINED__
#ifdef __cplusplus
typedef class TunerMarshaler TunerMarshaler;
#else
typedef struct TunerMarshaler TunerMarshaler;
#endif /* defined __cplusplus */
#endif /* defined __TunerMarshaler_FWD_DEFINED__ */

#ifndef __PersistTuneXmlUtility_FWD_DEFINED__
#define __PersistTuneXmlUtility_FWD_DEFINED__
#ifdef __cplusplus
typedef class PersistTuneXmlUtility PersistTuneXmlUtility;
#else
typedef struct PersistTuneXmlUtility PersistTuneXmlUtility;
#endif /* defined __cplusplus */
#endif /* defined __PersistTuneXmlUtility_FWD_DEFINED__ */

#ifndef __ESEventService_FWD_DEFINED__
#define __ESEventService_FWD_DEFINED__
#ifdef __cplusplus
typedef class ESEventService ESEventService;
#else
typedef struct ESEventService ESEventService;
#endif /* defined __cplusplus */
#endif /* defined __ESEventService_FWD_DEFINED__ */

#ifndef __ESEventFactory_FWD_DEFINED__
#define __ESEventFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class ESEventFactory ESEventFactory;
#else
typedef struct ESEventFactory ESEventFactory;
#endif /* defined __cplusplus */
#endif /* defined __ESEventFactory_FWD_DEFINED__ */

/* Headers for imported files */

#include <oaidl.h>
#include <comcat.h>
#include <strmif.h>
#include <bdaiface.h>
#include <regbag.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __IAnalogLocator_FWD_DEFINED__
#define __IAnalogLocator_FWD_DEFINED__
typedef interface IAnalogLocator IAnalogLocator;
#ifdef __cplusplus
interface IAnalogLocator;
#endif /* __cplusplus */
#endif

#ifndef __IATSCLocator_FWD_DEFINED__
#define __IATSCLocator_FWD_DEFINED__
typedef interface IATSCLocator IATSCLocator;
#ifdef __cplusplus
interface IATSCLocator;
#endif /* __cplusplus */
#endif

#ifndef __IComponent_FWD_DEFINED__
#define __IComponent_FWD_DEFINED__
typedef interface IComponent IComponent;
#ifdef __cplusplus
interface IComponent;
#endif /* __cplusplus */
#endif

#ifndef __IComponents_FWD_DEFINED__
#define __IComponents_FWD_DEFINED__
typedef interface IComponents IComponents;
#ifdef __cplusplus
interface IComponents;
#endif /* __cplusplus */
#endif

#ifndef __IComponentType_FWD_DEFINED__
#define __IComponentType_FWD_DEFINED__
typedef interface IComponentType IComponentType;
#ifdef __cplusplus
interface IComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IComponentTypes_FWD_DEFINED__
#define __IComponentTypes_FWD_DEFINED__
typedef interface IComponentTypes IComponentTypes;
#ifdef __cplusplus
interface IComponentTypes;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableLocator_FWD_DEFINED__
#define __IDigitalCableLocator_FWD_DEFINED__
typedef interface IDigitalCableLocator IDigitalCableLocator;
#ifdef __cplusplus
interface IDigitalCableLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableTuneRequest_FWD_DEFINED__
#define __IDigitalCableTuneRequest_FWD_DEFINED__
typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest;
#ifdef __cplusplus
interface IDigitalCableTuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __IDigitalCableTuningSpace_FWD_DEFINED__
#define __IDigitalCableTuningSpace_FWD_DEFINED__
typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace;
#ifdef __cplusplus
interface IDigitalCableTuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __IDVBCLocator_FWD_DEFINED__
#define __IDVBCLocator_FWD_DEFINED__
typedef interface IDVBCLocator IDVBCLocator;
#ifdef __cplusplus
interface IDVBCLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBSLocator_FWD_DEFINED__
#define __IDVBSLocator_FWD_DEFINED__
typedef interface IDVBSLocator IDVBSLocator;
#ifdef __cplusplus
interface IDVBSLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBSLocator2_FWD_DEFINED__
#define __IDVBSLocator2_FWD_DEFINED__
typedef interface IDVBSLocator2 IDVBSLocator2;
#ifdef __cplusplus
interface IDVBSLocator2;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTLocator_FWD_DEFINED__
#define __IDVBTLocator_FWD_DEFINED__
typedef interface IDVBTLocator IDVBTLocator;
#ifdef __cplusplus
interface IDVBTLocator;
#endif /* __cplusplus */
#endif

#ifndef __IDVBTLocator2_FWD_DEFINED__
#define __IDVBTLocator2_FWD_DEFINED__
typedef interface IDVBTLocator2 IDVBTLocator2;
#ifdef __cplusplus
interface IDVBTLocator2;
#endif /* __cplusplus */
#endif

#ifndef __IEnumComponents_FWD_DEFINED__
#define __IEnumComponents_FWD_DEFINED__
typedef interface IEnumComponents IEnumComponents;
#ifdef __cplusplus
interface IEnumComponents;
#endif /* __cplusplus */
#endif

#ifndef __IEnumComponentTypes_FWD_DEFINED__
#define __IEnumComponentTypes_FWD_DEFINED__
typedef interface IEnumComponentTypes IEnumComponentTypes;
#ifdef __cplusplus
interface IEnumComponentTypes;
#endif /* __cplusplus */
#endif

#ifndef __IEnumTuningSpaces_FWD_DEFINED__
#define __IEnumTuningSpaces_FWD_DEFINED__
typedef interface IEnumTuningSpaces IEnumTuningSpaces;
#ifdef __cplusplus
interface IEnumTuningSpaces;
#endif /* __cplusplus */
#endif

#ifndef __IISDBSLocator_FWD_DEFINED__
#define __IISDBSLocator_FWD_DEFINED__
typedef interface IISDBSLocator IISDBSLocator;
#ifdef __cplusplus
interface IISDBSLocator;
#endif /* __cplusplus */
#endif

#ifndef __ILanguageComponentType_FWD_DEFINED__
#define __ILanguageComponentType_FWD_DEFINED__
typedef interface ILanguageComponentType ILanguageComponentType;
#ifdef __cplusplus
interface ILanguageComponentType;
#endif /* __cplusplus */
#endif

#ifndef __ILocator_FWD_DEFINED__
#define __ILocator_FWD_DEFINED__
typedef interface ILocator ILocator;
#ifdef __cplusplus
interface ILocator;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2Component_FWD_DEFINED__
#define __IMPEG2Component_FWD_DEFINED__
typedef interface IMPEG2Component IMPEG2Component;
#ifdef __cplusplus
interface IMPEG2Component;
#endif /* __cplusplus */
#endif

#ifndef __IMPEG2ComponentType_FWD_DEFINED__
#define __IMPEG2ComponentType_FWD_DEFINED__
typedef interface IMPEG2ComponentType IMPEG2ComponentType;
#ifdef __cplusplus
interface IMPEG2ComponentType;
#endif /* __cplusplus */
#endif

#ifndef __IScanningTuner_FWD_DEFINED__
#define __IScanningTuner_FWD_DEFINED__
typedef interface IScanningTuner IScanningTuner;
#ifdef __cplusplus
interface IScanningTuner;
#endif /* __cplusplus */
#endif

#ifndef __ITuneRequest_FWD_DEFINED__
#define __ITuneRequest_FWD_DEFINED__
typedef interface ITuneRequest ITuneRequest;
#ifdef __cplusplus
interface ITuneRequest;
#endif /* __cplusplus */
#endif

#ifndef __ITuner_FWD_DEFINED__
#define __ITuner_FWD_DEFINED__
typedef interface ITuner ITuner;
#ifdef __cplusplus
interface ITuner;
#endif /* __cplusplus */
#endif

#ifndef __ITunerCap_FWD_DEFINED__
#define __ITunerCap_FWD_DEFINED__
typedef interface ITunerCap ITunerCap;
#ifdef __cplusplus
interface ITunerCap;
#endif /* __cplusplus */
#endif

#ifndef __ITuningSpace_FWD_DEFINED__
#define __ITuningSpace_FWD_DEFINED__
typedef interface ITuningSpace ITuningSpace;
#ifdef __cplusplus
interface ITuningSpace;
#endif /* __cplusplus */
#endif

#ifndef __ITuningSpaceContainer_FWD_DEFINED__
#define __ITuningSpaceContainer_FWD_DEFINED__
typedef interface ITuningSpaceContainer ITuningSpaceContainer;
#ifdef __cplusplus
interface ITuningSpaceContainer;
#endif /* __cplusplus */
#endif


#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
enum {
    DISPID_TUNER_TS_UNIQUENAME = 1,
    DISPID_TUNER_TS_FRIENDLYNAME = 2,
    DISPID_TUNER_TS_CLSID = 3,
    DISPID_TUNER_TS_NETWORKTYPE = 4,
    DISPID_TUNER_TS__NETWORKTYPE = 5,
    DISPID_TUNER_TS_CREATETUNEREQUEST = 6,
    DISPID_TUNER_TS_ENUMCATEGORYGUIDS = 7,
    DISPID_TUNER_TS_ENUMDEVICEMONIKERS = 8,
    DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES = 9,
    DISPID_TUNER_TS_FREQMAP = 10,
    DISPID_TUNER_TS_DEFLOCATOR = 11,
    DISPID_TUNER_TS_CLONE = 12,
    DISPID_TUNER_TR_TUNINGSPACE = 1,
    DISPID_TUNER_TR_COMPONENTS = 2,
    DISPID_TUNER_TR_CLONE = 3,
    DISPID_TUNER_TR_LOCATOR = 4,
    DISPID_TUNER_CT_CATEGORY = 1,
    DISPID_TUNER_CT_MEDIAMAJORTYPE = 2,
    DISPID_TUNER_CT__MEDIAMAJORTYPE = 3,
    DISPID_TUNER_CT_MEDIASUBTYPE = 4,
    DISPID_TUNER_CT__MEDIASUBTYPE = 5,
    DISPID_TUNER_CT_MEDIAFORMATTYPE = 6,
    DISPID_TUNER_CT__MEDIAFORMATTYPE = 7,
    DISPID_TUNER_CT_MEDIATYPE = 8,
    DISPID_TUNER_CT_CLONE = 9,
    DISPID_TUNER_LCT_LANGID = 100,
    DISPID_TUNER_MP2CT_TYPE = 200,
    DISPID_TUNER_ATSCCT_FLAGS = 300,
    DISPID_TUNER_L_CARRFREQ = 1,
    DISPID_TUNER_L_INNERFECMETHOD = 2,
    DISPID_TUNER_L_INNERFECRATE = 3,
    DISPID_TUNER_L_OUTERFECMETHOD = 4,
    DISPID_TUNER_L_OUTERFECRATE = 5,
    DISPID_TUNER_L_MOD = 6,
    DISPID_TUNER_L_SYMRATE = 7,
    DISPID_TUNER_L_CLONE = 8,
    DISPID_TUNER_L_ATSC_PHYS_CHANNEL = 201,
    DISPID_TUNER_L_ATSC_TSID = 202,
    DISPID_TUNER_L_ATSC_MP2_PROGNO = 203,
    DISPID_TUNER_L_DVBT_BANDWIDTH = 301,
    DISPID_TUNER_L_DVBT_LPINNERFECMETHOD = 302,
    DISPID_TUNER_L_DVBT_LPINNERFECRATE = 303,
    DISPID_TUNER_L_DVBT_GUARDINTERVAL = 304,
    DISPID_TUNER_L_DVBT_HALPHA = 305,
    DISPID_TUNER_L_DVBT_TRANSMISSIONMODE = 306,
    DISPID_TUNER_L_DVBT_INUSE = 307,
    DISPID_TUNER_L_DVBT2_PHYSICALLAYERPIPEID = 351,
    DISPID_TUNER_L_DVBS_POLARISATION = 401,
    DISPID_TUNER_L_DVBS_WEST = 402,
    DISPID_TUNER_L_DVBS_ORBITAL = 403,
    DISPID_TUNER_L_DVBS_AZIMUTH = 404,
    DISPID_TUNER_L_DVBS_ELEVATION = 405,
    DISPID_TUNER_L_DVBS2_DISEQ_LNB_SOURCE = 406,
    DISPID_TUNER_TS_DVBS2_LOW_OSC_FREQ_OVERRIDE = 407,
    DISPID_TUNER_TS_DVBS2_HI_OSC_FREQ_OVERRIDE = 408,
    DISPID_TUNER_TS_DVBS2_LNB_SWITCH_FREQ_OVERRIDE = 409,
    DISPID_TUNER_TS_DVBS2_SPECTRAL_INVERSION_OVERRIDE = 410,
    DISPID_TUNER_L_DVBS2_ROLLOFF = 411,
    DISPID_TUNER_L_DVBS2_PILOT = 412,
    DISPID_TUNER_L_ANALOG_STANDARD = 601,
    DISPID_TUNER_L_DTV_O_MAJOR_CHANNEL = 701,
    DISPID_TUNER_C_TYPE = 1,
    DISPID_TUNER_C_STATUS = 2,
    DISPID_TUNER_C_LANGID = 3,
    DISPID_TUNER_C_DESCRIPTION = 4,
    DISPID_TUNER_C_CLONE = 5,
    DISPID_TUNER_C_MP2_PID = 101,
    DISPID_TUNER_C_MP2_PCRPID = 102,
    DISPID_TUNER_C_MP2_PROGNO = 103,
    DISPID_TUNER_C_ANALOG_AUDIO = 201,
    DISPID_TUNER_TS_DVB_SYSTEMTYPE = 101,
    DISPID_TUNER_TS_DVB2_NETWORK_ID = 102,
    DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ = 1001,
    DISPID_TUNER_TS_DVBS_HI_OSC_FREQ = 1002,
    DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ = 1003,
    DISPID_TUNER_TS_DVBS_INPUT_RANGE = 1004,
    DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION = 1005,
    DISPID_TUNER_TS_AR_MINFREQUENCY = 101,
    DISPID_TUNER_TS_AR_MAXFREQUENCY = 102,
    DISPID_TUNER_TS_AR_STEP = 103,
    DISPID_TUNER_TS_AR_COUNTRYCODE = 104,
    DISPID_TUNER_TS_AUX_COUNTRYCODE = 101,
    DISPID_TUNER_TS_ATV_MINCHANNEL = 101,
    DISPID_TUNER_TS_ATV_MAXCHANNEL = 102,
    DISPID_TUNER_TS_ATV_INPUTTYPE = 103,
    DISPID_TUNER_TS_ATV_COUNTRYCODE = 104,
    DISPID_TUNER_TS_ATSC_MINMINORCHANNEL = 201,
    DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL = 202,
    DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL = 203,
    DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL = 204,
    DISPID_TUNER_TS_DC_MINMAJORCHANNEL = 301,
    DISPID_TUNER_TS_DC_MAXMAJORCHANNEL = 302,
    DISPID_TUNER_TS_DC_MINSOURCEID = 303,
    DISPID_TUNER_TS_DC_MAXSOURCEID = 304,
    DISPID_CHTUNER_ATVAC_CHANNEL = 101,
    DISPID_CHTUNER_ATVDC_SYSTEM = 101,
    DISPID_CHTUNER_ATVDC_CONTENT = 102,
    DISPID_CHTUNER_CIDTR_CHANNELID = 101,
    DISPID_CHTUNER_CTR_CHANNEL = 101,
    DISPID_CHTUNER_ACTR_MINOR_CHANNEL = 201,
    DISPID_CHTUNER_DCTR_MAJOR_CHANNEL = 301,
    DISPID_CHTUNER_DCTR_SRCID = 302,
    DISPID_DVBTUNER_DVBC_ATTRIBUTESVALID = 101,
    DISPID_DVBTUNER_DVBC_PID = 102,
    DISPID_DVBTUNER_DVBC_TAG = 103,
    DISPID_DVBTUNER_DVBC_COMPONENTTYPE = 104,
    DISPID_DVBTUNER_ONID = 101,
    DISPID_DVBTUNER_TSID = 102,
    DISPID_DVBTUNER_SID = 103,
    DISPID_MP2TUNER_TSID = 101,
    DISPID_MP2TUNER_PROGNO = 102,
    DISPID_MP2TUNERFACTORY_CREATETUNEREQUEST = 1
};

#define SID_ESEventService CLSID_ESEventService
#define SID_ESEventFactory CLSID_ESEventFactory
#define SID_SBroadcastEventService CLSID_BroadcastEventService
#define SID_SContentTuneRequest IID_ITuner
#define SID_ScanningTuner IID_IScanningTuner
#define SID_ScanningTunerEx IID_IScanningTunerEx

/*****************************************************************************
 * ITuningSpaces interface
 */
#ifndef __ITuningSpaces_INTERFACE_DEFINED__
#define __ITuningSpaces_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITuningSpaces, 0x901284e4, 0x33fe, 0x4b69, 0x8d,0x63, 0x63,0x4a,0x59,0x6f,0x37,0x56);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("901284e4-33fe-4b69-8d63-634a596f3756")
ITuningSpaces : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IEnumVARIANT **NewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Item(
        VARIANT varIndex,
        ITuningSpace **TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_EnumTuningSpaces(
        IEnumTuningSpaces **NewEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITuningSpaces, 0x901284e4, 0x33fe, 0x4b69, 0x8d,0x63, 0x63,0x4a,0x59,0x6f,0x37,0x56)
#endif
#else
typedef struct ITuningSpacesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITuningSpaces *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITuningSpaces *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITuningSpaces *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITuningSpaces *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITuningSpaces *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITuningSpaces *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITuningSpaces *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpaces methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        ITuningSpaces *This,
        LONG *Count);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        ITuningSpaces *This,
        IEnumVARIANT **NewEnum);

    HRESULT (STDMETHODCALLTYPE *get_Item)(
        ITuningSpaces *This,
        VARIANT varIndex,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_EnumTuningSpaces)(
        ITuningSpaces *This,
        IEnumTuningSpaces **NewEnum);

    END_INTERFACE
} ITuningSpacesVtbl;

interface ITuningSpaces {
    CONST_VTBL ITuningSpacesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITuningSpaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITuningSpaces_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITuningSpaces_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITuningSpaces_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITuningSpaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITuningSpaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITuningSpaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpaces methods ***/
#define ITuningSpaces_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define ITuningSpaces_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
#define ITuningSpaces_get_Item(This,varIndex,TuningSpace) (This)->lpVtbl->get_Item(This,varIndex,TuningSpace)
#define ITuningSpaces_get_EnumTuningSpaces(This,NewEnum) (This)->lpVtbl->get_EnumTuningSpaces(This,NewEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT ITuningSpaces_QueryInterface(ITuningSpaces* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITuningSpaces_AddRef(ITuningSpaces* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITuningSpaces_Release(ITuningSpaces* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITuningSpaces_GetTypeInfoCount(ITuningSpaces* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITuningSpaces_GetTypeInfo(ITuningSpaces* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITuningSpaces_GetIDsOfNames(ITuningSpaces* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITuningSpaces_Invoke(ITuningSpaces* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpaces methods ***/
static inline HRESULT ITuningSpaces_get_Count(ITuningSpaces* This,LONG *Count) {
    return This->lpVtbl->get_Count(This,Count);
}
static inline HRESULT ITuningSpaces_get__NewEnum(ITuningSpaces* This,IEnumVARIANT **NewEnum) {
    return This->lpVtbl->get__NewEnum(This,NewEnum);
}
static inline HRESULT ITuningSpaces_get_Item(ITuningSpaces* This,VARIANT varIndex,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_Item(This,varIndex,TuningSpace);
}
static inline HRESULT ITuningSpaces_get_EnumTuningSpaces(ITuningSpaces* This,IEnumTuningSpaces **NewEnum) {
    return This->lpVtbl->get_EnumTuningSpaces(This,NewEnum);
}
#endif
#endif

#endif


#endif  /* __ITuningSpaces_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITuningSpaceContainer interface
 */
#ifndef __ITuningSpaceContainer_INTERFACE_DEFINED__
#define __ITuningSpaceContainer_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITuningSpaceContainer, 0x5b692e84, 0xe2f1, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b692e84-e2f1-11d2-9493-00c04f72d980")
ITuningSpaceContainer : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IEnumVARIANT **NewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Item(
        VARIANT varIndex,
        ITuningSpace **TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Item(
        VARIANT varIndex,
        ITuningSpace *TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE TuningSpacesForCLSID(
        BSTR SpaceCLSID,
        ITuningSpaces **NewColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE _TuningSpacesForCLSID(
        REFCLSID SpaceCLSID,
        ITuningSpaces **NewColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE TuningSpacesForName(
        BSTR Name,
        ITuningSpaces **NewColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindID(
        ITuningSpace *TuningSpace,
        LONG *ID) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        ITuningSpace *TuningSpace,
        VARIANT *NewIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_EnumTuningSpaces(
        IEnumTuningSpaces **ppEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        VARIANT Index) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxCount(
        LONG *MaxCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxCount(
        LONG MaxCount) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITuningSpaceContainer, 0x5b692e84, 0xe2f1, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct ITuningSpaceContainerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITuningSpaceContainer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITuningSpaceContainer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITuningSpaceContainer *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITuningSpaceContainer *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITuningSpaceContainer *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITuningSpaceContainer *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITuningSpaceContainer *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpaceContainer methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        ITuningSpaceContainer *This,
        LONG *Count);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        ITuningSpaceContainer *This,
        IEnumVARIANT **NewEnum);

    HRESULT (STDMETHODCALLTYPE *get_Item)(
        ITuningSpaceContainer *This,
        VARIANT varIndex,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *put_Item)(
        ITuningSpaceContainer *This,
        VARIANT varIndex,
        ITuningSpace *TuningSpace);

    HRESULT (STDMETHODCALLTYPE *TuningSpacesForCLSID)(
        ITuningSpaceContainer *This,
        BSTR SpaceCLSID,
        ITuningSpaces **NewColl);

    HRESULT (STDMETHODCALLTYPE *_TuningSpacesForCLSID)(
        ITuningSpaceContainer *This,
        REFCLSID SpaceCLSID,
        ITuningSpaces **NewColl);

    HRESULT (STDMETHODCALLTYPE *TuningSpacesForName)(
        ITuningSpaceContainer *This,
        BSTR Name,
        ITuningSpaces **NewColl);

    HRESULT (STDMETHODCALLTYPE *FindID)(
        ITuningSpaceContainer *This,
        ITuningSpace *TuningSpace,
        LONG *ID);

    HRESULT (STDMETHODCALLTYPE *Add)(
        ITuningSpaceContainer *This,
        ITuningSpace *TuningSpace,
        VARIANT *NewIndex);

    HRESULT (STDMETHODCALLTYPE *get_EnumTuningSpaces)(
        ITuningSpaceContainer *This,
        IEnumTuningSpaces **ppEnum);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        ITuningSpaceContainer *This,
        VARIANT Index);

    HRESULT (STDMETHODCALLTYPE *get_MaxCount)(
        ITuningSpaceContainer *This,
        LONG *MaxCount);

    HRESULT (STDMETHODCALLTYPE *put_MaxCount)(
        ITuningSpaceContainer *This,
        LONG MaxCount);

    END_INTERFACE
} ITuningSpaceContainerVtbl;

interface ITuningSpaceContainer {
    CONST_VTBL ITuningSpaceContainerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITuningSpaceContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITuningSpaceContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITuningSpaceContainer_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITuningSpaceContainer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITuningSpaceContainer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITuningSpaceContainer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITuningSpaceContainer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpaceContainer methods ***/
#define ITuningSpaceContainer_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define ITuningSpaceContainer_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
#define ITuningSpaceContainer_get_Item(This,varIndex,TuningSpace) (This)->lpVtbl->get_Item(This,varIndex,TuningSpace)
#define ITuningSpaceContainer_put_Item(This,varIndex,TuningSpace) (This)->lpVtbl->put_Item(This,varIndex,TuningSpace)
#define ITuningSpaceContainer_TuningSpacesForCLSID(This,SpaceCLSID,NewColl) (This)->lpVtbl->TuningSpacesForCLSID(This,SpaceCLSID,NewColl)
#define ITuningSpaceContainer__TuningSpacesForCLSID(This,SpaceCLSID,NewColl) (This)->lpVtbl->_TuningSpacesForCLSID(This,SpaceCLSID,NewColl)
#define ITuningSpaceContainer_TuningSpacesForName(This,Name,NewColl) (This)->lpVtbl->TuningSpacesForName(This,Name,NewColl)
#define ITuningSpaceContainer_FindID(This,TuningSpace,ID) (This)->lpVtbl->FindID(This,TuningSpace,ID)
#define ITuningSpaceContainer_Add(This,TuningSpace,NewIndex) (This)->lpVtbl->Add(This,TuningSpace,NewIndex)
#define ITuningSpaceContainer_get_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->get_EnumTuningSpaces(This,ppEnum)
#define ITuningSpaceContainer_Remove(This,Index) (This)->lpVtbl->Remove(This,Index)
#define ITuningSpaceContainer_get_MaxCount(This,MaxCount) (This)->lpVtbl->get_MaxCount(This,MaxCount)
#define ITuningSpaceContainer_put_MaxCount(This,MaxCount) (This)->lpVtbl->put_MaxCount(This,MaxCount)
#else
/*** IUnknown methods ***/
static inline HRESULT ITuningSpaceContainer_QueryInterface(ITuningSpaceContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITuningSpaceContainer_AddRef(ITuningSpaceContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITuningSpaceContainer_Release(ITuningSpaceContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITuningSpaceContainer_GetTypeInfoCount(ITuningSpaceContainer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITuningSpaceContainer_GetTypeInfo(ITuningSpaceContainer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITuningSpaceContainer_GetIDsOfNames(ITuningSpaceContainer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITuningSpaceContainer_Invoke(ITuningSpaceContainer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpaceContainer methods ***/
static inline HRESULT ITuningSpaceContainer_get_Count(ITuningSpaceContainer* This,LONG *Count) {
    return This->lpVtbl->get_Count(This,Count);
}
static inline HRESULT ITuningSpaceContainer_get__NewEnum(ITuningSpaceContainer* This,IEnumVARIANT **NewEnum) {
    return This->lpVtbl->get__NewEnum(This,NewEnum);
}
static inline HRESULT ITuningSpaceContainer_get_Item(ITuningSpaceContainer* This,VARIANT varIndex,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_Item(This,varIndex,TuningSpace);
}
static inline HRESULT ITuningSpaceContainer_put_Item(ITuningSpaceContainer* This,VARIANT varIndex,ITuningSpace *TuningSpace) {
    return This->lpVtbl->put_Item(This,varIndex,TuningSpace);
}
static inline HRESULT ITuningSpaceContainer_TuningSpacesForCLSID(ITuningSpaceContainer* This,BSTR SpaceCLSID,ITuningSpaces **NewColl) {
    return This->lpVtbl->TuningSpacesForCLSID(This,SpaceCLSID,NewColl);
}
static inline HRESULT ITuningSpaceContainer__TuningSpacesForCLSID(ITuningSpaceContainer* This,REFCLSID SpaceCLSID,ITuningSpaces **NewColl) {
    return This->lpVtbl->_TuningSpacesForCLSID(This,SpaceCLSID,NewColl);
}
static inline HRESULT ITuningSpaceContainer_TuningSpacesForName(ITuningSpaceContainer* This,BSTR Name,ITuningSpaces **NewColl) {
    return This->lpVtbl->TuningSpacesForName(This,Name,NewColl);
}
static inline HRESULT ITuningSpaceContainer_FindID(ITuningSpaceContainer* This,ITuningSpace *TuningSpace,LONG *ID) {
    return This->lpVtbl->FindID(This,TuningSpace,ID);
}
static inline HRESULT ITuningSpaceContainer_Add(ITuningSpaceContainer* This,ITuningSpace *TuningSpace,VARIANT *NewIndex) {
    return This->lpVtbl->Add(This,TuningSpace,NewIndex);
}
static inline HRESULT ITuningSpaceContainer_get_EnumTuningSpaces(ITuningSpaceContainer* This,IEnumTuningSpaces **ppEnum) {
    return This->lpVtbl->get_EnumTuningSpaces(This,ppEnum);
}
static inline HRESULT ITuningSpaceContainer_Remove(ITuningSpaceContainer* This,VARIANT Index) {
    return This->lpVtbl->Remove(This,Index);
}
static inline HRESULT ITuningSpaceContainer_get_MaxCount(ITuningSpaceContainer* This,LONG *MaxCount) {
    return This->lpVtbl->get_MaxCount(This,MaxCount);
}
static inline HRESULT ITuningSpaceContainer_put_MaxCount(ITuningSpaceContainer* This,LONG MaxCount) {
    return This->lpVtbl->put_MaxCount(This,MaxCount);
}
#endif
#endif

#endif


#endif  /* __ITuningSpaceContainer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITuningSpace interface
 */
#ifndef __ITuningSpace_INTERFACE_DEFINED__
#define __ITuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITuningSpace, 0x061c6e30, 0xe622, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("061c6e30-e622-11d2-9493-00c04f72d980")
ITuningSpace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_UniqueName(
        BSTR *Name) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_UniqueName(
        BSTR Name) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_FriendlyName(
        BSTR *Name) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_FriendlyName(
        BSTR Name) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CLSID(
        BSTR *SpaceCLSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_NetworkType(
        BSTR *NetworkTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_NetworkType(
        BSTR NetworkTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NetworkType(
        GUID *NetworkTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE put__NetworkType(
        REFCLSID NetworkTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateTuneRequest(
        ITuneRequest **TuneRequest) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumCategoryGUIDs(
        IEnumGUID **ppEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumDeviceMonikers(
        IEnumMoniker **ppEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DefaultPreferredComponentTypes(
        IComponentTypes **ComponentTypes) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_DefaultPreferredComponentTypes(
        IComponentTypes *NewComponentTypes) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_FrequencyMapping(
        BSTR *pMapping) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_FrequencyMapping(
        BSTR Mapping) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DefaultLocator(
        ILocator **LocatorVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_DefaultLocator(
        ILocator *LocatorVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        ITuningSpace **NewTS) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITuningSpace, 0x061c6e30, 0xe622, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct ITuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        ITuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        ITuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        ITuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        ITuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        ITuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        ITuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        ITuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        ITuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        ITuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        ITuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        ITuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        ITuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        ITuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        ITuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        ITuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        ITuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        ITuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        ITuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        ITuningSpace *This,
        ITuningSpace **NewTS);

    END_INTERFACE
} ITuningSpaceVtbl;

interface ITuningSpace {
    CONST_VTBL ITuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define ITuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define ITuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define ITuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define ITuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define ITuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define ITuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define ITuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define ITuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define ITuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define ITuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define ITuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define ITuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define ITuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define ITuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define ITuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define ITuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define ITuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define ITuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define ITuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
#else
/*** IUnknown methods ***/
static inline HRESULT ITuningSpace_QueryInterface(ITuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITuningSpace_AddRef(ITuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITuningSpace_Release(ITuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITuningSpace_GetTypeInfoCount(ITuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITuningSpace_GetTypeInfo(ITuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITuningSpace_GetIDsOfNames(ITuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITuningSpace_Invoke(ITuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT ITuningSpace_get_UniqueName(ITuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT ITuningSpace_put_UniqueName(ITuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT ITuningSpace_get_FriendlyName(ITuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT ITuningSpace_put_FriendlyName(ITuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT ITuningSpace_get_CLSID(ITuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT ITuningSpace_get_NetworkType(ITuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT ITuningSpace_put_NetworkType(ITuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT ITuningSpace_get__NetworkType(ITuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT ITuningSpace_put__NetworkType(ITuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT ITuningSpace_CreateTuneRequest(ITuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT ITuningSpace_EnumCategoryGUIDs(ITuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT ITuningSpace_EnumDeviceMonikers(ITuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT ITuningSpace_get_DefaultPreferredComponentTypes(ITuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT ITuningSpace_put_DefaultPreferredComponentTypes(ITuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT ITuningSpace_get_FrequencyMapping(ITuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT ITuningSpace_put_FrequencyMapping(ITuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT ITuningSpace_get_DefaultLocator(ITuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT ITuningSpace_put_DefaultLocator(ITuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT ITuningSpace_Clone(ITuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
#endif
#endif

#endif


#endif  /* __ITuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEnumTuningSpaces interface
 */
#ifndef __IEnumTuningSpaces_INTERFACE_DEFINED__
#define __IEnumTuningSpaces_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEnumTuningSpaces, 0x8b8eb248, 0xfc2b, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8b8eb248-fc2b-11d2-9d8c-00c04f72d980")
IEnumTuningSpaces : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Next(
        ULONG celt,
        ITuningSpace **rgelt,
        ULONG *pceltFetched) = 0;

    virtual HRESULT STDMETHODCALLTYPE Skip(
        ULONG celt) = 0;

    virtual HRESULT STDMETHODCALLTYPE Reset(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IEnumTuningSpaces **ppEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumTuningSpaces, 0x8b8eb248, 0xfc2b, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IEnumTuningSpacesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEnumTuningSpaces *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEnumTuningSpaces *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEnumTuningSpaces *This);

    /*** IEnumTuningSpaces methods ***/
    HRESULT (STDMETHODCALLTYPE *Next)(
        IEnumTuningSpaces *This,
        ULONG celt,
        ITuningSpace **rgelt,
        ULONG *pceltFetched);

    HRESULT (STDMETHODCALLTYPE *Skip)(
        IEnumTuningSpaces *This,
        ULONG celt);

    HRESULT (STDMETHODCALLTYPE *Reset)(
        IEnumTuningSpaces *This);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IEnumTuningSpaces *This,
        IEnumTuningSpaces **ppEnum);

    END_INTERFACE
} IEnumTuningSpacesVtbl;

interface IEnumTuningSpaces {
    CONST_VTBL IEnumTuningSpacesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumTuningSpaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumTuningSpaces_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumTuningSpaces_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumTuningSpaces methods ***/
#define IEnumTuningSpaces_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumTuningSpaces_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumTuningSpaces_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumTuningSpaces_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT IEnumTuningSpaces_QueryInterface(IEnumTuningSpaces* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEnumTuningSpaces_AddRef(IEnumTuningSpaces* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEnumTuningSpaces_Release(IEnumTuningSpaces* This) {
    return This->lpVtbl->Release(This);
}
/*** IEnumTuningSpaces methods ***/
static inline HRESULT IEnumTuningSpaces_Next(IEnumTuningSpaces* This,ULONG celt,ITuningSpace **rgelt,ULONG *pceltFetched) {
    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static inline HRESULT IEnumTuningSpaces_Skip(IEnumTuningSpaces* This,ULONG celt) {
    return This->lpVtbl->Skip(This,celt);
}
static inline HRESULT IEnumTuningSpaces_Reset(IEnumTuningSpaces* This) {
    return This->lpVtbl->Reset(This);
}
static inline HRESULT IEnumTuningSpaces_Clone(IEnumTuningSpaces* This,IEnumTuningSpaces **ppEnum) {
    return This->lpVtbl->Clone(This,ppEnum);
}
#endif
#endif

#endif


#endif  /* __IEnumTuningSpaces_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBTuningSpace interface
 */
#ifndef __IDVBTuningSpace_INTERFACE_DEFINED__
#define __IDVBTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBTuningSpace, 0xada0b268, 0x3b19, 0x4e5b, 0xac,0xc4, 0x49,0xf8,0x52,0xbe,0x13,0xba);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ada0b268-3b19-4e5b-acc4-49f852be13ba")
IDVBTuningSpace : public ITuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_SystemType(
        DVBSystemType *SysType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SystemType(
        DVBSystemType SysType) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBTuningSpace, 0xada0b268, 0x3b19, 0x4e5b, 0xac,0xc4, 0x49,0xf8,0x52,0xbe,0x13,0xba)
#endif
#else
typedef struct IDVBTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IDVBTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IDVBTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IDVBTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IDVBTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IDVBTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IDVBTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IDVBTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IDVBTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IDVBTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IDVBTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IDVBTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IDVBTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IDVBTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IDVBTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IDVBTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IDVBTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IDVBTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IDVBTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IDVBTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SystemType)(
        IDVBTuningSpace *This,
        DVBSystemType *SysType);

    HRESULT (STDMETHODCALLTYPE *put_SystemType)(
        IDVBTuningSpace *This,
        DVBSystemType SysType);

    END_INTERFACE
} IDVBTuningSpaceVtbl;

interface IDVBTuningSpace {
    CONST_VTBL IDVBTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IDVBTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IDVBTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IDVBTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IDVBTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IDVBTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IDVBTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IDVBTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IDVBTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IDVBTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IDVBTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IDVBTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IDVBTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IDVBTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IDVBTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IDVBTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IDVBTuningSpace methods ***/
#define IDVBTuningSpace_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType)
#define IDVBTuningSpace_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBTuningSpace_QueryInterface(IDVBTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBTuningSpace_AddRef(IDVBTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBTuningSpace_Release(IDVBTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBTuningSpace_GetTypeInfoCount(IDVBTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBTuningSpace_GetTypeInfo(IDVBTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBTuningSpace_GetIDsOfNames(IDVBTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBTuningSpace_Invoke(IDVBTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IDVBTuningSpace_get_UniqueName(IDVBTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IDVBTuningSpace_put_UniqueName(IDVBTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IDVBTuningSpace_get_FriendlyName(IDVBTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IDVBTuningSpace_put_FriendlyName(IDVBTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IDVBTuningSpace_get_CLSID(IDVBTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IDVBTuningSpace_get_NetworkType(IDVBTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace_put_NetworkType(IDVBTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace_get__NetworkType(IDVBTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace_put__NetworkType(IDVBTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace_CreateTuneRequest(IDVBTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IDVBTuningSpace_EnumCategoryGUIDs(IDVBTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IDVBTuningSpace_EnumDeviceMonikers(IDVBTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IDVBTuningSpace_get_DefaultPreferredComponentTypes(IDVBTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IDVBTuningSpace_put_DefaultPreferredComponentTypes(IDVBTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IDVBTuningSpace_get_FrequencyMapping(IDVBTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IDVBTuningSpace_put_FrequencyMapping(IDVBTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IDVBTuningSpace_get_DefaultLocator(IDVBTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBTuningSpace_put_DefaultLocator(IDVBTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBTuningSpace_Clone(IDVBTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IDVBTuningSpace methods ***/
static inline HRESULT IDVBTuningSpace_get_SystemType(IDVBTuningSpace* This,DVBSystemType *SysType) {
    return This->lpVtbl->get_SystemType(This,SysType);
}
static inline HRESULT IDVBTuningSpace_put_SystemType(IDVBTuningSpace* This,DVBSystemType SysType) {
    return This->lpVtbl->put_SystemType(This,SysType);
}
#endif
#endif

#endif


#endif  /* __IDVBTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBTuningSpace2 interface
 */
#ifndef __IDVBTuningSpace2_INTERFACE_DEFINED__
#define __IDVBTuningSpace2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBTuningSpace2, 0x843188b4, 0xce62, 0x43db, 0x96,0x6b, 0x81,0x45,0xa0,0x94,0xe0,0x40);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("843188b4-ce62-43db-966b-8145a094e040")
IDVBTuningSpace2 : public IDVBTuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_NetworkID(
        LONG *NetworkID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_NetworkID(
        LONG NetworkID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBTuningSpace2, 0x843188b4, 0xce62, 0x43db, 0x96,0x6b, 0x81,0x45,0xa0,0x94,0xe0,0x40)
#endif
#else
typedef struct IDVBTuningSpace2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBTuningSpace2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBTuningSpace2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBTuningSpace2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBTuningSpace2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBTuningSpace2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBTuningSpace2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBTuningSpace2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IDVBTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IDVBTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IDVBTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IDVBTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IDVBTuningSpace2 *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IDVBTuningSpace2 *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IDVBTuningSpace2 *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IDVBTuningSpace2 *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IDVBTuningSpace2 *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IDVBTuningSpace2 *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IDVBTuningSpace2 *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IDVBTuningSpace2 *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IDVBTuningSpace2 *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IDVBTuningSpace2 *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IDVBTuningSpace2 *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IDVBTuningSpace2 *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IDVBTuningSpace2 *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IDVBTuningSpace2 *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBTuningSpace2 *This,
        ITuningSpace **NewTS);

    /*** IDVBTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SystemType)(
        IDVBTuningSpace2 *This,
        DVBSystemType *SysType);

    HRESULT (STDMETHODCALLTYPE *put_SystemType)(
        IDVBTuningSpace2 *This,
        DVBSystemType SysType);

    /*** IDVBTuningSpace2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_NetworkID)(
        IDVBTuningSpace2 *This,
        LONG *NetworkID);

    HRESULT (STDMETHODCALLTYPE *put_NetworkID)(
        IDVBTuningSpace2 *This,
        LONG NetworkID);

    END_INTERFACE
} IDVBTuningSpace2Vtbl;

interface IDVBTuningSpace2 {
    CONST_VTBL IDVBTuningSpace2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBTuningSpace2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IDVBTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IDVBTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IDVBTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IDVBTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IDVBTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IDVBTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IDVBTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IDVBTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IDVBTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IDVBTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IDVBTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IDVBTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IDVBTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IDVBTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IDVBTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IDVBTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IDVBTuningSpace methods ***/
#define IDVBTuningSpace2_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType)
#define IDVBTuningSpace2_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType)
/*** IDVBTuningSpace2 methods ***/
#define IDVBTuningSpace2_get_NetworkID(This,NetworkID) (This)->lpVtbl->get_NetworkID(This,NetworkID)
#define IDVBTuningSpace2_put_NetworkID(This,NetworkID) (This)->lpVtbl->put_NetworkID(This,NetworkID)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBTuningSpace2_QueryInterface(IDVBTuningSpace2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBTuningSpace2_AddRef(IDVBTuningSpace2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBTuningSpace2_Release(IDVBTuningSpace2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBTuningSpace2_GetTypeInfoCount(IDVBTuningSpace2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBTuningSpace2_GetTypeInfo(IDVBTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBTuningSpace2_GetIDsOfNames(IDVBTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBTuningSpace2_Invoke(IDVBTuningSpace2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IDVBTuningSpace2_get_UniqueName(IDVBTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IDVBTuningSpace2_put_UniqueName(IDVBTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IDVBTuningSpace2_get_FriendlyName(IDVBTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IDVBTuningSpace2_put_FriendlyName(IDVBTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IDVBTuningSpace2_get_CLSID(IDVBTuningSpace2* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IDVBTuningSpace2_get_NetworkType(IDVBTuningSpace2* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace2_put_NetworkType(IDVBTuningSpace2* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace2_get__NetworkType(IDVBTuningSpace2* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace2_put__NetworkType(IDVBTuningSpace2* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBTuningSpace2_CreateTuneRequest(IDVBTuningSpace2* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IDVBTuningSpace2_EnumCategoryGUIDs(IDVBTuningSpace2* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IDVBTuningSpace2_EnumDeviceMonikers(IDVBTuningSpace2* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IDVBTuningSpace2_get_DefaultPreferredComponentTypes(IDVBTuningSpace2* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IDVBTuningSpace2_put_DefaultPreferredComponentTypes(IDVBTuningSpace2* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IDVBTuningSpace2_get_FrequencyMapping(IDVBTuningSpace2* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IDVBTuningSpace2_put_FrequencyMapping(IDVBTuningSpace2* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IDVBTuningSpace2_get_DefaultLocator(IDVBTuningSpace2* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBTuningSpace2_put_DefaultLocator(IDVBTuningSpace2* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBTuningSpace2_Clone(IDVBTuningSpace2* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IDVBTuningSpace methods ***/
static inline HRESULT IDVBTuningSpace2_get_SystemType(IDVBTuningSpace2* This,DVBSystemType *SysType) {
    return This->lpVtbl->get_SystemType(This,SysType);
}
static inline HRESULT IDVBTuningSpace2_put_SystemType(IDVBTuningSpace2* This,DVBSystemType SysType) {
    return This->lpVtbl->put_SystemType(This,SysType);
}
/*** IDVBTuningSpace2 methods ***/
static inline HRESULT IDVBTuningSpace2_get_NetworkID(IDVBTuningSpace2* This,LONG *NetworkID) {
    return This->lpVtbl->get_NetworkID(This,NetworkID);
}
static inline HRESULT IDVBTuningSpace2_put_NetworkID(IDVBTuningSpace2* This,LONG NetworkID) {
    return This->lpVtbl->put_NetworkID(This,NetworkID);
}
#endif
#endif

#endif


#endif  /* __IDVBTuningSpace2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBSTuningSpace interface
 */
#ifndef __IDVBSTuningSpace_INTERFACE_DEFINED__
#define __IDVBSTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBSTuningSpace, 0xcdf7be60, 0xd954, 0x42fd, 0xa9,0x72, 0x78,0x97,0x19,0x58,0xe4,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cdf7be60-d954-42fd-a972-78971958e470")
IDVBSTuningSpace : public IDVBTuningSpace2
{
    virtual HRESULT STDMETHODCALLTYPE get_LowOscillator(
        LONG *LowOscillator) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LowOscillator(
        LONG LowOscillator) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HighOscillator(
        LONG *HighOscillator) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_HighOscillator(
        LONG HighOscillator) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LNBSwitch(
        LONG *LNBSwitch) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LNBSwitch(
        LONG LNBSwitch) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_InputRange(
        BSTR *InputRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_InputRange(
        BSTR InputRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SpectralInversion(
        SpectralInversion *SpectralInversionVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SpectralInversion(
        SpectralInversion SpectralInversionVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBSTuningSpace, 0xcdf7be60, 0xd954, 0x42fd, 0xa9,0x72, 0x78,0x97,0x19,0x58,0xe4,0x70)
#endif
#else
typedef struct IDVBSTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBSTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBSTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBSTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBSTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBSTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBSTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBSTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IDVBSTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IDVBSTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IDVBSTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IDVBSTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IDVBSTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IDVBSTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IDVBSTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IDVBSTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IDVBSTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IDVBSTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IDVBSTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IDVBSTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IDVBSTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IDVBSTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IDVBSTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IDVBSTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IDVBSTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IDVBSTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBSTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IDVBTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SystemType)(
        IDVBSTuningSpace *This,
        DVBSystemType *SysType);

    HRESULT (STDMETHODCALLTYPE *put_SystemType)(
        IDVBSTuningSpace *This,
        DVBSystemType SysType);

    /*** IDVBTuningSpace2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_NetworkID)(
        IDVBSTuningSpace *This,
        LONG *NetworkID);

    HRESULT (STDMETHODCALLTYPE *put_NetworkID)(
        IDVBSTuningSpace *This,
        LONG NetworkID);

    /*** IDVBSTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LowOscillator)(
        IDVBSTuningSpace *This,
        LONG *LowOscillator);

    HRESULT (STDMETHODCALLTYPE *put_LowOscillator)(
        IDVBSTuningSpace *This,
        LONG LowOscillator);

    HRESULT (STDMETHODCALLTYPE *get_HighOscillator)(
        IDVBSTuningSpace *This,
        LONG *HighOscillator);

    HRESULT (STDMETHODCALLTYPE *put_HighOscillator)(
        IDVBSTuningSpace *This,
        LONG HighOscillator);

    HRESULT (STDMETHODCALLTYPE *get_LNBSwitch)(
        IDVBSTuningSpace *This,
        LONG *LNBSwitch);

    HRESULT (STDMETHODCALLTYPE *put_LNBSwitch)(
        IDVBSTuningSpace *This,
        LONG LNBSwitch);

    HRESULT (STDMETHODCALLTYPE *get_InputRange)(
        IDVBSTuningSpace *This,
        BSTR *InputRange);

    HRESULT (STDMETHODCALLTYPE *put_InputRange)(
        IDVBSTuningSpace *This,
        BSTR InputRange);

    HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
        IDVBSTuningSpace *This,
        SpectralInversion *SpectralInversionVal);

    HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
        IDVBSTuningSpace *This,
        SpectralInversion SpectralInversionVal);

    END_INTERFACE
} IDVBSTuningSpaceVtbl;

interface IDVBSTuningSpace {
    CONST_VTBL IDVBSTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBSTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBSTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBSTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBSTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBSTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBSTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBSTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IDVBSTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IDVBSTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IDVBSTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IDVBSTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IDVBSTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IDVBSTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IDVBSTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IDVBSTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IDVBSTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IDVBSTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IDVBSTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IDVBSTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IDVBSTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IDVBSTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IDVBSTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IDVBSTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IDVBSTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IDVBSTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IDVBSTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IDVBTuningSpace methods ***/
#define IDVBSTuningSpace_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType)
#define IDVBSTuningSpace_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType)
/*** IDVBTuningSpace2 methods ***/
#define IDVBSTuningSpace_get_NetworkID(This,NetworkID) (This)->lpVtbl->get_NetworkID(This,NetworkID)
#define IDVBSTuningSpace_put_NetworkID(This,NetworkID) (This)->lpVtbl->put_NetworkID(This,NetworkID)
/*** IDVBSTuningSpace methods ***/
#define IDVBSTuningSpace_get_LowOscillator(This,LowOscillator) (This)->lpVtbl->get_LowOscillator(This,LowOscillator)
#define IDVBSTuningSpace_put_LowOscillator(This,LowOscillator) (This)->lpVtbl->put_LowOscillator(This,LowOscillator)
#define IDVBSTuningSpace_get_HighOscillator(This,HighOscillator) (This)->lpVtbl->get_HighOscillator(This,HighOscillator)
#define IDVBSTuningSpace_put_HighOscillator(This,HighOscillator) (This)->lpVtbl->put_HighOscillator(This,HighOscillator)
#define IDVBSTuningSpace_get_LNBSwitch(This,LNBSwitch) (This)->lpVtbl->get_LNBSwitch(This,LNBSwitch)
#define IDVBSTuningSpace_put_LNBSwitch(This,LNBSwitch) (This)->lpVtbl->put_LNBSwitch(This,LNBSwitch)
#define IDVBSTuningSpace_get_InputRange(This,InputRange) (This)->lpVtbl->get_InputRange(This,InputRange)
#define IDVBSTuningSpace_put_InputRange(This,InputRange) (This)->lpVtbl->put_InputRange(This,InputRange)
#define IDVBSTuningSpace_get_SpectralInversion(This,SpectralInversionVal) (This)->lpVtbl->get_SpectralInversion(This,SpectralInversionVal)
#define IDVBSTuningSpace_put_SpectralInversion(This,SpectralInversionVal) (This)->lpVtbl->put_SpectralInversion(This,SpectralInversionVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBSTuningSpace_QueryInterface(IDVBSTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBSTuningSpace_AddRef(IDVBSTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBSTuningSpace_Release(IDVBSTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBSTuningSpace_GetTypeInfoCount(IDVBSTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBSTuningSpace_GetTypeInfo(IDVBSTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBSTuningSpace_GetIDsOfNames(IDVBSTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBSTuningSpace_Invoke(IDVBSTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IDVBSTuningSpace_get_UniqueName(IDVBSTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IDVBSTuningSpace_put_UniqueName(IDVBSTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IDVBSTuningSpace_get_FriendlyName(IDVBSTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IDVBSTuningSpace_put_FriendlyName(IDVBSTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IDVBSTuningSpace_get_CLSID(IDVBSTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IDVBSTuningSpace_get_NetworkType(IDVBSTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBSTuningSpace_put_NetworkType(IDVBSTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBSTuningSpace_get__NetworkType(IDVBSTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBSTuningSpace_put__NetworkType(IDVBSTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDVBSTuningSpace_CreateTuneRequest(IDVBSTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IDVBSTuningSpace_EnumCategoryGUIDs(IDVBSTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IDVBSTuningSpace_EnumDeviceMonikers(IDVBSTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IDVBSTuningSpace_get_DefaultPreferredComponentTypes(IDVBSTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IDVBSTuningSpace_put_DefaultPreferredComponentTypes(IDVBSTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IDVBSTuningSpace_get_FrequencyMapping(IDVBSTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IDVBSTuningSpace_put_FrequencyMapping(IDVBSTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IDVBSTuningSpace_get_DefaultLocator(IDVBSTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBSTuningSpace_put_DefaultLocator(IDVBSTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDVBSTuningSpace_Clone(IDVBSTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IDVBTuningSpace methods ***/
static inline HRESULT IDVBSTuningSpace_get_SystemType(IDVBSTuningSpace* This,DVBSystemType *SysType) {
    return This->lpVtbl->get_SystemType(This,SysType);
}
static inline HRESULT IDVBSTuningSpace_put_SystemType(IDVBSTuningSpace* This,DVBSystemType SysType) {
    return This->lpVtbl->put_SystemType(This,SysType);
}
/*** IDVBTuningSpace2 methods ***/
static inline HRESULT IDVBSTuningSpace_get_NetworkID(IDVBSTuningSpace* This,LONG *NetworkID) {
    return This->lpVtbl->get_NetworkID(This,NetworkID);
}
static inline HRESULT IDVBSTuningSpace_put_NetworkID(IDVBSTuningSpace* This,LONG NetworkID) {
    return This->lpVtbl->put_NetworkID(This,NetworkID);
}
/*** IDVBSTuningSpace methods ***/
static inline HRESULT IDVBSTuningSpace_get_LowOscillator(IDVBSTuningSpace* This,LONG *LowOscillator) {
    return This->lpVtbl->get_LowOscillator(This,LowOscillator);
}
static inline HRESULT IDVBSTuningSpace_put_LowOscillator(IDVBSTuningSpace* This,LONG LowOscillator) {
    return This->lpVtbl->put_LowOscillator(This,LowOscillator);
}
static inline HRESULT IDVBSTuningSpace_get_HighOscillator(IDVBSTuningSpace* This,LONG *HighOscillator) {
    return This->lpVtbl->get_HighOscillator(This,HighOscillator);
}
static inline HRESULT IDVBSTuningSpace_put_HighOscillator(IDVBSTuningSpace* This,LONG HighOscillator) {
    return This->lpVtbl->put_HighOscillator(This,HighOscillator);
}
static inline HRESULT IDVBSTuningSpace_get_LNBSwitch(IDVBSTuningSpace* This,LONG *LNBSwitch) {
    return This->lpVtbl->get_LNBSwitch(This,LNBSwitch);
}
static inline HRESULT IDVBSTuningSpace_put_LNBSwitch(IDVBSTuningSpace* This,LONG LNBSwitch) {
    return This->lpVtbl->put_LNBSwitch(This,LNBSwitch);
}
static inline HRESULT IDVBSTuningSpace_get_InputRange(IDVBSTuningSpace* This,BSTR *InputRange) {
    return This->lpVtbl->get_InputRange(This,InputRange);
}
static inline HRESULT IDVBSTuningSpace_put_InputRange(IDVBSTuningSpace* This,BSTR InputRange) {
    return This->lpVtbl->put_InputRange(This,InputRange);
}
static inline HRESULT IDVBSTuningSpace_get_SpectralInversion(IDVBSTuningSpace* This,SpectralInversion *SpectralInversionVal) {
    return This->lpVtbl->get_SpectralInversion(This,SpectralInversionVal);
}
static inline HRESULT IDVBSTuningSpace_put_SpectralInversion(IDVBSTuningSpace* This,SpectralInversion SpectralInversionVal) {
    return This->lpVtbl->put_SpectralInversion(This,SpectralInversionVal);
}
#endif
#endif

#endif


#endif  /* __IDVBSTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAuxInTuningSpace interface
 */
#ifndef __IAuxInTuningSpace_INTERFACE_DEFINED__
#define __IAuxInTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAuxInTuningSpace, 0xe48244b8, 0x7e17, 0x4f76, 0xa7,0x63, 0x50,0x90,0xff,0x1e,0x2f,0x30);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e48244b8-7e17-4f76-a763-5090ff1e2f30")
IAuxInTuningSpace : public ITuningSpace
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAuxInTuningSpace, 0xe48244b8, 0x7e17, 0x4f76, 0xa7,0x63, 0x50,0x90,0xff,0x1e,0x2f,0x30)
#endif
#else
typedef struct IAuxInTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAuxInTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAuxInTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAuxInTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAuxInTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAuxInTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAuxInTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAuxInTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IAuxInTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IAuxInTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IAuxInTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IAuxInTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IAuxInTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IAuxInTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IAuxInTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IAuxInTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IAuxInTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IAuxInTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IAuxInTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IAuxInTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IAuxInTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IAuxInTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IAuxInTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IAuxInTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IAuxInTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IAuxInTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAuxInTuningSpace *This,
        ITuningSpace **NewTS);

    END_INTERFACE
} IAuxInTuningSpaceVtbl;

interface IAuxInTuningSpace {
    CONST_VTBL IAuxInTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAuxInTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAuxInTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAuxInTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAuxInTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAuxInTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAuxInTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAuxInTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IAuxInTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IAuxInTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IAuxInTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IAuxInTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IAuxInTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IAuxInTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IAuxInTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IAuxInTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IAuxInTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IAuxInTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IAuxInTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IAuxInTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IAuxInTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IAuxInTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IAuxInTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
#else
/*** IUnknown methods ***/
static inline HRESULT IAuxInTuningSpace_QueryInterface(IAuxInTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAuxInTuningSpace_AddRef(IAuxInTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAuxInTuningSpace_Release(IAuxInTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAuxInTuningSpace_GetTypeInfoCount(IAuxInTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAuxInTuningSpace_GetTypeInfo(IAuxInTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAuxInTuningSpace_GetIDsOfNames(IAuxInTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAuxInTuningSpace_Invoke(IAuxInTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IAuxInTuningSpace_get_UniqueName(IAuxInTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IAuxInTuningSpace_put_UniqueName(IAuxInTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IAuxInTuningSpace_get_FriendlyName(IAuxInTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IAuxInTuningSpace_put_FriendlyName(IAuxInTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IAuxInTuningSpace_get_CLSID(IAuxInTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IAuxInTuningSpace_get_NetworkType(IAuxInTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace_put_NetworkType(IAuxInTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace_get__NetworkType(IAuxInTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace_put__NetworkType(IAuxInTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace_CreateTuneRequest(IAuxInTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IAuxInTuningSpace_EnumCategoryGUIDs(IAuxInTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IAuxInTuningSpace_EnumDeviceMonikers(IAuxInTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IAuxInTuningSpace_get_DefaultPreferredComponentTypes(IAuxInTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IAuxInTuningSpace_put_DefaultPreferredComponentTypes(IAuxInTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IAuxInTuningSpace_get_FrequencyMapping(IAuxInTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IAuxInTuningSpace_put_FrequencyMapping(IAuxInTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IAuxInTuningSpace_get_DefaultLocator(IAuxInTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAuxInTuningSpace_put_DefaultLocator(IAuxInTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAuxInTuningSpace_Clone(IAuxInTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
#endif
#endif

#endif


#endif  /* __IAuxInTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAuxInTuningSpace2 interface
 */
#ifndef __IAuxInTuningSpace2_INTERFACE_DEFINED__
#define __IAuxInTuningSpace2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAuxInTuningSpace2, 0xb10931ed, 0x8bfe, 0x4ab0, 0x9d,0xce, 0xe4,0x69,0xc2,0x9a,0x97,0x29);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b10931ed-8bfe-4ab0-9dce-e469c29a9729")
IAuxInTuningSpace2 : public IAuxInTuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
        LONG *CountryCodeVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
        LONG NewCountryCodeVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAuxInTuningSpace2, 0xb10931ed, 0x8bfe, 0x4ab0, 0x9d,0xce, 0xe4,0x69,0xc2,0x9a,0x97,0x29)
#endif
#else
typedef struct IAuxInTuningSpace2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAuxInTuningSpace2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAuxInTuningSpace2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAuxInTuningSpace2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAuxInTuningSpace2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAuxInTuningSpace2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAuxInTuningSpace2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAuxInTuningSpace2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IAuxInTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IAuxInTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IAuxInTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IAuxInTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IAuxInTuningSpace2 *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IAuxInTuningSpace2 *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IAuxInTuningSpace2 *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IAuxInTuningSpace2 *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IAuxInTuningSpace2 *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IAuxInTuningSpace2 *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IAuxInTuningSpace2 *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IAuxInTuningSpace2 *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IAuxInTuningSpace2 *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IAuxInTuningSpace2 *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IAuxInTuningSpace2 *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IAuxInTuningSpace2 *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IAuxInTuningSpace2 *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IAuxInTuningSpace2 *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAuxInTuningSpace2 *This,
        ITuningSpace **NewTS);

    /*** IAuxInTuningSpace2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
        IAuxInTuningSpace2 *This,
        LONG *CountryCodeVal);

    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
        IAuxInTuningSpace2 *This,
        LONG NewCountryCodeVal);

    END_INTERFACE
} IAuxInTuningSpace2Vtbl;

interface IAuxInTuningSpace2 {
    CONST_VTBL IAuxInTuningSpace2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAuxInTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAuxInTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAuxInTuningSpace2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAuxInTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAuxInTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAuxInTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAuxInTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IAuxInTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IAuxInTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IAuxInTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IAuxInTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IAuxInTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IAuxInTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IAuxInTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IAuxInTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IAuxInTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IAuxInTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IAuxInTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IAuxInTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IAuxInTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IAuxInTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IAuxInTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IAuxInTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAuxInTuningSpace2 methods ***/
#define IAuxInTuningSpace2_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal)
#define IAuxInTuningSpace2_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IAuxInTuningSpace2_QueryInterface(IAuxInTuningSpace2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAuxInTuningSpace2_AddRef(IAuxInTuningSpace2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAuxInTuningSpace2_Release(IAuxInTuningSpace2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAuxInTuningSpace2_GetTypeInfoCount(IAuxInTuningSpace2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAuxInTuningSpace2_GetTypeInfo(IAuxInTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAuxInTuningSpace2_GetIDsOfNames(IAuxInTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAuxInTuningSpace2_Invoke(IAuxInTuningSpace2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IAuxInTuningSpace2_get_UniqueName(IAuxInTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IAuxInTuningSpace2_put_UniqueName(IAuxInTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IAuxInTuningSpace2_get_FriendlyName(IAuxInTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IAuxInTuningSpace2_put_FriendlyName(IAuxInTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IAuxInTuningSpace2_get_CLSID(IAuxInTuningSpace2* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IAuxInTuningSpace2_get_NetworkType(IAuxInTuningSpace2* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace2_put_NetworkType(IAuxInTuningSpace2* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace2_get__NetworkType(IAuxInTuningSpace2* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace2_put__NetworkType(IAuxInTuningSpace2* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAuxInTuningSpace2_CreateTuneRequest(IAuxInTuningSpace2* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IAuxInTuningSpace2_EnumCategoryGUIDs(IAuxInTuningSpace2* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IAuxInTuningSpace2_EnumDeviceMonikers(IAuxInTuningSpace2* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IAuxInTuningSpace2_get_DefaultPreferredComponentTypes(IAuxInTuningSpace2* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IAuxInTuningSpace2_put_DefaultPreferredComponentTypes(IAuxInTuningSpace2* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IAuxInTuningSpace2_get_FrequencyMapping(IAuxInTuningSpace2* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IAuxInTuningSpace2_put_FrequencyMapping(IAuxInTuningSpace2* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IAuxInTuningSpace2_get_DefaultLocator(IAuxInTuningSpace2* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAuxInTuningSpace2_put_DefaultLocator(IAuxInTuningSpace2* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAuxInTuningSpace2_Clone(IAuxInTuningSpace2* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAuxInTuningSpace2 methods ***/
static inline HRESULT IAuxInTuningSpace2_get_CountryCode(IAuxInTuningSpace2* This,LONG *CountryCodeVal) {
    return This->lpVtbl->get_CountryCode(This,CountryCodeVal);
}
static inline HRESULT IAuxInTuningSpace2_put_CountryCode(IAuxInTuningSpace2* This,LONG NewCountryCodeVal) {
    return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal);
}
#endif
#endif

#endif


#endif  /* __IAuxInTuningSpace2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAnalogTVTuningSpace interface
 */
#ifndef __IAnalogTVTuningSpace_INTERFACE_DEFINED__
#define __IAnalogTVTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAnalogTVTuningSpace, 0x2a6e293c, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2a6e293c-2595-11d3-b64c-00c04f79498e")
IAnalogTVTuningSpace : public ITuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_MinChannel(
        LONG *MinChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinChannel(
        LONG NewMinChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxChannel(
        LONG *MaxChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxChannel(
        LONG NewMaxChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_InputType(
        TunerInputType *InputTypeVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_InputType(
        TunerInputType NewInputTypeVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
        LONG *CountryCodeVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
        LONG NewCountryCodeVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAnalogTVTuningSpace, 0x2a6e293c, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IAnalogTVTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAnalogTVTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAnalogTVTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAnalogTVTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAnalogTVTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAnalogTVTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAnalogTVTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAnalogTVTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IAnalogTVTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IAnalogTVTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IAnalogTVTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IAnalogTVTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IAnalogTVTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IAnalogTVTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IAnalogTVTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IAnalogTVTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IAnalogTVTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IAnalogTVTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IAnalogTVTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IAnalogTVTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IAnalogTVTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IAnalogTVTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IAnalogTVTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IAnalogTVTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IAnalogTVTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IAnalogTVTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAnalogTVTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IAnalogTVTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinChannel)(
        IAnalogTVTuningSpace *This,
        LONG *MinChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinChannel)(
        IAnalogTVTuningSpace *This,
        LONG NewMinChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxChannel)(
        IAnalogTVTuningSpace *This,
        LONG *MaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxChannel)(
        IAnalogTVTuningSpace *This,
        LONG NewMaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_InputType)(
        IAnalogTVTuningSpace *This,
        TunerInputType *InputTypeVal);

    HRESULT (STDMETHODCALLTYPE *put_InputType)(
        IAnalogTVTuningSpace *This,
        TunerInputType NewInputTypeVal);

    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
        IAnalogTVTuningSpace *This,
        LONG *CountryCodeVal);

    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
        IAnalogTVTuningSpace *This,
        LONG NewCountryCodeVal);

    END_INTERFACE
} IAnalogTVTuningSpaceVtbl;

interface IAnalogTVTuningSpace {
    CONST_VTBL IAnalogTVTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAnalogTVTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAnalogTVTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAnalogTVTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAnalogTVTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAnalogTVTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAnalogTVTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAnalogTVTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IAnalogTVTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IAnalogTVTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IAnalogTVTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IAnalogTVTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IAnalogTVTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IAnalogTVTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IAnalogTVTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IAnalogTVTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IAnalogTVTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IAnalogTVTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IAnalogTVTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IAnalogTVTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IAnalogTVTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IAnalogTVTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IAnalogTVTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IAnalogTVTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IAnalogTVTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IAnalogTVTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IAnalogTVTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAnalogTVTuningSpace methods ***/
#define IAnalogTVTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal)
#define IAnalogTVTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal)
#define IAnalogTVTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal)
#define IAnalogTVTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal)
#define IAnalogTVTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal)
#define IAnalogTVTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal)
#define IAnalogTVTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal)
#define IAnalogTVTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IAnalogTVTuningSpace_QueryInterface(IAnalogTVTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAnalogTVTuningSpace_AddRef(IAnalogTVTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAnalogTVTuningSpace_Release(IAnalogTVTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAnalogTVTuningSpace_GetTypeInfoCount(IAnalogTVTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAnalogTVTuningSpace_GetTypeInfo(IAnalogTVTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAnalogTVTuningSpace_GetIDsOfNames(IAnalogTVTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAnalogTVTuningSpace_Invoke(IAnalogTVTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IAnalogTVTuningSpace_get_UniqueName(IAnalogTVTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IAnalogTVTuningSpace_put_UniqueName(IAnalogTVTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IAnalogTVTuningSpace_get_FriendlyName(IAnalogTVTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IAnalogTVTuningSpace_put_FriendlyName(IAnalogTVTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IAnalogTVTuningSpace_get_CLSID(IAnalogTVTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IAnalogTVTuningSpace_get_NetworkType(IAnalogTVTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogTVTuningSpace_put_NetworkType(IAnalogTVTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogTVTuningSpace_get__NetworkType(IAnalogTVTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogTVTuningSpace_put__NetworkType(IAnalogTVTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogTVTuningSpace_CreateTuneRequest(IAnalogTVTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IAnalogTVTuningSpace_EnumCategoryGUIDs(IAnalogTVTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IAnalogTVTuningSpace_EnumDeviceMonikers(IAnalogTVTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IAnalogTVTuningSpace_get_DefaultPreferredComponentTypes(IAnalogTVTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IAnalogTVTuningSpace_put_DefaultPreferredComponentTypes(IAnalogTVTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IAnalogTVTuningSpace_get_FrequencyMapping(IAnalogTVTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IAnalogTVTuningSpace_put_FrequencyMapping(IAnalogTVTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IAnalogTVTuningSpace_get_DefaultLocator(IAnalogTVTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogTVTuningSpace_put_DefaultLocator(IAnalogTVTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogTVTuningSpace_Clone(IAnalogTVTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAnalogTVTuningSpace methods ***/
static inline HRESULT IAnalogTVTuningSpace_get_MinChannel(IAnalogTVTuningSpace* This,LONG *MinChannelVal) {
    return This->lpVtbl->get_MinChannel(This,MinChannelVal);
}
static inline HRESULT IAnalogTVTuningSpace_put_MinChannel(IAnalogTVTuningSpace* This,LONG NewMinChannelVal) {
    return This->lpVtbl->put_MinChannel(This,NewMinChannelVal);
}
static inline HRESULT IAnalogTVTuningSpace_get_MaxChannel(IAnalogTVTuningSpace* This,LONG *MaxChannelVal) {
    return This->lpVtbl->get_MaxChannel(This,MaxChannelVal);
}
static inline HRESULT IAnalogTVTuningSpace_put_MaxChannel(IAnalogTVTuningSpace* This,LONG NewMaxChannelVal) {
    return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal);
}
static inline HRESULT IAnalogTVTuningSpace_get_InputType(IAnalogTVTuningSpace* This,TunerInputType *InputTypeVal) {
    return This->lpVtbl->get_InputType(This,InputTypeVal);
}
static inline HRESULT IAnalogTVTuningSpace_put_InputType(IAnalogTVTuningSpace* This,TunerInputType NewInputTypeVal) {
    return This->lpVtbl->put_InputType(This,NewInputTypeVal);
}
static inline HRESULT IAnalogTVTuningSpace_get_CountryCode(IAnalogTVTuningSpace* This,LONG *CountryCodeVal) {
    return This->lpVtbl->get_CountryCode(This,CountryCodeVal);
}
static inline HRESULT IAnalogTVTuningSpace_put_CountryCode(IAnalogTVTuningSpace* This,LONG NewCountryCodeVal) {
    return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal);
}
#endif
#endif

#endif


#endif  /* __IAnalogTVTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IATSCTuningSpace interface
 */
#ifndef __IATSCTuningSpace_INTERFACE_DEFINED__
#define __IATSCTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IATSCTuningSpace, 0x0369b4e2, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0369b4e2-45b6-11d3-b650-00c04f79498e")
IATSCTuningSpace : public IAnalogTVTuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_MinMinorChannel(
        LONG *MinMinorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinMinorChannel(
        LONG NewMinMinorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxMinorChannel(
        LONG *MaxMinorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxMinorChannel(
        LONG NewMaxMinorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MinPhysicalChannel(
        LONG *MinPhysicalChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinPhysicalChannel(
        LONG NewMinPhysicalChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxPhysicalChannel(
        LONG *MaxPhysicalChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxPhysicalChannel(
        LONG NewMaxPhysicalChannelVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IATSCTuningSpace, 0x0369b4e2, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IATSCTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IATSCTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IATSCTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IATSCTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IATSCTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IATSCTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IATSCTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IATSCTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IATSCTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IATSCTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IATSCTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IATSCTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IATSCTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IATSCTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IATSCTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IATSCTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IATSCTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IATSCTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IATSCTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IATSCTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IATSCTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IATSCTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IATSCTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IATSCTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IATSCTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IATSCTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IATSCTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IAnalogTVTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinChannel)(
        IATSCTuningSpace *This,
        LONG *MinChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinChannel)(
        IATSCTuningSpace *This,
        LONG NewMinChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxChannel)(
        IATSCTuningSpace *This,
        LONG *MaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxChannel)(
        IATSCTuningSpace *This,
        LONG NewMaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_InputType)(
        IATSCTuningSpace *This,
        TunerInputType *InputTypeVal);

    HRESULT (STDMETHODCALLTYPE *put_InputType)(
        IATSCTuningSpace *This,
        TunerInputType NewInputTypeVal);

    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
        IATSCTuningSpace *This,
        LONG *CountryCodeVal);

    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
        IATSCTuningSpace *This,
        LONG NewCountryCodeVal);

    /*** IATSCTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinMinorChannel)(
        IATSCTuningSpace *This,
        LONG *MinMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinMinorChannel)(
        IATSCTuningSpace *This,
        LONG NewMinMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxMinorChannel)(
        IATSCTuningSpace *This,
        LONG *MaxMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxMinorChannel)(
        IATSCTuningSpace *This,
        LONG NewMaxMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MinPhysicalChannel)(
        IATSCTuningSpace *This,
        LONG *MinPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinPhysicalChannel)(
        IATSCTuningSpace *This,
        LONG NewMinPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxPhysicalChannel)(
        IATSCTuningSpace *This,
        LONG *MaxPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxPhysicalChannel)(
        IATSCTuningSpace *This,
        LONG NewMaxPhysicalChannelVal);

    END_INTERFACE
} IATSCTuningSpaceVtbl;

interface IATSCTuningSpace {
    CONST_VTBL IATSCTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IATSCTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IATSCTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IATSCTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IATSCTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IATSCTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IATSCTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IATSCTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IATSCTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IATSCTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IATSCTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IATSCTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IATSCTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IATSCTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IATSCTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IATSCTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IATSCTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IATSCTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IATSCTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IATSCTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IATSCTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IATSCTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IATSCTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IATSCTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IATSCTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IATSCTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IATSCTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAnalogTVTuningSpace methods ***/
#define IATSCTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal)
#define IATSCTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal)
#define IATSCTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal)
#define IATSCTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal)
#define IATSCTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal)
#define IATSCTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal)
#define IATSCTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal)
#define IATSCTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal)
/*** IATSCTuningSpace methods ***/
#define IATSCTuningSpace_get_MinMinorChannel(This,MinMinorChannelVal) (This)->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal)
#define IATSCTuningSpace_put_MinMinorChannel(This,NewMinMinorChannelVal) (This)->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal)
#define IATSCTuningSpace_get_MaxMinorChannel(This,MaxMinorChannelVal) (This)->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal)
#define IATSCTuningSpace_put_MaxMinorChannel(This,NewMaxMinorChannelVal) (This)->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal)
#define IATSCTuningSpace_get_MinPhysicalChannel(This,MinPhysicalChannelVal) (This)->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal)
#define IATSCTuningSpace_put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) (This)->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal)
#define IATSCTuningSpace_get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) (This)->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal)
#define IATSCTuningSpace_put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) (This)->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IATSCTuningSpace_QueryInterface(IATSCTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IATSCTuningSpace_AddRef(IATSCTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IATSCTuningSpace_Release(IATSCTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IATSCTuningSpace_GetTypeInfoCount(IATSCTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IATSCTuningSpace_GetTypeInfo(IATSCTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IATSCTuningSpace_GetIDsOfNames(IATSCTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IATSCTuningSpace_Invoke(IATSCTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IATSCTuningSpace_get_UniqueName(IATSCTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IATSCTuningSpace_put_UniqueName(IATSCTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IATSCTuningSpace_get_FriendlyName(IATSCTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IATSCTuningSpace_put_FriendlyName(IATSCTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IATSCTuningSpace_get_CLSID(IATSCTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IATSCTuningSpace_get_NetworkType(IATSCTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IATSCTuningSpace_put_NetworkType(IATSCTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IATSCTuningSpace_get__NetworkType(IATSCTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IATSCTuningSpace_put__NetworkType(IATSCTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IATSCTuningSpace_CreateTuneRequest(IATSCTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IATSCTuningSpace_EnumCategoryGUIDs(IATSCTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IATSCTuningSpace_EnumDeviceMonikers(IATSCTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IATSCTuningSpace_get_DefaultPreferredComponentTypes(IATSCTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IATSCTuningSpace_put_DefaultPreferredComponentTypes(IATSCTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IATSCTuningSpace_get_FrequencyMapping(IATSCTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IATSCTuningSpace_put_FrequencyMapping(IATSCTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IATSCTuningSpace_get_DefaultLocator(IATSCTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IATSCTuningSpace_put_DefaultLocator(IATSCTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IATSCTuningSpace_Clone(IATSCTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAnalogTVTuningSpace methods ***/
static inline HRESULT IATSCTuningSpace_get_MinChannel(IATSCTuningSpace* This,LONG *MinChannelVal) {
    return This->lpVtbl->get_MinChannel(This,MinChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MinChannel(IATSCTuningSpace* This,LONG NewMinChannelVal) {
    return This->lpVtbl->put_MinChannel(This,NewMinChannelVal);
}
static inline HRESULT IATSCTuningSpace_get_MaxChannel(IATSCTuningSpace* This,LONG *MaxChannelVal) {
    return This->lpVtbl->get_MaxChannel(This,MaxChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MaxChannel(IATSCTuningSpace* This,LONG NewMaxChannelVal) {
    return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal);
}
static inline HRESULT IATSCTuningSpace_get_InputType(IATSCTuningSpace* This,TunerInputType *InputTypeVal) {
    return This->lpVtbl->get_InputType(This,InputTypeVal);
}
static inline HRESULT IATSCTuningSpace_put_InputType(IATSCTuningSpace* This,TunerInputType NewInputTypeVal) {
    return This->lpVtbl->put_InputType(This,NewInputTypeVal);
}
static inline HRESULT IATSCTuningSpace_get_CountryCode(IATSCTuningSpace* This,LONG *CountryCodeVal) {
    return This->lpVtbl->get_CountryCode(This,CountryCodeVal);
}
static inline HRESULT IATSCTuningSpace_put_CountryCode(IATSCTuningSpace* This,LONG NewCountryCodeVal) {
    return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal);
}
/*** IATSCTuningSpace methods ***/
static inline HRESULT IATSCTuningSpace_get_MinMinorChannel(IATSCTuningSpace* This,LONG *MinMinorChannelVal) {
    return This->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MinMinorChannel(IATSCTuningSpace* This,LONG NewMinMinorChannelVal) {
    return This->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal);
}
static inline HRESULT IATSCTuningSpace_get_MaxMinorChannel(IATSCTuningSpace* This,LONG *MaxMinorChannelVal) {
    return This->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MaxMinorChannel(IATSCTuningSpace* This,LONG NewMaxMinorChannelVal) {
    return This->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal);
}
static inline HRESULT IATSCTuningSpace_get_MinPhysicalChannel(IATSCTuningSpace* This,LONG *MinPhysicalChannelVal) {
    return This->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MinPhysicalChannel(IATSCTuningSpace* This,LONG NewMinPhysicalChannelVal) {
    return This->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal);
}
static inline HRESULT IATSCTuningSpace_get_MaxPhysicalChannel(IATSCTuningSpace* This,LONG *MaxPhysicalChannelVal) {
    return This->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal);
}
static inline HRESULT IATSCTuningSpace_put_MaxPhysicalChannel(IATSCTuningSpace* This,LONG NewMaxPhysicalChannelVal) {
    return This->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal);
}
#endif
#endif

#endif


#endif  /* __IATSCTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDigitalCableTuningSpace interface
 */
#ifndef __IDigitalCableTuningSpace_INTERFACE_DEFINED__
#define __IDigitalCableTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDigitalCableTuningSpace, 0x013f9f9c, 0xb449, 0x4ec7, 0xa6,0xd2, 0x9d,0x4f,0x2f,0xc7,0x0a,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("013f9f9c-b449-4ec7-a6d2-9d4f2fc70ae5")
IDigitalCableTuningSpace : public IATSCTuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_MinMajorChannel(
        LONG *MinMajorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinMajorChannel(
        LONG NewMinMajorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxMajorChannel(
        LONG *MaxMajorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxMajorChannel(
        LONG NewMaxMajorChannelVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MinSourceID(
        LONG *MinSourceIDVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinSourceID(
        LONG NewMinSourceIDVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxSourceID(
        LONG *MaxSourceIDVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxSourceID(
        LONG NewMaxSourceIDVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDigitalCableTuningSpace, 0x013f9f9c, 0xb449, 0x4ec7, 0xa6,0xd2, 0x9d,0x4f,0x2f,0xc7,0x0a,0xe5)
#endif
#else
typedef struct IDigitalCableTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDigitalCableTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDigitalCableTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDigitalCableTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDigitalCableTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDigitalCableTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDigitalCableTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDigitalCableTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IDigitalCableTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IDigitalCableTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IDigitalCableTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IDigitalCableTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IDigitalCableTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IDigitalCableTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IDigitalCableTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IDigitalCableTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IDigitalCableTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IDigitalCableTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IDigitalCableTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IDigitalCableTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IDigitalCableTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IDigitalCableTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IDigitalCableTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IDigitalCableTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IDigitalCableTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IDigitalCableTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDigitalCableTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IAnalogTVTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MinChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMinChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMaxChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_InputType)(
        IDigitalCableTuningSpace *This,
        TunerInputType *InputTypeVal);

    HRESULT (STDMETHODCALLTYPE *put_InputType)(
        IDigitalCableTuningSpace *This,
        TunerInputType NewInputTypeVal);

    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
        IDigitalCableTuningSpace *This,
        LONG *CountryCodeVal);

    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
        IDigitalCableTuningSpace *This,
        LONG NewCountryCodeVal);

    /*** IATSCTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinMinorChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MinMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinMinorChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMinMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxMinorChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MaxMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxMinorChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMaxMinorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MinPhysicalChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MinPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinPhysicalChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMinPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxPhysicalChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MaxPhysicalChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxPhysicalChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMaxPhysicalChannelVal);

    /*** IDigitalCableTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinMajorChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MinMajorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MinMajorChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMinMajorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxMajorChannel)(
        IDigitalCableTuningSpace *This,
        LONG *MaxMajorChannelVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxMajorChannel)(
        IDigitalCableTuningSpace *This,
        LONG NewMaxMajorChannelVal);

    HRESULT (STDMETHODCALLTYPE *get_MinSourceID)(
        IDigitalCableTuningSpace *This,
        LONG *MinSourceIDVal);

    HRESULT (STDMETHODCALLTYPE *put_MinSourceID)(
        IDigitalCableTuningSpace *This,
        LONG NewMinSourceIDVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxSourceID)(
        IDigitalCableTuningSpace *This,
        LONG *MaxSourceIDVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxSourceID)(
        IDigitalCableTuningSpace *This,
        LONG NewMaxSourceIDVal);

    END_INTERFACE
} IDigitalCableTuningSpaceVtbl;

interface IDigitalCableTuningSpace {
    CONST_VTBL IDigitalCableTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDigitalCableTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDigitalCableTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDigitalCableTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDigitalCableTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDigitalCableTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDigitalCableTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDigitalCableTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IDigitalCableTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IDigitalCableTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IDigitalCableTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IDigitalCableTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IDigitalCableTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IDigitalCableTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IDigitalCableTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IDigitalCableTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IDigitalCableTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IDigitalCableTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IDigitalCableTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IDigitalCableTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IDigitalCableTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IDigitalCableTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IDigitalCableTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IDigitalCableTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IDigitalCableTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IDigitalCableTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IDigitalCableTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAnalogTVTuningSpace methods ***/
#define IDigitalCableTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal)
#define IDigitalCableTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal)
#define IDigitalCableTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal)
#define IDigitalCableTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal)
#define IDigitalCableTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal)
#define IDigitalCableTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal)
#define IDigitalCableTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal)
#define IDigitalCableTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal)
/*** IATSCTuningSpace methods ***/
#define IDigitalCableTuningSpace_get_MinMinorChannel(This,MinMinorChannelVal) (This)->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal)
#define IDigitalCableTuningSpace_put_MinMinorChannel(This,NewMinMinorChannelVal) (This)->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal)
#define IDigitalCableTuningSpace_get_MaxMinorChannel(This,MaxMinorChannelVal) (This)->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal)
#define IDigitalCableTuningSpace_put_MaxMinorChannel(This,NewMaxMinorChannelVal) (This)->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal)
#define IDigitalCableTuningSpace_get_MinPhysicalChannel(This,MinPhysicalChannelVal) (This)->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal)
#define IDigitalCableTuningSpace_put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) (This)->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal)
#define IDigitalCableTuningSpace_get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) (This)->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal)
#define IDigitalCableTuningSpace_put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) (This)->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal)
/*** IDigitalCableTuningSpace methods ***/
#define IDigitalCableTuningSpace_get_MinMajorChannel(This,MinMajorChannelVal) (This)->lpVtbl->get_MinMajorChannel(This,MinMajorChannelVal)
#define IDigitalCableTuningSpace_put_MinMajorChannel(This,NewMinMajorChannelVal) (This)->lpVtbl->put_MinMajorChannel(This,NewMinMajorChannelVal)
#define IDigitalCableTuningSpace_get_MaxMajorChannel(This,MaxMajorChannelVal) (This)->lpVtbl->get_MaxMajorChannel(This,MaxMajorChannelVal)
#define IDigitalCableTuningSpace_put_MaxMajorChannel(This,NewMaxMajorChannelVal) (This)->lpVtbl->put_MaxMajorChannel(This,NewMaxMajorChannelVal)
#define IDigitalCableTuningSpace_get_MinSourceID(This,MinSourceIDVal) (This)->lpVtbl->get_MinSourceID(This,MinSourceIDVal)
#define IDigitalCableTuningSpace_put_MinSourceID(This,NewMinSourceIDVal) (This)->lpVtbl->put_MinSourceID(This,NewMinSourceIDVal)
#define IDigitalCableTuningSpace_get_MaxSourceID(This,MaxSourceIDVal) (This)->lpVtbl->get_MaxSourceID(This,MaxSourceIDVal)
#define IDigitalCableTuningSpace_put_MaxSourceID(This,NewMaxSourceIDVal) (This)->lpVtbl->put_MaxSourceID(This,NewMaxSourceIDVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IDigitalCableTuningSpace_QueryInterface(IDigitalCableTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDigitalCableTuningSpace_AddRef(IDigitalCableTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDigitalCableTuningSpace_Release(IDigitalCableTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDigitalCableTuningSpace_GetTypeInfoCount(IDigitalCableTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDigitalCableTuningSpace_GetTypeInfo(IDigitalCableTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDigitalCableTuningSpace_GetIDsOfNames(IDigitalCableTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDigitalCableTuningSpace_Invoke(IDigitalCableTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IDigitalCableTuningSpace_get_UniqueName(IDigitalCableTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IDigitalCableTuningSpace_put_UniqueName(IDigitalCableTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IDigitalCableTuningSpace_get_FriendlyName(IDigitalCableTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IDigitalCableTuningSpace_put_FriendlyName(IDigitalCableTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IDigitalCableTuningSpace_get_CLSID(IDigitalCableTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IDigitalCableTuningSpace_get_NetworkType(IDigitalCableTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDigitalCableTuningSpace_put_NetworkType(IDigitalCableTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDigitalCableTuningSpace_get__NetworkType(IDigitalCableTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDigitalCableTuningSpace_put__NetworkType(IDigitalCableTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IDigitalCableTuningSpace_CreateTuneRequest(IDigitalCableTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IDigitalCableTuningSpace_EnumCategoryGUIDs(IDigitalCableTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IDigitalCableTuningSpace_EnumDeviceMonikers(IDigitalCableTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IDigitalCableTuningSpace_get_DefaultPreferredComponentTypes(IDigitalCableTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IDigitalCableTuningSpace_put_DefaultPreferredComponentTypes(IDigitalCableTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IDigitalCableTuningSpace_get_FrequencyMapping(IDigitalCableTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IDigitalCableTuningSpace_put_FrequencyMapping(IDigitalCableTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IDigitalCableTuningSpace_get_DefaultLocator(IDigitalCableTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_DefaultLocator(IDigitalCableTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IDigitalCableTuningSpace_Clone(IDigitalCableTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAnalogTVTuningSpace methods ***/
static inline HRESULT IDigitalCableTuningSpace_get_MinChannel(IDigitalCableTuningSpace* This,LONG *MinChannelVal) {
    return This->lpVtbl->get_MinChannel(This,MinChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MinChannel(IDigitalCableTuningSpace* This,LONG NewMinChannelVal) {
    return This->lpVtbl->put_MinChannel(This,NewMinChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MaxChannel(IDigitalCableTuningSpace* This,LONG *MaxChannelVal) {
    return This->lpVtbl->get_MaxChannel(This,MaxChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MaxChannel(IDigitalCableTuningSpace* This,LONG NewMaxChannelVal) {
    return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_InputType(IDigitalCableTuningSpace* This,TunerInputType *InputTypeVal) {
    return This->lpVtbl->get_InputType(This,InputTypeVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_InputType(IDigitalCableTuningSpace* This,TunerInputType NewInputTypeVal) {
    return This->lpVtbl->put_InputType(This,NewInputTypeVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_CountryCode(IDigitalCableTuningSpace* This,LONG *CountryCodeVal) {
    return This->lpVtbl->get_CountryCode(This,CountryCodeVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_CountryCode(IDigitalCableTuningSpace* This,LONG NewCountryCodeVal) {
    return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal);
}
/*** IATSCTuningSpace methods ***/
static inline HRESULT IDigitalCableTuningSpace_get_MinMinorChannel(IDigitalCableTuningSpace* This,LONG *MinMinorChannelVal) {
    return This->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MinMinorChannel(IDigitalCableTuningSpace* This,LONG NewMinMinorChannelVal) {
    return This->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MaxMinorChannel(IDigitalCableTuningSpace* This,LONG *MaxMinorChannelVal) {
    return This->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MaxMinorChannel(IDigitalCableTuningSpace* This,LONG NewMaxMinorChannelVal) {
    return This->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MinPhysicalChannel(IDigitalCableTuningSpace* This,LONG *MinPhysicalChannelVal) {
    return This->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MinPhysicalChannel(IDigitalCableTuningSpace* This,LONG NewMinPhysicalChannelVal) {
    return This->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MaxPhysicalChannel(IDigitalCableTuningSpace* This,LONG *MaxPhysicalChannelVal) {
    return This->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MaxPhysicalChannel(IDigitalCableTuningSpace* This,LONG NewMaxPhysicalChannelVal) {
    return This->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal);
}
/*** IDigitalCableTuningSpace methods ***/
static inline HRESULT IDigitalCableTuningSpace_get_MinMajorChannel(IDigitalCableTuningSpace* This,LONG *MinMajorChannelVal) {
    return This->lpVtbl->get_MinMajorChannel(This,MinMajorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MinMajorChannel(IDigitalCableTuningSpace* This,LONG NewMinMajorChannelVal) {
    return This->lpVtbl->put_MinMajorChannel(This,NewMinMajorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MaxMajorChannel(IDigitalCableTuningSpace* This,LONG *MaxMajorChannelVal) {
    return This->lpVtbl->get_MaxMajorChannel(This,MaxMajorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MaxMajorChannel(IDigitalCableTuningSpace* This,LONG NewMaxMajorChannelVal) {
    return This->lpVtbl->put_MaxMajorChannel(This,NewMaxMajorChannelVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MinSourceID(IDigitalCableTuningSpace* This,LONG *MinSourceIDVal) {
    return This->lpVtbl->get_MinSourceID(This,MinSourceIDVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MinSourceID(IDigitalCableTuningSpace* This,LONG NewMinSourceIDVal) {
    return This->lpVtbl->put_MinSourceID(This,NewMinSourceIDVal);
}
static inline HRESULT IDigitalCableTuningSpace_get_MaxSourceID(IDigitalCableTuningSpace* This,LONG *MaxSourceIDVal) {
    return This->lpVtbl->get_MaxSourceID(This,MaxSourceIDVal);
}
static inline HRESULT IDigitalCableTuningSpace_put_MaxSourceID(IDigitalCableTuningSpace* This,LONG NewMaxSourceIDVal) {
    return This->lpVtbl->put_MaxSourceID(This,NewMaxSourceIDVal);
}
#endif
#endif

#endif


#endif  /* __IDigitalCableTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAnalogRadioTuningSpace interface
 */
#ifndef __IAnalogRadioTuningSpace_INTERFACE_DEFINED__
#define __IAnalogRadioTuningSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAnalogRadioTuningSpace, 0x2a6e293b, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2a6e293b-2595-11d3-b64c-00c04f79498e")
IAnalogRadioTuningSpace : public ITuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_MinFrequency(
        LONG *MinFrequencyVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinFrequency(
        LONG NewMinFrequencyVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MaxFrequency(
        LONG *MaxFrequencyVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MaxFrequency(
        LONG NewMaxFrequencyVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Step(
        LONG *StepVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Step(
        LONG NewStepVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAnalogRadioTuningSpace, 0x2a6e293b, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IAnalogRadioTuningSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAnalogRadioTuningSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAnalogRadioTuningSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAnalogRadioTuningSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAnalogRadioTuningSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAnalogRadioTuningSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAnalogRadioTuningSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAnalogRadioTuningSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IAnalogRadioTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IAnalogRadioTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IAnalogRadioTuningSpace *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IAnalogRadioTuningSpace *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IAnalogRadioTuningSpace *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IAnalogRadioTuningSpace *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IAnalogRadioTuningSpace *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IAnalogRadioTuningSpace *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IAnalogRadioTuningSpace *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IAnalogRadioTuningSpace *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IAnalogRadioTuningSpace *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IAnalogRadioTuningSpace *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IAnalogRadioTuningSpace *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IAnalogRadioTuningSpace *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IAnalogRadioTuningSpace *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IAnalogRadioTuningSpace *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IAnalogRadioTuningSpace *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IAnalogRadioTuningSpace *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAnalogRadioTuningSpace *This,
        ITuningSpace **NewTS);

    /*** IAnalogRadioTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinFrequency)(
        IAnalogRadioTuningSpace *This,
        LONG *MinFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *put_MinFrequency)(
        IAnalogRadioTuningSpace *This,
        LONG NewMinFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxFrequency)(
        IAnalogRadioTuningSpace *This,
        LONG *MaxFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxFrequency)(
        IAnalogRadioTuningSpace *This,
        LONG NewMaxFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *get_Step)(
        IAnalogRadioTuningSpace *This,
        LONG *StepVal);

    HRESULT (STDMETHODCALLTYPE *put_Step)(
        IAnalogRadioTuningSpace *This,
        LONG NewStepVal);

    END_INTERFACE
} IAnalogRadioTuningSpaceVtbl;

interface IAnalogRadioTuningSpace {
    CONST_VTBL IAnalogRadioTuningSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAnalogRadioTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAnalogRadioTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAnalogRadioTuningSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAnalogRadioTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAnalogRadioTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAnalogRadioTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAnalogRadioTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IAnalogRadioTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IAnalogRadioTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IAnalogRadioTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IAnalogRadioTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IAnalogRadioTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IAnalogRadioTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IAnalogRadioTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IAnalogRadioTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IAnalogRadioTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IAnalogRadioTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IAnalogRadioTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IAnalogRadioTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IAnalogRadioTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IAnalogRadioTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IAnalogRadioTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAnalogRadioTuningSpace methods ***/
#define IAnalogRadioTuningSpace_get_MinFrequency(This,MinFrequencyVal) (This)->lpVtbl->get_MinFrequency(This,MinFrequencyVal)
#define IAnalogRadioTuningSpace_put_MinFrequency(This,NewMinFrequencyVal) (This)->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal)
#define IAnalogRadioTuningSpace_get_MaxFrequency(This,MaxFrequencyVal) (This)->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal)
#define IAnalogRadioTuningSpace_put_MaxFrequency(This,NewMaxFrequencyVal) (This)->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal)
#define IAnalogRadioTuningSpace_get_Step(This,StepVal) (This)->lpVtbl->get_Step(This,StepVal)
#define IAnalogRadioTuningSpace_put_Step(This,NewStepVal) (This)->lpVtbl->put_Step(This,NewStepVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IAnalogRadioTuningSpace_QueryInterface(IAnalogRadioTuningSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAnalogRadioTuningSpace_AddRef(IAnalogRadioTuningSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAnalogRadioTuningSpace_Release(IAnalogRadioTuningSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAnalogRadioTuningSpace_GetTypeInfoCount(IAnalogRadioTuningSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAnalogRadioTuningSpace_GetTypeInfo(IAnalogRadioTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAnalogRadioTuningSpace_GetIDsOfNames(IAnalogRadioTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAnalogRadioTuningSpace_Invoke(IAnalogRadioTuningSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IAnalogRadioTuningSpace_get_UniqueName(IAnalogRadioTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace_put_UniqueName(IAnalogRadioTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace_get_FriendlyName(IAnalogRadioTuningSpace* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace_put_FriendlyName(IAnalogRadioTuningSpace* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace_get_CLSID(IAnalogRadioTuningSpace* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IAnalogRadioTuningSpace_get_NetworkType(IAnalogRadioTuningSpace* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace_put_NetworkType(IAnalogRadioTuningSpace* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace_get__NetworkType(IAnalogRadioTuningSpace* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace_put__NetworkType(IAnalogRadioTuningSpace* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace_CreateTuneRequest(IAnalogRadioTuningSpace* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IAnalogRadioTuningSpace_EnumCategoryGUIDs(IAnalogRadioTuningSpace* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IAnalogRadioTuningSpace_EnumDeviceMonikers(IAnalogRadioTuningSpace* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IAnalogRadioTuningSpace_get_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IAnalogRadioTuningSpace_put_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IAnalogRadioTuningSpace_get_FrequencyMapping(IAnalogRadioTuningSpace* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IAnalogRadioTuningSpace_put_FrequencyMapping(IAnalogRadioTuningSpace* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IAnalogRadioTuningSpace_get_DefaultLocator(IAnalogRadioTuningSpace* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogRadioTuningSpace_put_DefaultLocator(IAnalogRadioTuningSpace* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogRadioTuningSpace_Clone(IAnalogRadioTuningSpace* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAnalogRadioTuningSpace methods ***/
static inline HRESULT IAnalogRadioTuningSpace_get_MinFrequency(IAnalogRadioTuningSpace* This,LONG *MinFrequencyVal) {
    return This->lpVtbl->get_MinFrequency(This,MinFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace_put_MinFrequency(IAnalogRadioTuningSpace* This,LONG NewMinFrequencyVal) {
    return This->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace_get_MaxFrequency(IAnalogRadioTuningSpace* This,LONG *MaxFrequencyVal) {
    return This->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace_put_MaxFrequency(IAnalogRadioTuningSpace* This,LONG NewMaxFrequencyVal) {
    return This->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace_get_Step(IAnalogRadioTuningSpace* This,LONG *StepVal) {
    return This->lpVtbl->get_Step(This,StepVal);
}
static inline HRESULT IAnalogRadioTuningSpace_put_Step(IAnalogRadioTuningSpace* This,LONG NewStepVal) {
    return This->lpVtbl->put_Step(This,NewStepVal);
}
#endif
#endif

#endif


#endif  /* __IAnalogRadioTuningSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAnalogRadioTuningSpace2 interface
 */
#ifndef __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__
#define __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAnalogRadioTuningSpace2, 0x39dd45da, 0x2da8, 0x46ba, 0x8a,0x8a, 0x87,0xe2,0xb7,0x3d,0x98,0x3a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("39dd45da-2da8-46ba-8a8a-87e2b73d983a")
IAnalogRadioTuningSpace2 : public IAnalogRadioTuningSpace
{
    virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
        LONG *CountryCodeVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
        LONG NewCountryCodeVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAnalogRadioTuningSpace2, 0x39dd45da, 0x2da8, 0x46ba, 0x8a,0x8a, 0x87,0xe2,0xb7,0x3d,0x98,0x3a)
#endif
#else
typedef struct IAnalogRadioTuningSpace2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAnalogRadioTuningSpace2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAnalogRadioTuningSpace2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAnalogRadioTuningSpace2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAnalogRadioTuningSpace2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAnalogRadioTuningSpace2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAnalogRadioTuningSpace2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAnalogRadioTuningSpace2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_UniqueName)(
        IAnalogRadioTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_UniqueName)(
        IAnalogRadioTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_FriendlyName)(
        IAnalogRadioTuningSpace2 *This,
        BSTR *Name);

    HRESULT (STDMETHODCALLTYPE *put_FriendlyName)(
        IAnalogRadioTuningSpace2 *This,
        BSTR Name);

    HRESULT (STDMETHODCALLTYPE *get_CLSID)(
        IAnalogRadioTuningSpace2 *This,
        BSTR *SpaceCLSID);

    HRESULT (STDMETHODCALLTYPE *get_NetworkType)(
        IAnalogRadioTuningSpace2 *This,
        BSTR *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put_NetworkType)(
        IAnalogRadioTuningSpace2 *This,
        BSTR NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get__NetworkType)(
        IAnalogRadioTuningSpace2 *This,
        GUID *NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__NetworkType)(
        IAnalogRadioTuningSpace2 *This,
        REFCLSID NetworkTypeGuid);

    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IAnalogRadioTuningSpace2 *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)(
        IAnalogRadioTuningSpace2 *This,
        IEnumGUID **ppEnum);

    HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)(
        IAnalogRadioTuningSpace2 *This,
        IEnumMoniker **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)(
        IAnalogRadioTuningSpace2 *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)(
        IAnalogRadioTuningSpace2 *This,
        IComponentTypes *NewComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
        IAnalogRadioTuningSpace2 *This,
        BSTR *pMapping);

    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
        IAnalogRadioTuningSpace2 *This,
        BSTR Mapping);

    HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)(
        IAnalogRadioTuningSpace2 *This,
        ILocator **LocatorVal);

    HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)(
        IAnalogRadioTuningSpace2 *This,
        ILocator *LocatorVal);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAnalogRadioTuningSpace2 *This,
        ITuningSpace **NewTS);

    /*** IAnalogRadioTuningSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinFrequency)(
        IAnalogRadioTuningSpace2 *This,
        LONG *MinFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *put_MinFrequency)(
        IAnalogRadioTuningSpace2 *This,
        LONG NewMinFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *get_MaxFrequency)(
        IAnalogRadioTuningSpace2 *This,
        LONG *MaxFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *put_MaxFrequency)(
        IAnalogRadioTuningSpace2 *This,
        LONG NewMaxFrequencyVal);

    HRESULT (STDMETHODCALLTYPE *get_Step)(
        IAnalogRadioTuningSpace2 *This,
        LONG *StepVal);

    HRESULT (STDMETHODCALLTYPE *put_Step)(
        IAnalogRadioTuningSpace2 *This,
        LONG NewStepVal);

    /*** IAnalogRadioTuningSpace2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
        IAnalogRadioTuningSpace2 *This,
        LONG *CountryCodeVal);

    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
        IAnalogRadioTuningSpace2 *This,
        LONG NewCountryCodeVal);

    END_INTERFACE
} IAnalogRadioTuningSpace2Vtbl;

interface IAnalogRadioTuningSpace2 {
    CONST_VTBL IAnalogRadioTuningSpace2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAnalogRadioTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAnalogRadioTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAnalogRadioTuningSpace2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAnalogRadioTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAnalogRadioTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAnalogRadioTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAnalogRadioTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuningSpace methods ***/
#define IAnalogRadioTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name)
#define IAnalogRadioTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name)
#define IAnalogRadioTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name)
#define IAnalogRadioTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name)
#define IAnalogRadioTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID)
#define IAnalogRadioTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid)
#define IAnalogRadioTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest)
#define IAnalogRadioTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum)
#define IAnalogRadioTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum)
#define IAnalogRadioTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes)
#define IAnalogRadioTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes)
#define IAnalogRadioTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping)
#define IAnalogRadioTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping)
#define IAnalogRadioTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal)
#define IAnalogRadioTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal)
#define IAnalogRadioTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS)
/*** IAnalogRadioTuningSpace methods ***/
#define IAnalogRadioTuningSpace2_get_MinFrequency(This,MinFrequencyVal) (This)->lpVtbl->get_MinFrequency(This,MinFrequencyVal)
#define IAnalogRadioTuningSpace2_put_MinFrequency(This,NewMinFrequencyVal) (This)->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal)
#define IAnalogRadioTuningSpace2_get_MaxFrequency(This,MaxFrequencyVal) (This)->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal)
#define IAnalogRadioTuningSpace2_put_MaxFrequency(This,NewMaxFrequencyVal) (This)->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal)
#define IAnalogRadioTuningSpace2_get_Step(This,StepVal) (This)->lpVtbl->get_Step(This,StepVal)
#define IAnalogRadioTuningSpace2_put_Step(This,NewStepVal) (This)->lpVtbl->put_Step(This,NewStepVal)
/*** IAnalogRadioTuningSpace2 methods ***/
#define IAnalogRadioTuningSpace2_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal)
#define IAnalogRadioTuningSpace2_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IAnalogRadioTuningSpace2_QueryInterface(IAnalogRadioTuningSpace2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAnalogRadioTuningSpace2_AddRef(IAnalogRadioTuningSpace2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAnalogRadioTuningSpace2_Release(IAnalogRadioTuningSpace2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAnalogRadioTuningSpace2_GetTypeInfoCount(IAnalogRadioTuningSpace2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAnalogRadioTuningSpace2_GetTypeInfo(IAnalogRadioTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAnalogRadioTuningSpace2_GetIDsOfNames(IAnalogRadioTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAnalogRadioTuningSpace2_Invoke(IAnalogRadioTuningSpace2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuningSpace methods ***/
static inline HRESULT IAnalogRadioTuningSpace2_get_UniqueName(IAnalogRadioTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_UniqueName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_UniqueName(IAnalogRadioTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_UniqueName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_FriendlyName(IAnalogRadioTuningSpace2* This,BSTR *Name) {
    return This->lpVtbl->get_FriendlyName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_FriendlyName(IAnalogRadioTuningSpace2* This,BSTR Name) {
    return This->lpVtbl->put_FriendlyName(This,Name);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_CLSID(IAnalogRadioTuningSpace2* This,BSTR *SpaceCLSID) {
    return This->lpVtbl->get_CLSID(This,SpaceCLSID);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_NetworkType(IAnalogRadioTuningSpace2* This,BSTR *NetworkTypeGuid) {
    return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_NetworkType(IAnalogRadioTuningSpace2* This,BSTR NetworkTypeGuid) {
    return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace2_get__NetworkType(IAnalogRadioTuningSpace2* This,GUID *NetworkTypeGuid) {
    return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace2_put__NetworkType(IAnalogRadioTuningSpace2* This,REFCLSID NetworkTypeGuid) {
    return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid);
}
static inline HRESULT IAnalogRadioTuningSpace2_CreateTuneRequest(IAnalogRadioTuningSpace2* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuneRequest);
}
static inline HRESULT IAnalogRadioTuningSpace2_EnumCategoryGUIDs(IAnalogRadioTuningSpace2* This,IEnumGUID **ppEnum) {
    return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum);
}
static inline HRESULT IAnalogRadioTuningSpace2_EnumDeviceMonikers(IAnalogRadioTuningSpace2* This,IEnumMoniker **ppEnum) {
    return This->lpVtbl->EnumDeviceMonikers(This,ppEnum);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace2* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace2* This,IComponentTypes *NewComponentTypes) {
    return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_FrequencyMapping(IAnalogRadioTuningSpace2* This,BSTR *pMapping) {
    return This->lpVtbl->get_FrequencyMapping(This,pMapping);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_FrequencyMapping(IAnalogRadioTuningSpace2* This,BSTR Mapping) {
    return This->lpVtbl->put_FrequencyMapping(This,Mapping);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_DefaultLocator(IAnalogRadioTuningSpace2* This,ILocator **LocatorVal) {
    return This->lpVtbl->get_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_DefaultLocator(IAnalogRadioTuningSpace2* This,ILocator *LocatorVal) {
    return This->lpVtbl->put_DefaultLocator(This,LocatorVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_Clone(IAnalogRadioTuningSpace2* This,ITuningSpace **NewTS) {
    return This->lpVtbl->Clone(This,NewTS);
}
/*** IAnalogRadioTuningSpace methods ***/
static inline HRESULT IAnalogRadioTuningSpace2_get_MinFrequency(IAnalogRadioTuningSpace2* This,LONG *MinFrequencyVal) {
    return This->lpVtbl->get_MinFrequency(This,MinFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_MinFrequency(IAnalogRadioTuningSpace2* This,LONG NewMinFrequencyVal) {
    return This->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_MaxFrequency(IAnalogRadioTuningSpace2* This,LONG *MaxFrequencyVal) {
    return This->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_MaxFrequency(IAnalogRadioTuningSpace2* This,LONG NewMaxFrequencyVal) {
    return This->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_get_Step(IAnalogRadioTuningSpace2* This,LONG *StepVal) {
    return This->lpVtbl->get_Step(This,StepVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_Step(IAnalogRadioTuningSpace2* This,LONG NewStepVal) {
    return This->lpVtbl->put_Step(This,NewStepVal);
}
/*** IAnalogRadioTuningSpace2 methods ***/
static inline HRESULT IAnalogRadioTuningSpace2_get_CountryCode(IAnalogRadioTuningSpace2* This,LONG *CountryCodeVal) {
    return This->lpVtbl->get_CountryCode(This,CountryCodeVal);
}
static inline HRESULT IAnalogRadioTuningSpace2_put_CountryCode(IAnalogRadioTuningSpace2* This,LONG NewCountryCodeVal) {
    return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal);
}
#endif
#endif

#endif


#endif  /* __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITuneRequest interface
 */
#ifndef __ITuneRequest_INTERFACE_DEFINED__
#define __ITuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITuneRequest, 0x07ddc146, 0xfc3d, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("07ddc146-fc3d-11d2-9d8c-00c04f72d980")
ITuneRequest : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
        ITuningSpace **TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Components(
        IComponents **Components) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        ITuneRequest **NewTuneRequest) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Locator(
        ILocator **Locator) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Locator(
        ILocator *Locator) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITuneRequest, 0x07ddc146, 0xfc3d, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct ITuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        ITuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        ITuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        ITuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        ITuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        ITuneRequest *This,
        ILocator *Locator);

    END_INTERFACE
} ITuneRequestVtbl;

interface ITuneRequest {
    CONST_VTBL ITuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define ITuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define ITuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define ITuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define ITuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define ITuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
#else
/*** IUnknown methods ***/
static inline HRESULT ITuneRequest_QueryInterface(ITuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITuneRequest_AddRef(ITuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITuneRequest_Release(ITuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITuneRequest_GetTypeInfoCount(ITuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITuneRequest_GetTypeInfo(ITuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITuneRequest_GetIDsOfNames(ITuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITuneRequest_Invoke(ITuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT ITuneRequest_get_TuningSpace(ITuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT ITuneRequest_get_Components(ITuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT ITuneRequest_Clone(ITuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT ITuneRequest_get_Locator(ITuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT ITuneRequest_put_Locator(ITuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
#endif
#endif

#endif


#endif  /* __ITuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IChannelIDTuneRequest interface
 */
#ifndef __IChannelIDTuneRequest_INTERFACE_DEFINED__
#define __IChannelIDTuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IChannelIDTuneRequest, 0x156eff60, 0x86f4, 0x4e28, 0x89,0xfc, 0x10,0x97,0x99,0xfd,0x57,0xee);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("156eff60-86f4-4e28-89fc-109799fd57ee")
IChannelIDTuneRequest : public ITuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_ChannelID(
        BSTR *ChannelID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ChannelID(
        BSTR ChannelID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IChannelIDTuneRequest, 0x156eff60, 0x86f4, 0x4e28, 0x89,0xfc, 0x10,0x97,0x99,0xfd,0x57,0xee)
#endif
#else
typedef struct IChannelIDTuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IChannelIDTuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IChannelIDTuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IChannelIDTuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IChannelIDTuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IChannelIDTuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IChannelIDTuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IChannelIDTuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IChannelIDTuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IChannelIDTuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IChannelIDTuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IChannelIDTuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IChannelIDTuneRequest *This,
        ILocator *Locator);

    /*** IChannelIDTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ChannelID)(
        IChannelIDTuneRequest *This,
        BSTR *ChannelID);

    HRESULT (STDMETHODCALLTYPE *put_ChannelID)(
        IChannelIDTuneRequest *This,
        BSTR ChannelID);

    END_INTERFACE
} IChannelIDTuneRequestVtbl;

interface IChannelIDTuneRequest {
    CONST_VTBL IChannelIDTuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IChannelIDTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IChannelIDTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IChannelIDTuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IChannelIDTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IChannelIDTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IChannelIDTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IChannelIDTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IChannelIDTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IChannelIDTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IChannelIDTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IChannelIDTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IChannelIDTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IChannelIDTuneRequest methods ***/
#define IChannelIDTuneRequest_get_ChannelID(This,ChannelID) (This)->lpVtbl->get_ChannelID(This,ChannelID)
#define IChannelIDTuneRequest_put_ChannelID(This,ChannelID) (This)->lpVtbl->put_ChannelID(This,ChannelID)
#else
/*** IUnknown methods ***/
static inline HRESULT IChannelIDTuneRequest_QueryInterface(IChannelIDTuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IChannelIDTuneRequest_AddRef(IChannelIDTuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IChannelIDTuneRequest_Release(IChannelIDTuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IChannelIDTuneRequest_GetTypeInfoCount(IChannelIDTuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IChannelIDTuneRequest_GetTypeInfo(IChannelIDTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IChannelIDTuneRequest_GetIDsOfNames(IChannelIDTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IChannelIDTuneRequest_Invoke(IChannelIDTuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IChannelIDTuneRequest_get_TuningSpace(IChannelIDTuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IChannelIDTuneRequest_get_Components(IChannelIDTuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IChannelIDTuneRequest_Clone(IChannelIDTuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IChannelIDTuneRequest_get_Locator(IChannelIDTuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IChannelIDTuneRequest_put_Locator(IChannelIDTuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IChannelIDTuneRequest methods ***/
static inline HRESULT IChannelIDTuneRequest_get_ChannelID(IChannelIDTuneRequest* This,BSTR *ChannelID) {
    return This->lpVtbl->get_ChannelID(This,ChannelID);
}
static inline HRESULT IChannelIDTuneRequest_put_ChannelID(IChannelIDTuneRequest* This,BSTR ChannelID) {
    return This->lpVtbl->put_ChannelID(This,ChannelID);
}
#endif
#endif

#endif


#endif  /* __IChannelIDTuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IChannelTuneRequest interface
 */
#ifndef __IChannelTuneRequest_INTERFACE_DEFINED__
#define __IChannelTuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IChannelTuneRequest, 0x0369b4e0, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0369b4e0-45b6-11d3-b650-00c04f79498e")
IChannelTuneRequest : public ITuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_Channel(
        LONG *Channel) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Channel(
        LONG Channel) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IChannelTuneRequest, 0x0369b4e0, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IChannelTuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IChannelTuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IChannelTuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IChannelTuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IChannelTuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IChannelTuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IChannelTuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IChannelTuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IChannelTuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IChannelTuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IChannelTuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IChannelTuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IChannelTuneRequest *This,
        ILocator *Locator);

    /*** IChannelTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Channel)(
        IChannelTuneRequest *This,
        LONG *Channel);

    HRESULT (STDMETHODCALLTYPE *put_Channel)(
        IChannelTuneRequest *This,
        LONG Channel);

    END_INTERFACE
} IChannelTuneRequestVtbl;

interface IChannelTuneRequest {
    CONST_VTBL IChannelTuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IChannelTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IChannelTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IChannelTuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IChannelTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IChannelTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IChannelTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IChannelTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IChannelTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IChannelTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IChannelTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IChannelTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IChannelTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IChannelTuneRequest methods ***/
#define IChannelTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel)
#define IChannelTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel)
#else
/*** IUnknown methods ***/
static inline HRESULT IChannelTuneRequest_QueryInterface(IChannelTuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IChannelTuneRequest_AddRef(IChannelTuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IChannelTuneRequest_Release(IChannelTuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IChannelTuneRequest_GetTypeInfoCount(IChannelTuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IChannelTuneRequest_GetTypeInfo(IChannelTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IChannelTuneRequest_GetIDsOfNames(IChannelTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IChannelTuneRequest_Invoke(IChannelTuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IChannelTuneRequest_get_TuningSpace(IChannelTuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IChannelTuneRequest_get_Components(IChannelTuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IChannelTuneRequest_Clone(IChannelTuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IChannelTuneRequest_get_Locator(IChannelTuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IChannelTuneRequest_put_Locator(IChannelTuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IChannelTuneRequest methods ***/
static inline HRESULT IChannelTuneRequest_get_Channel(IChannelTuneRequest* This,LONG *Channel) {
    return This->lpVtbl->get_Channel(This,Channel);
}
static inline HRESULT IChannelTuneRequest_put_Channel(IChannelTuneRequest* This,LONG Channel) {
    return This->lpVtbl->put_Channel(This,Channel);
}
#endif
#endif

#endif


#endif  /* __IChannelTuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IATSCChannelTuneRequest interface
 */
#ifndef __IATSCChannelTuneRequest_INTERFACE_DEFINED__
#define __IATSCChannelTuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IATSCChannelTuneRequest, 0x0369b4e1, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0369b4e1-45b6-11d3-b650-00c04f79498e")
IATSCChannelTuneRequest : public IChannelTuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_MinorChannel(
        LONG *MinorChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MinorChannel(
        LONG MinorChannel) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IATSCChannelTuneRequest, 0x0369b4e1, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IATSCChannelTuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IATSCChannelTuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IATSCChannelTuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IATSCChannelTuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IATSCChannelTuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IATSCChannelTuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IATSCChannelTuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IATSCChannelTuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IATSCChannelTuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IATSCChannelTuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IATSCChannelTuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IATSCChannelTuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IATSCChannelTuneRequest *This,
        ILocator *Locator);

    /*** IChannelTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Channel)(
        IATSCChannelTuneRequest *This,
        LONG *Channel);

    HRESULT (STDMETHODCALLTYPE *put_Channel)(
        IATSCChannelTuneRequest *This,
        LONG Channel);

    /*** IATSCChannelTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinorChannel)(
        IATSCChannelTuneRequest *This,
        LONG *MinorChannel);

    HRESULT (STDMETHODCALLTYPE *put_MinorChannel)(
        IATSCChannelTuneRequest *This,
        LONG MinorChannel);

    END_INTERFACE
} IATSCChannelTuneRequestVtbl;

interface IATSCChannelTuneRequest {
    CONST_VTBL IATSCChannelTuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IATSCChannelTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IATSCChannelTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IATSCChannelTuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IATSCChannelTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IATSCChannelTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IATSCChannelTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IATSCChannelTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IATSCChannelTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IATSCChannelTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IATSCChannelTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IATSCChannelTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IATSCChannelTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IChannelTuneRequest methods ***/
#define IATSCChannelTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel)
#define IATSCChannelTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel)
/*** IATSCChannelTuneRequest methods ***/
#define IATSCChannelTuneRequest_get_MinorChannel(This,MinorChannel) (This)->lpVtbl->get_MinorChannel(This,MinorChannel)
#define IATSCChannelTuneRequest_put_MinorChannel(This,MinorChannel) (This)->lpVtbl->put_MinorChannel(This,MinorChannel)
#else
/*** IUnknown methods ***/
static inline HRESULT IATSCChannelTuneRequest_QueryInterface(IATSCChannelTuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IATSCChannelTuneRequest_AddRef(IATSCChannelTuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IATSCChannelTuneRequest_Release(IATSCChannelTuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IATSCChannelTuneRequest_GetTypeInfoCount(IATSCChannelTuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IATSCChannelTuneRequest_GetTypeInfo(IATSCChannelTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IATSCChannelTuneRequest_GetIDsOfNames(IATSCChannelTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IATSCChannelTuneRequest_Invoke(IATSCChannelTuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IATSCChannelTuneRequest_get_TuningSpace(IATSCChannelTuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IATSCChannelTuneRequest_get_Components(IATSCChannelTuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IATSCChannelTuneRequest_Clone(IATSCChannelTuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IATSCChannelTuneRequest_get_Locator(IATSCChannelTuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IATSCChannelTuneRequest_put_Locator(IATSCChannelTuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IChannelTuneRequest methods ***/
static inline HRESULT IATSCChannelTuneRequest_get_Channel(IATSCChannelTuneRequest* This,LONG *Channel) {
    return This->lpVtbl->get_Channel(This,Channel);
}
static inline HRESULT IATSCChannelTuneRequest_put_Channel(IATSCChannelTuneRequest* This,LONG Channel) {
    return This->lpVtbl->put_Channel(This,Channel);
}
/*** IATSCChannelTuneRequest methods ***/
static inline HRESULT IATSCChannelTuneRequest_get_MinorChannel(IATSCChannelTuneRequest* This,LONG *MinorChannel) {
    return This->lpVtbl->get_MinorChannel(This,MinorChannel);
}
static inline HRESULT IATSCChannelTuneRequest_put_MinorChannel(IATSCChannelTuneRequest* This,LONG MinorChannel) {
    return This->lpVtbl->put_MinorChannel(This,MinorChannel);
}
#endif
#endif

#endif


#endif  /* __IATSCChannelTuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDigitalCableTuneRequest interface
 */
#ifndef __IDigitalCableTuneRequest_INTERFACE_DEFINED__
#define __IDigitalCableTuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDigitalCableTuneRequest, 0xbad7753b, 0x6b37, 0x4810, 0xae,0x57, 0x3c,0xe0,0xc4,0xa9,0xe6,0xcb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bad7753b-6b37-4810-ae57-3ce0c4a9e6cb")
IDigitalCableTuneRequest : public IATSCChannelTuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_MajorChannel(
        LONG *pMajorChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MajorChannel(
        LONG MajorChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SourceID(
        LONG *pSourceID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SourceID(
        LONG SourceID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDigitalCableTuneRequest, 0xbad7753b, 0x6b37, 0x4810, 0xae,0x57, 0x3c,0xe0,0xc4,0xa9,0xe6,0xcb)
#endif
#else
typedef struct IDigitalCableTuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDigitalCableTuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDigitalCableTuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDigitalCableTuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDigitalCableTuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDigitalCableTuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDigitalCableTuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDigitalCableTuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IDigitalCableTuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IDigitalCableTuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDigitalCableTuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IDigitalCableTuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IDigitalCableTuneRequest *This,
        ILocator *Locator);

    /*** IChannelTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Channel)(
        IDigitalCableTuneRequest *This,
        LONG *Channel);

    HRESULT (STDMETHODCALLTYPE *put_Channel)(
        IDigitalCableTuneRequest *This,
        LONG Channel);

    /*** IATSCChannelTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MinorChannel)(
        IDigitalCableTuneRequest *This,
        LONG *MinorChannel);

    HRESULT (STDMETHODCALLTYPE *put_MinorChannel)(
        IDigitalCableTuneRequest *This,
        LONG MinorChannel);

    /*** IDigitalCableTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MajorChannel)(
        IDigitalCableTuneRequest *This,
        LONG *pMajorChannel);

    HRESULT (STDMETHODCALLTYPE *put_MajorChannel)(
        IDigitalCableTuneRequest *This,
        LONG MajorChannel);

    HRESULT (STDMETHODCALLTYPE *get_SourceID)(
        IDigitalCableTuneRequest *This,
        LONG *pSourceID);

    HRESULT (STDMETHODCALLTYPE *put_SourceID)(
        IDigitalCableTuneRequest *This,
        LONG SourceID);

    END_INTERFACE
} IDigitalCableTuneRequestVtbl;

interface IDigitalCableTuneRequest {
    CONST_VTBL IDigitalCableTuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDigitalCableTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDigitalCableTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDigitalCableTuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDigitalCableTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDigitalCableTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDigitalCableTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDigitalCableTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IDigitalCableTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IDigitalCableTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IDigitalCableTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IDigitalCableTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IDigitalCableTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IChannelTuneRequest methods ***/
#define IDigitalCableTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel)
#define IDigitalCableTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel)
/*** IATSCChannelTuneRequest methods ***/
#define IDigitalCableTuneRequest_get_MinorChannel(This,MinorChannel) (This)->lpVtbl->get_MinorChannel(This,MinorChannel)
#define IDigitalCableTuneRequest_put_MinorChannel(This,MinorChannel) (This)->lpVtbl->put_MinorChannel(This,MinorChannel)
/*** IDigitalCableTuneRequest methods ***/
#define IDigitalCableTuneRequest_get_MajorChannel(This,pMajorChannel) (This)->lpVtbl->get_MajorChannel(This,pMajorChannel)
#define IDigitalCableTuneRequest_put_MajorChannel(This,MajorChannel) (This)->lpVtbl->put_MajorChannel(This,MajorChannel)
#define IDigitalCableTuneRequest_get_SourceID(This,pSourceID) (This)->lpVtbl->get_SourceID(This,pSourceID)
#define IDigitalCableTuneRequest_put_SourceID(This,SourceID) (This)->lpVtbl->put_SourceID(This,SourceID)
#else
/*** IUnknown methods ***/
static inline HRESULT IDigitalCableTuneRequest_QueryInterface(IDigitalCableTuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDigitalCableTuneRequest_AddRef(IDigitalCableTuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDigitalCableTuneRequest_Release(IDigitalCableTuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDigitalCableTuneRequest_GetTypeInfoCount(IDigitalCableTuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDigitalCableTuneRequest_GetTypeInfo(IDigitalCableTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDigitalCableTuneRequest_GetIDsOfNames(IDigitalCableTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDigitalCableTuneRequest_Invoke(IDigitalCableTuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IDigitalCableTuneRequest_get_TuningSpace(IDigitalCableTuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IDigitalCableTuneRequest_get_Components(IDigitalCableTuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IDigitalCableTuneRequest_Clone(IDigitalCableTuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IDigitalCableTuneRequest_get_Locator(IDigitalCableTuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IDigitalCableTuneRequest_put_Locator(IDigitalCableTuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IChannelTuneRequest methods ***/
static inline HRESULT IDigitalCableTuneRequest_get_Channel(IDigitalCableTuneRequest* This,LONG *Channel) {
    return This->lpVtbl->get_Channel(This,Channel);
}
static inline HRESULT IDigitalCableTuneRequest_put_Channel(IDigitalCableTuneRequest* This,LONG Channel) {
    return This->lpVtbl->put_Channel(This,Channel);
}
/*** IATSCChannelTuneRequest methods ***/
static inline HRESULT IDigitalCableTuneRequest_get_MinorChannel(IDigitalCableTuneRequest* This,LONG *MinorChannel) {
    return This->lpVtbl->get_MinorChannel(This,MinorChannel);
}
static inline HRESULT IDigitalCableTuneRequest_put_MinorChannel(IDigitalCableTuneRequest* This,LONG MinorChannel) {
    return This->lpVtbl->put_MinorChannel(This,MinorChannel);
}
/*** IDigitalCableTuneRequest methods ***/
static inline HRESULT IDigitalCableTuneRequest_get_MajorChannel(IDigitalCableTuneRequest* This,LONG *pMajorChannel) {
    return This->lpVtbl->get_MajorChannel(This,pMajorChannel);
}
static inline HRESULT IDigitalCableTuneRequest_put_MajorChannel(IDigitalCableTuneRequest* This,LONG MajorChannel) {
    return This->lpVtbl->put_MajorChannel(This,MajorChannel);
}
static inline HRESULT IDigitalCableTuneRequest_get_SourceID(IDigitalCableTuneRequest* This,LONG *pSourceID) {
    return This->lpVtbl->get_SourceID(This,pSourceID);
}
static inline HRESULT IDigitalCableTuneRequest_put_SourceID(IDigitalCableTuneRequest* This,LONG SourceID) {
    return This->lpVtbl->put_SourceID(This,SourceID);
}
#endif
#endif

#endif


#endif  /* __IDigitalCableTuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBTuneRequest interface
 */
#ifndef __IDVBTuneRequest_INTERFACE_DEFINED__
#define __IDVBTuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBTuneRequest, 0x0d6f567e, 0xa636, 0x42bb, 0x83,0xba, 0xce,0x4c,0x17,0x04,0xaf,0xa2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0d6f567e-a636-42bb-83ba-ce4c1704afa2")
IDVBTuneRequest : public ITuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_ONID(
        LONG *ONID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ONID(
        LONG ONID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TSID(
        LONG *TSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_TSID(
        LONG TSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SID(
        LONG *SID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SID(
        LONG SID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBTuneRequest, 0x0d6f567e, 0xa636, 0x42bb, 0x83,0xba, 0xce,0x4c,0x17,0x04,0xaf,0xa2)
#endif
#else
typedef struct IDVBTuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBTuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBTuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBTuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBTuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBTuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBTuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBTuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IDVBTuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IDVBTuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBTuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IDVBTuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IDVBTuneRequest *This,
        ILocator *Locator);

    /*** IDVBTuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ONID)(
        IDVBTuneRequest *This,
        LONG *ONID);

    HRESULT (STDMETHODCALLTYPE *put_ONID)(
        IDVBTuneRequest *This,
        LONG ONID);

    HRESULT (STDMETHODCALLTYPE *get_TSID)(
        IDVBTuneRequest *This,
        LONG *TSID);

    HRESULT (STDMETHODCALLTYPE *put_TSID)(
        IDVBTuneRequest *This,
        LONG TSID);

    HRESULT (STDMETHODCALLTYPE *get_SID)(
        IDVBTuneRequest *This,
        LONG *SID);

    HRESULT (STDMETHODCALLTYPE *put_SID)(
        IDVBTuneRequest *This,
        LONG SID);

    END_INTERFACE
} IDVBTuneRequestVtbl;

interface IDVBTuneRequest {
    CONST_VTBL IDVBTuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBTuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IDVBTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IDVBTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IDVBTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IDVBTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IDVBTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IDVBTuneRequest methods ***/
#define IDVBTuneRequest_get_ONID(This,ONID) (This)->lpVtbl->get_ONID(This,ONID)
#define IDVBTuneRequest_put_ONID(This,ONID) (This)->lpVtbl->put_ONID(This,ONID)
#define IDVBTuneRequest_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID)
#define IDVBTuneRequest_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID)
#define IDVBTuneRequest_get_SID(This,SID) (This)->lpVtbl->get_SID(This,SID)
#define IDVBTuneRequest_put_SID(This,SID) (This)->lpVtbl->put_SID(This,SID)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBTuneRequest_QueryInterface(IDVBTuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBTuneRequest_AddRef(IDVBTuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBTuneRequest_Release(IDVBTuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBTuneRequest_GetTypeInfoCount(IDVBTuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBTuneRequest_GetTypeInfo(IDVBTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBTuneRequest_GetIDsOfNames(IDVBTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBTuneRequest_Invoke(IDVBTuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IDVBTuneRequest_get_TuningSpace(IDVBTuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IDVBTuneRequest_get_Components(IDVBTuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IDVBTuneRequest_Clone(IDVBTuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IDVBTuneRequest_get_Locator(IDVBTuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IDVBTuneRequest_put_Locator(IDVBTuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IDVBTuneRequest methods ***/
static inline HRESULT IDVBTuneRequest_get_ONID(IDVBTuneRequest* This,LONG *ONID) {
    return This->lpVtbl->get_ONID(This,ONID);
}
static inline HRESULT IDVBTuneRequest_put_ONID(IDVBTuneRequest* This,LONG ONID) {
    return This->lpVtbl->put_ONID(This,ONID);
}
static inline HRESULT IDVBTuneRequest_get_TSID(IDVBTuneRequest* This,LONG *TSID) {
    return This->lpVtbl->get_TSID(This,TSID);
}
static inline HRESULT IDVBTuneRequest_put_TSID(IDVBTuneRequest* This,LONG TSID) {
    return This->lpVtbl->put_TSID(This,TSID);
}
static inline HRESULT IDVBTuneRequest_get_SID(IDVBTuneRequest* This,LONG *SID) {
    return This->lpVtbl->get_SID(This,SID);
}
static inline HRESULT IDVBTuneRequest_put_SID(IDVBTuneRequest* This,LONG SID) {
    return This->lpVtbl->put_SID(This,SID);
}
#endif
#endif

#endif


#endif  /* __IDVBTuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMPEG2TuneRequest interface
 */
#ifndef __IMPEG2TuneRequest_INTERFACE_DEFINED__
#define __IMPEG2TuneRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMPEG2TuneRequest, 0xeb7d987f, 0x8a01, 0x42ad, 0xb8,0xae, 0x57,0x4d,0xee,0xe4,0x4d,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eb7d987f-8a01-42ad-b8ae-574deee44d1a")
IMPEG2TuneRequest : public ITuneRequest
{
    virtual HRESULT STDMETHODCALLTYPE get_TSID(
        LONG *TSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_TSID(
        LONG TSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ProgNo(
        LONG *ProgNo) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ProgNo(
        LONG ProgNo) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMPEG2TuneRequest, 0xeb7d987f, 0x8a01, 0x42ad, 0xb8,0xae, 0x57,0x4d,0xee,0xe4,0x4d,0x1a)
#endif
#else
typedef struct IMPEG2TuneRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMPEG2TuneRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMPEG2TuneRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMPEG2TuneRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IMPEG2TuneRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IMPEG2TuneRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IMPEG2TuneRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IMPEG2TuneRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IMPEG2TuneRequest *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *get_Components)(
        IMPEG2TuneRequest *This,
        IComponents **Components);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IMPEG2TuneRequest *This,
        ITuneRequest **NewTuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_Locator)(
        IMPEG2TuneRequest *This,
        ILocator **Locator);

    HRESULT (STDMETHODCALLTYPE *put_Locator)(
        IMPEG2TuneRequest *This,
        ILocator *Locator);

    /*** IMPEG2TuneRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TSID)(
        IMPEG2TuneRequest *This,
        LONG *TSID);

    HRESULT (STDMETHODCALLTYPE *put_TSID)(
        IMPEG2TuneRequest *This,
        LONG TSID);

    HRESULT (STDMETHODCALLTYPE *get_ProgNo)(
        IMPEG2TuneRequest *This,
        LONG *ProgNo);

    HRESULT (STDMETHODCALLTYPE *put_ProgNo)(
        IMPEG2TuneRequest *This,
        LONG ProgNo);

    END_INTERFACE
} IMPEG2TuneRequestVtbl;

interface IMPEG2TuneRequest {
    CONST_VTBL IMPEG2TuneRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMPEG2TuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMPEG2TuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMPEG2TuneRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IMPEG2TuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IMPEG2TuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IMPEG2TuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IMPEG2TuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITuneRequest methods ***/
#define IMPEG2TuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IMPEG2TuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components)
#define IMPEG2TuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest)
#define IMPEG2TuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator)
#define IMPEG2TuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator)
/*** IMPEG2TuneRequest methods ***/
#define IMPEG2TuneRequest_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID)
#define IMPEG2TuneRequest_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID)
#define IMPEG2TuneRequest_get_ProgNo(This,ProgNo) (This)->lpVtbl->get_ProgNo(This,ProgNo)
#define IMPEG2TuneRequest_put_ProgNo(This,ProgNo) (This)->lpVtbl->put_ProgNo(This,ProgNo)
#else
/*** IUnknown methods ***/
static inline HRESULT IMPEG2TuneRequest_QueryInterface(IMPEG2TuneRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMPEG2TuneRequest_AddRef(IMPEG2TuneRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMPEG2TuneRequest_Release(IMPEG2TuneRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IMPEG2TuneRequest_GetTypeInfoCount(IMPEG2TuneRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IMPEG2TuneRequest_GetTypeInfo(IMPEG2TuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IMPEG2TuneRequest_GetIDsOfNames(IMPEG2TuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IMPEG2TuneRequest_Invoke(IMPEG2TuneRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITuneRequest methods ***/
static inline HRESULT IMPEG2TuneRequest_get_TuningSpace(IMPEG2TuneRequest* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IMPEG2TuneRequest_get_Components(IMPEG2TuneRequest* This,IComponents **Components) {
    return This->lpVtbl->get_Components(This,Components);
}
static inline HRESULT IMPEG2TuneRequest_Clone(IMPEG2TuneRequest* This,ITuneRequest **NewTuneRequest) {
    return This->lpVtbl->Clone(This,NewTuneRequest);
}
static inline HRESULT IMPEG2TuneRequest_get_Locator(IMPEG2TuneRequest* This,ILocator **Locator) {
    return This->lpVtbl->get_Locator(This,Locator);
}
static inline HRESULT IMPEG2TuneRequest_put_Locator(IMPEG2TuneRequest* This,ILocator *Locator) {
    return This->lpVtbl->put_Locator(This,Locator);
}
/*** IMPEG2TuneRequest methods ***/
static inline HRESULT IMPEG2TuneRequest_get_TSID(IMPEG2TuneRequest* This,LONG *TSID) {
    return This->lpVtbl->get_TSID(This,TSID);
}
static inline HRESULT IMPEG2TuneRequest_put_TSID(IMPEG2TuneRequest* This,LONG TSID) {
    return This->lpVtbl->put_TSID(This,TSID);
}
static inline HRESULT IMPEG2TuneRequest_get_ProgNo(IMPEG2TuneRequest* This,LONG *ProgNo) {
    return This->lpVtbl->get_ProgNo(This,ProgNo);
}
static inline HRESULT IMPEG2TuneRequest_put_ProgNo(IMPEG2TuneRequest* This,LONG ProgNo) {
    return This->lpVtbl->put_ProgNo(This,ProgNo);
}
#endif
#endif

#endif


#endif  /* __IMPEG2TuneRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMPEG2TuneRequestFactory interface
 */
#ifndef __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__
#define __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMPEG2TuneRequestFactory, 0x14e11abd, 0xee37, 0x4893, 0x9e,0xa1, 0x69,0x64,0xde,0x93,0x3e,0x39);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("14e11abd-ee37-4893-9ea1-6964de933e39")
IMPEG2TuneRequestFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE CreateTuneRequest(
        ITuningSpace *TuningSpace,
        IMPEG2TuneRequest **TuneRequest) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMPEG2TuneRequestFactory, 0x14e11abd, 0xee37, 0x4893, 0x9e,0xa1, 0x69,0x64,0xde,0x93,0x3e,0x39)
#endif
#else
typedef struct IMPEG2TuneRequestFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMPEG2TuneRequestFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMPEG2TuneRequestFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMPEG2TuneRequestFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IMPEG2TuneRequestFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IMPEG2TuneRequestFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IMPEG2TuneRequestFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IMPEG2TuneRequestFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IMPEG2TuneRequestFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)(
        IMPEG2TuneRequestFactory *This,
        ITuningSpace *TuningSpace,
        IMPEG2TuneRequest **TuneRequest);

    END_INTERFACE
} IMPEG2TuneRequestFactoryVtbl;

interface IMPEG2TuneRequestFactory {
    CONST_VTBL IMPEG2TuneRequestFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMPEG2TuneRequestFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMPEG2TuneRequestFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMPEG2TuneRequestFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IMPEG2TuneRequestFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IMPEG2TuneRequestFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IMPEG2TuneRequestFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IMPEG2TuneRequestFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IMPEG2TuneRequestFactory methods ***/
#define IMPEG2TuneRequestFactory_CreateTuneRequest(This,TuningSpace,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuningSpace,TuneRequest)
#else
/*** IUnknown methods ***/
static inline HRESULT IMPEG2TuneRequestFactory_QueryInterface(IMPEG2TuneRequestFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMPEG2TuneRequestFactory_AddRef(IMPEG2TuneRequestFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMPEG2TuneRequestFactory_Release(IMPEG2TuneRequestFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IMPEG2TuneRequestFactory_GetTypeInfoCount(IMPEG2TuneRequestFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IMPEG2TuneRequestFactory_GetTypeInfo(IMPEG2TuneRequestFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IMPEG2TuneRequestFactory_GetIDsOfNames(IMPEG2TuneRequestFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IMPEG2TuneRequestFactory_Invoke(IMPEG2TuneRequestFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IMPEG2TuneRequestFactory methods ***/
static inline HRESULT IMPEG2TuneRequestFactory_CreateTuneRequest(IMPEG2TuneRequestFactory* This,ITuningSpace *TuningSpace,IMPEG2TuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequest(This,TuningSpace,TuneRequest);
}
#endif
#endif

#endif


#endif  /* __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMPEG2TuneRequestSupport interface
 */
#ifndef __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__
#define __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMPEG2TuneRequestSupport, 0x1b9d5fc3, 0x5bbc, 0x4b6c, 0xbb,0x18, 0xb9,0xd1,0x0e,0x3e,0xee,0xbf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1b9d5fc3-5bbc-4b6c-bb18-b9d10e3eeebf")
IMPEG2TuneRequestSupport : public IUnknown
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMPEG2TuneRequestSupport, 0x1b9d5fc3, 0x5bbc, 0x4b6c, 0xbb,0x18, 0xb9,0xd1,0x0e,0x3e,0xee,0xbf)
#endif
#else
typedef struct IMPEG2TuneRequestSupportVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMPEG2TuneRequestSupport *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMPEG2TuneRequestSupport *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMPEG2TuneRequestSupport *This);

    END_INTERFACE
} IMPEG2TuneRequestSupportVtbl;

interface IMPEG2TuneRequestSupport {
    CONST_VTBL IMPEG2TuneRequestSupportVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMPEG2TuneRequestSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMPEG2TuneRequestSupport_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMPEG2TuneRequestSupport_Release(This) (This)->lpVtbl->Release(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IMPEG2TuneRequestSupport_QueryInterface(IMPEG2TuneRequestSupport* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMPEG2TuneRequestSupport_AddRef(IMPEG2TuneRequestSupport* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMPEG2TuneRequestSupport_Release(IMPEG2TuneRequestSupport* This) {
    return This->lpVtbl->Release(This);
}
#endif
#endif

#endif


#endif  /* __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITunerCap interface
 */
#ifndef __ITunerCap_INTERFACE_DEFINED__
#define __ITunerCap_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITunerCap, 0xe60dfa45, 0x8d56, 0x4e65, 0xa8,0xab, 0xd6,0xbe,0x94,0x12,0xc2,0x49);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e60dfa45-8d56-4e65-a8ab-d6be9412c249")
ITunerCap : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE get_SupportedNetworkTypes(
        ULONG ulcNetworkTypesMax,
        ULONG *pulcNetworkTypes,
        GUID *pguidNetworkTypes) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SupportedVideoFormats(
        ULONG *pulAMTunerModeType,
        ULONG *pulAnalogVideoStandard) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AuxInputCount(
        ULONG *pulCompositeCount,
        ULONG *pulSvideoCount) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITunerCap, 0xe60dfa45, 0x8d56, 0x4e65, 0xa8,0xab, 0xd6,0xbe,0x94,0x12,0xc2,0x49)
#endif
#else
typedef struct ITunerCapVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITunerCap *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITunerCap *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITunerCap *This);

    /*** ITunerCap methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SupportedNetworkTypes)(
        ITunerCap *This,
        ULONG ulcNetworkTypesMax,
        ULONG *pulcNetworkTypes,
        GUID *pguidNetworkTypes);

    HRESULT (STDMETHODCALLTYPE *get_SupportedVideoFormats)(
        ITunerCap *This,
        ULONG *pulAMTunerModeType,
        ULONG *pulAnalogVideoStandard);

    HRESULT (STDMETHODCALLTYPE *get_AuxInputCount)(
        ITunerCap *This,
        ULONG *pulCompositeCount,
        ULONG *pulSvideoCount);

    END_INTERFACE
} ITunerCapVtbl;

interface ITunerCap {
    CONST_VTBL ITunerCapVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITunerCap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITunerCap_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITunerCap_Release(This) (This)->lpVtbl->Release(This)
/*** ITunerCap methods ***/
#define ITunerCap_get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes) (This)->lpVtbl->get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes)
#define ITunerCap_get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard) (This)->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard)
#define ITunerCap_get_AuxInputCount(This,pulCompositeCount,pulSvideoCount) (This)->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount)
#else
/*** IUnknown methods ***/
static inline HRESULT ITunerCap_QueryInterface(ITunerCap* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITunerCap_AddRef(ITunerCap* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITunerCap_Release(ITunerCap* This) {
    return This->lpVtbl->Release(This);
}
/*** ITunerCap methods ***/
static inline HRESULT ITunerCap_get_SupportedNetworkTypes(ITunerCap* This,ULONG ulcNetworkTypesMax,ULONG *pulcNetworkTypes,GUID *pguidNetworkTypes) {
    return This->lpVtbl->get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes);
}
static inline HRESULT ITunerCap_get_SupportedVideoFormats(ITunerCap* This,ULONG *pulAMTunerModeType,ULONG *pulAnalogVideoStandard) {
    return This->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard);
}
static inline HRESULT ITunerCap_get_AuxInputCount(ITunerCap* This,ULONG *pulCompositeCount,ULONG *pulSvideoCount) {
    return This->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount);
}
#endif
#endif

#endif


#endif  /* __ITunerCap_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITunerCapEx interface
 */
#ifndef __ITunerCapEx_INTERFACE_DEFINED__
#define __ITunerCapEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITunerCapEx, 0xed3e0c66, 0x18c8, 0x4ea6, 0x93,0x00, 0xf6,0x84,0x1f,0xdd,0x35,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ed3e0c66-18c8-4ea6-9300-f6841fdd35dc")
ITunerCapEx : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE get_Has608_708Caption(
        VARIANT_BOOL *pbHasCaption) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITunerCapEx, 0xed3e0c66, 0x18c8, 0x4ea6, 0x93,0x00, 0xf6,0x84,0x1f,0xdd,0x35,0xdc)
#endif
#else
typedef struct ITunerCapExVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITunerCapEx *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITunerCapEx *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITunerCapEx *This);

    /*** ITunerCapEx methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Has608_708Caption)(
        ITunerCapEx *This,
        VARIANT_BOOL *pbHasCaption);

    END_INTERFACE
} ITunerCapExVtbl;

interface ITunerCapEx {
    CONST_VTBL ITunerCapExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITunerCapEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITunerCapEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITunerCapEx_Release(This) (This)->lpVtbl->Release(This)
/*** ITunerCapEx methods ***/
#define ITunerCapEx_get_Has608_708Caption(This,pbHasCaption) (This)->lpVtbl->get_Has608_708Caption(This,pbHasCaption)
#else
/*** IUnknown methods ***/
static inline HRESULT ITunerCapEx_QueryInterface(ITunerCapEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITunerCapEx_AddRef(ITunerCapEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITunerCapEx_Release(ITunerCapEx* This) {
    return This->lpVtbl->Release(This);
}
/*** ITunerCapEx methods ***/
static inline HRESULT ITunerCapEx_get_Has608_708Caption(ITunerCapEx* This,VARIANT_BOOL *pbHasCaption) {
    return This->lpVtbl->get_Has608_708Caption(This,pbHasCaption);
}
#endif
#endif

#endif


#endif  /* __ITunerCapEx_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITuner interface
 */
#ifndef __ITuner_INTERFACE_DEFINED__
#define __ITuner_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITuner, 0x28c52640, 0x018a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("28c52640-018a-11d3-9d8e-00c04f72d980")
ITuner : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
        ITuningSpace **TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
        ITuningSpace *TuningSpace) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumTuningSpaces(
        IEnumTuningSpaces **ppEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TuneRequest(
        ITuneRequest **TuneRequest) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_TuneRequest(
        ITuneRequest *TuneRequest) = 0;

    virtual HRESULT STDMETHODCALLTYPE Validate(
        ITuneRequest *TuneRequest) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_PreferredComponentTypes(
        IComponentTypes **ComponentTypes) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_PreferredComponentTypes(
        IComponentTypes *ComponentTypes) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SignalStrength(
        LONG *Strength) = 0;

    virtual HRESULT STDMETHODCALLTYPE TriggerSignalEvents(
        LONG Interval) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITuner, 0x28c52640, 0x018a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct ITunerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITuner *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITuner *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITuner *This);

    /*** ITuner methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        ITuner *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *put_TuningSpace)(
        ITuner *This,
        ITuningSpace *TuningSpace);

    HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)(
        ITuner *This,
        IEnumTuningSpaces **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_TuneRequest)(
        ITuner *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *put_TuneRequest)(
        ITuner *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *Validate)(
        ITuner *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)(
        ITuner *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)(
        ITuner *This,
        IComponentTypes *ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_SignalStrength)(
        ITuner *This,
        LONG *Strength);

    HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)(
        ITuner *This,
        LONG Interval);

    END_INTERFACE
} ITunerVtbl;

interface ITuner {
    CONST_VTBL ITunerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITuner_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITuner_Release(This) (This)->lpVtbl->Release(This)
/*** ITuner methods ***/
#define ITuner_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define ITuner_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace)
#define ITuner_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum)
#define ITuner_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest)
#define ITuner_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest)
#define ITuner_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest)
#define ITuner_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes)
#define ITuner_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes)
#define ITuner_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength)
#define ITuner_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval)
#else
/*** IUnknown methods ***/
static inline HRESULT ITuner_QueryInterface(ITuner* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITuner_AddRef(ITuner* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITuner_Release(ITuner* This) {
    return This->lpVtbl->Release(This);
}
/*** ITuner methods ***/
static inline HRESULT ITuner_get_TuningSpace(ITuner* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT ITuner_put_TuningSpace(ITuner* This,ITuningSpace *TuningSpace) {
    return This->lpVtbl->put_TuningSpace(This,TuningSpace);
}
static inline HRESULT ITuner_EnumTuningSpaces(ITuner* This,IEnumTuningSpaces **ppEnum) {
    return This->lpVtbl->EnumTuningSpaces(This,ppEnum);
}
static inline HRESULT ITuner_get_TuneRequest(ITuner* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->get_TuneRequest(This,TuneRequest);
}
static inline HRESULT ITuner_put_TuneRequest(ITuner* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->put_TuneRequest(This,TuneRequest);
}
static inline HRESULT ITuner_Validate(ITuner* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->Validate(This,TuneRequest);
}
static inline HRESULT ITuner_get_PreferredComponentTypes(ITuner* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT ITuner_put_PreferredComponentTypes(ITuner* This,IComponentTypes *ComponentTypes) {
    return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT ITuner_get_SignalStrength(ITuner* This,LONG *Strength) {
    return This->lpVtbl->get_SignalStrength(This,Strength);
}
static inline HRESULT ITuner_TriggerSignalEvents(ITuner* This,LONG Interval) {
    return This->lpVtbl->TriggerSignalEvents(This,Interval);
}
#endif
#endif

#endif


#endif  /* __ITuner_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IScanningTuner interface
 */
#ifndef __IScanningTuner_INTERFACE_DEFINED__
#define __IScanningTuner_INTERFACE_DEFINED__

DEFINE_GUID(IID_IScanningTuner, 0x1dfd0a5c, 0x0284, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1dfd0a5c-0284-11d3-9d8e-00c04f72d980")
IScanningTuner : public ITuner
{
    virtual HRESULT STDMETHODCALLTYPE SeekUp(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE SeekDown(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE ScanUp(
        LONG MillisecondsPause) = 0;

    virtual HRESULT STDMETHODCALLTYPE ScanDown(
        LONG MillisecondsPause) = 0;

    virtual HRESULT STDMETHODCALLTYPE AutoProgram(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IScanningTuner, 0x1dfd0a5c, 0x0284, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IScanningTunerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IScanningTuner *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IScanningTuner *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IScanningTuner *This);

    /*** ITuner methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IScanningTuner *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *put_TuningSpace)(
        IScanningTuner *This,
        ITuningSpace *TuningSpace);

    HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)(
        IScanningTuner *This,
        IEnumTuningSpaces **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_TuneRequest)(
        IScanningTuner *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *put_TuneRequest)(
        IScanningTuner *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *Validate)(
        IScanningTuner *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)(
        IScanningTuner *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)(
        IScanningTuner *This,
        IComponentTypes *ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_SignalStrength)(
        IScanningTuner *This,
        LONG *Strength);

    HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)(
        IScanningTuner *This,
        LONG Interval);

    /*** IScanningTuner methods ***/
    HRESULT (STDMETHODCALLTYPE *SeekUp)(
        IScanningTuner *This);

    HRESULT (STDMETHODCALLTYPE *SeekDown)(
        IScanningTuner *This);

    HRESULT (STDMETHODCALLTYPE *ScanUp)(
        IScanningTuner *This,
        LONG MillisecondsPause);

    HRESULT (STDMETHODCALLTYPE *ScanDown)(
        IScanningTuner *This,
        LONG MillisecondsPause);

    HRESULT (STDMETHODCALLTYPE *AutoProgram)(
        IScanningTuner *This);

    END_INTERFACE
} IScanningTunerVtbl;

interface IScanningTuner {
    CONST_VTBL IScanningTunerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IScanningTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IScanningTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IScanningTuner_Release(This) (This)->lpVtbl->Release(This)
/*** ITuner methods ***/
#define IScanningTuner_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IScanningTuner_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace)
#define IScanningTuner_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum)
#define IScanningTuner_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest)
#define IScanningTuner_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest)
#define IScanningTuner_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest)
#define IScanningTuner_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes)
#define IScanningTuner_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes)
#define IScanningTuner_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength)
#define IScanningTuner_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval)
/*** IScanningTuner methods ***/
#define IScanningTuner_SeekUp(This) (This)->lpVtbl->SeekUp(This)
#define IScanningTuner_SeekDown(This) (This)->lpVtbl->SeekDown(This)
#define IScanningTuner_ScanUp(This,MillisecondsPause) (This)->lpVtbl->ScanUp(This,MillisecondsPause)
#define IScanningTuner_ScanDown(This,MillisecondsPause) (This)->lpVtbl->ScanDown(This,MillisecondsPause)
#define IScanningTuner_AutoProgram(This) (This)->lpVtbl->AutoProgram(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IScanningTuner_QueryInterface(IScanningTuner* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IScanningTuner_AddRef(IScanningTuner* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IScanningTuner_Release(IScanningTuner* This) {
    return This->lpVtbl->Release(This);
}
/*** ITuner methods ***/
static inline HRESULT IScanningTuner_get_TuningSpace(IScanningTuner* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IScanningTuner_put_TuningSpace(IScanningTuner* This,ITuningSpace *TuningSpace) {
    return This->lpVtbl->put_TuningSpace(This,TuningSpace);
}
static inline HRESULT IScanningTuner_EnumTuningSpaces(IScanningTuner* This,IEnumTuningSpaces **ppEnum) {
    return This->lpVtbl->EnumTuningSpaces(This,ppEnum);
}
static inline HRESULT IScanningTuner_get_TuneRequest(IScanningTuner* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->get_TuneRequest(This,TuneRequest);
}
static inline HRESULT IScanningTuner_put_TuneRequest(IScanningTuner* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->put_TuneRequest(This,TuneRequest);
}
static inline HRESULT IScanningTuner_Validate(IScanningTuner* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->Validate(This,TuneRequest);
}
static inline HRESULT IScanningTuner_get_PreferredComponentTypes(IScanningTuner* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IScanningTuner_put_PreferredComponentTypes(IScanningTuner* This,IComponentTypes *ComponentTypes) {
    return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IScanningTuner_get_SignalStrength(IScanningTuner* This,LONG *Strength) {
    return This->lpVtbl->get_SignalStrength(This,Strength);
}
static inline HRESULT IScanningTuner_TriggerSignalEvents(IScanningTuner* This,LONG Interval) {
    return This->lpVtbl->TriggerSignalEvents(This,Interval);
}
/*** IScanningTuner methods ***/
static inline HRESULT IScanningTuner_SeekUp(IScanningTuner* This) {
    return This->lpVtbl->SeekUp(This);
}
static inline HRESULT IScanningTuner_SeekDown(IScanningTuner* This) {
    return This->lpVtbl->SeekDown(This);
}
static inline HRESULT IScanningTuner_ScanUp(IScanningTuner* This,LONG MillisecondsPause) {
    return This->lpVtbl->ScanUp(This,MillisecondsPause);
}
static inline HRESULT IScanningTuner_ScanDown(IScanningTuner* This,LONG MillisecondsPause) {
    return This->lpVtbl->ScanDown(This,MillisecondsPause);
}
static inline HRESULT IScanningTuner_AutoProgram(IScanningTuner* This) {
    return This->lpVtbl->AutoProgram(This);
}
#endif
#endif

#endif


#endif  /* __IScanningTuner_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IScanningTunerEx interface
 */
#ifndef __IScanningTunerEx_INTERFACE_DEFINED__
#define __IScanningTunerEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IScanningTunerEx, 0x04bbd195, 0x0e2d, 0x4593, 0x9b,0xd5, 0x4f,0x90,0x8b,0xc3,0x3c,0xf5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("04bbd195-0e2d-4593-9bd5-4f908bc33cf5")
IScanningTunerEx : public IScanningTuner
{
    virtual HRESULT STDMETHODCALLTYPE GetCurrentLocator(
        ILocator **pILocator) = 0;

    virtual HRESULT STDMETHODCALLTYPE PerformExhaustiveScan(
        LONG dwLowerFreq,
        LONG dwHigherFreq,
        VARIANT_BOOL bFineTune,
        HEVENT hEvent) = 0;

    virtual HRESULT STDMETHODCALLTYPE TerminateCurrentScan(
        LONG *pcurrentFreq) = 0;

    virtual HRESULT STDMETHODCALLTYPE ResumeCurrentScan(
        HEVENT hEvent) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTunerScanningCapability(
        LONG *HardwareAssistedScanning,
        LONG *NumStandardsSupported,
        GUID *BroadcastStandards) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTunerStatus(
        LONG *SecondsLeft,
        LONG *CurrentLockType,
        LONG *AutoDetect,
        LONG *CurrentFreq) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCurrentTunerStandardCapability(
        GUID CurrentBroadcastStandard,
        LONG *SettlingTime,
        LONG *TvStandardsSupported) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetScanSignalTypeFilter(
        LONG ScanModulationTypes,
        LONG AnalogVideoStandard) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IScanningTunerEx, 0x04bbd195, 0x0e2d, 0x4593, 0x9b,0xd5, 0x4f,0x90,0x8b,0xc3,0x3c,0xf5)
#endif
#else
typedef struct IScanningTunerExVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IScanningTunerEx *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IScanningTunerEx *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IScanningTunerEx *This);

    /*** ITuner methods ***/
    HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
        IScanningTunerEx *This,
        ITuningSpace **TuningSpace);

    HRESULT (STDMETHODCALLTYPE *put_TuningSpace)(
        IScanningTunerEx *This,
        ITuningSpace *TuningSpace);

    HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)(
        IScanningTunerEx *This,
        IEnumTuningSpaces **ppEnum);

    HRESULT (STDMETHODCALLTYPE *get_TuneRequest)(
        IScanningTunerEx *This,
        ITuneRequest **TuneRequest);

    HRESULT (STDMETHODCALLTYPE *put_TuneRequest)(
        IScanningTunerEx *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *Validate)(
        IScanningTunerEx *This,
        ITuneRequest *TuneRequest);

    HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)(
        IScanningTunerEx *This,
        IComponentTypes **ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)(
        IScanningTunerEx *This,
        IComponentTypes *ComponentTypes);

    HRESULT (STDMETHODCALLTYPE *get_SignalStrength)(
        IScanningTunerEx *This,
        LONG *Strength);

    HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)(
        IScanningTunerEx *This,
        LONG Interval);

    /*** IScanningTuner methods ***/
    HRESULT (STDMETHODCALLTYPE *SeekUp)(
        IScanningTunerEx *This);

    HRESULT (STDMETHODCALLTYPE *SeekDown)(
        IScanningTunerEx *This);

    HRESULT (STDMETHODCALLTYPE *ScanUp)(
        IScanningTunerEx *This,
        LONG MillisecondsPause);

    HRESULT (STDMETHODCALLTYPE *ScanDown)(
        IScanningTunerEx *This,
        LONG MillisecondsPause);

    HRESULT (STDMETHODCALLTYPE *AutoProgram)(
        IScanningTunerEx *This);

    /*** IScanningTunerEx methods ***/
    HRESULT (STDMETHODCALLTYPE *GetCurrentLocator)(
        IScanningTunerEx *This,
        ILocator **pILocator);

    HRESULT (STDMETHODCALLTYPE *PerformExhaustiveScan)(
        IScanningTunerEx *This,
        LONG dwLowerFreq,
        LONG dwHigherFreq,
        VARIANT_BOOL bFineTune,
        HEVENT hEvent);

    HRESULT (STDMETHODCALLTYPE *TerminateCurrentScan)(
        IScanningTunerEx *This,
        LONG *pcurrentFreq);

    HRESULT (STDMETHODCALLTYPE *ResumeCurrentScan)(
        IScanningTunerEx *This,
        HEVENT hEvent);

    HRESULT (STDMETHODCALLTYPE *GetTunerScanningCapability)(
        IScanningTunerEx *This,
        LONG *HardwareAssistedScanning,
        LONG *NumStandardsSupported,
        GUID *BroadcastStandards);

    HRESULT (STDMETHODCALLTYPE *GetTunerStatus)(
        IScanningTunerEx *This,
        LONG *SecondsLeft,
        LONG *CurrentLockType,
        LONG *AutoDetect,
        LONG *CurrentFreq);

    HRESULT (STDMETHODCALLTYPE *GetCurrentTunerStandardCapability)(
        IScanningTunerEx *This,
        GUID CurrentBroadcastStandard,
        LONG *SettlingTime,
        LONG *TvStandardsSupported);

    HRESULT (STDMETHODCALLTYPE *SetScanSignalTypeFilter)(
        IScanningTunerEx *This,
        LONG ScanModulationTypes,
        LONG AnalogVideoStandard);

    END_INTERFACE
} IScanningTunerExVtbl;

interface IScanningTunerEx {
    CONST_VTBL IScanningTunerExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IScanningTunerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IScanningTunerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IScanningTunerEx_Release(This) (This)->lpVtbl->Release(This)
/*** ITuner methods ***/
#define IScanningTunerEx_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace)
#define IScanningTunerEx_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace)
#define IScanningTunerEx_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum)
#define IScanningTunerEx_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest)
#define IScanningTunerEx_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest)
#define IScanningTunerEx_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest)
#define IScanningTunerEx_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes)
#define IScanningTunerEx_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes)
#define IScanningTunerEx_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength)
#define IScanningTunerEx_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval)
/*** IScanningTuner methods ***/
#define IScanningTunerEx_SeekUp(This) (This)->lpVtbl->SeekUp(This)
#define IScanningTunerEx_SeekDown(This) (This)->lpVtbl->SeekDown(This)
#define IScanningTunerEx_ScanUp(This,MillisecondsPause) (This)->lpVtbl->ScanUp(This,MillisecondsPause)
#define IScanningTunerEx_ScanDown(This,MillisecondsPause) (This)->lpVtbl->ScanDown(This,MillisecondsPause)
#define IScanningTunerEx_AutoProgram(This) (This)->lpVtbl->AutoProgram(This)
/*** IScanningTunerEx methods ***/
#define IScanningTunerEx_GetCurrentLocator(This,pILocator) (This)->lpVtbl->GetCurrentLocator(This,pILocator)
#define IScanningTunerEx_PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent) (This)->lpVtbl->PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent)
#define IScanningTunerEx_TerminateCurrentScan(This,pcurrentFreq) (This)->lpVtbl->TerminateCurrentScan(This,pcurrentFreq)
#define IScanningTunerEx_ResumeCurrentScan(This,hEvent) (This)->lpVtbl->ResumeCurrentScan(This,hEvent)
#define IScanningTunerEx_GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards) (This)->lpVtbl->GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards)
#define IScanningTunerEx_GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq) (This)->lpVtbl->GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq)
#define IScanningTunerEx_GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported) (This)->lpVtbl->GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported)
#define IScanningTunerEx_SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard) (This)->lpVtbl->SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard)
#else
/*** IUnknown methods ***/
static inline HRESULT IScanningTunerEx_QueryInterface(IScanningTunerEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IScanningTunerEx_AddRef(IScanningTunerEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IScanningTunerEx_Release(IScanningTunerEx* This) {
    return This->lpVtbl->Release(This);
}
/*** ITuner methods ***/
static inline HRESULT IScanningTunerEx_get_TuningSpace(IScanningTunerEx* This,ITuningSpace **TuningSpace) {
    return This->lpVtbl->get_TuningSpace(This,TuningSpace);
}
static inline HRESULT IScanningTunerEx_put_TuningSpace(IScanningTunerEx* This,ITuningSpace *TuningSpace) {
    return This->lpVtbl->put_TuningSpace(This,TuningSpace);
}
static inline HRESULT IScanningTunerEx_EnumTuningSpaces(IScanningTunerEx* This,IEnumTuningSpaces **ppEnum) {
    return This->lpVtbl->EnumTuningSpaces(This,ppEnum);
}
static inline HRESULT IScanningTunerEx_get_TuneRequest(IScanningTunerEx* This,ITuneRequest **TuneRequest) {
    return This->lpVtbl->get_TuneRequest(This,TuneRequest);
}
static inline HRESULT IScanningTunerEx_put_TuneRequest(IScanningTunerEx* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->put_TuneRequest(This,TuneRequest);
}
static inline HRESULT IScanningTunerEx_Validate(IScanningTunerEx* This,ITuneRequest *TuneRequest) {
    return This->lpVtbl->Validate(This,TuneRequest);
}
static inline HRESULT IScanningTunerEx_get_PreferredComponentTypes(IScanningTunerEx* This,IComponentTypes **ComponentTypes) {
    return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IScanningTunerEx_put_PreferredComponentTypes(IScanningTunerEx* This,IComponentTypes *ComponentTypes) {
    return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes);
}
static inline HRESULT IScanningTunerEx_get_SignalStrength(IScanningTunerEx* This,LONG *Strength) {
    return This->lpVtbl->get_SignalStrength(This,Strength);
}
static inline HRESULT IScanningTunerEx_TriggerSignalEvents(IScanningTunerEx* This,LONG Interval) {
    return This->lpVtbl->TriggerSignalEvents(This,Interval);
}
/*** IScanningTuner methods ***/
static inline HRESULT IScanningTunerEx_SeekUp(IScanningTunerEx* This) {
    return This->lpVtbl->SeekUp(This);
}
static inline HRESULT IScanningTunerEx_SeekDown(IScanningTunerEx* This) {
    return This->lpVtbl->SeekDown(This);
}
static inline HRESULT IScanningTunerEx_ScanUp(IScanningTunerEx* This,LONG MillisecondsPause) {
    return This->lpVtbl->ScanUp(This,MillisecondsPause);
}
static inline HRESULT IScanningTunerEx_ScanDown(IScanningTunerEx* This,LONG MillisecondsPause) {
    return This->lpVtbl->ScanDown(This,MillisecondsPause);
}
static inline HRESULT IScanningTunerEx_AutoProgram(IScanningTunerEx* This) {
    return This->lpVtbl->AutoProgram(This);
}
/*** IScanningTunerEx methods ***/
static inline HRESULT IScanningTunerEx_GetCurrentLocator(IScanningTunerEx* This,ILocator **pILocator) {
    return This->lpVtbl->GetCurrentLocator(This,pILocator);
}
static inline HRESULT IScanningTunerEx_PerformExhaustiveScan(IScanningTunerEx* This,LONG dwLowerFreq,LONG dwHigherFreq,VARIANT_BOOL bFineTune,HEVENT hEvent) {
    return This->lpVtbl->PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent);
}
static inline HRESULT IScanningTunerEx_TerminateCurrentScan(IScanningTunerEx* This,LONG *pcurrentFreq) {
    return This->lpVtbl->TerminateCurrentScan(This,pcurrentFreq);
}
static inline HRESULT IScanningTunerEx_ResumeCurrentScan(IScanningTunerEx* This,HEVENT hEvent) {
    return This->lpVtbl->ResumeCurrentScan(This,hEvent);
}
static inline HRESULT IScanningTunerEx_GetTunerScanningCapability(IScanningTunerEx* This,LONG *HardwareAssistedScanning,LONG *NumStandardsSupported,GUID *BroadcastStandards) {
    return This->lpVtbl->GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards);
}
static inline HRESULT IScanningTunerEx_GetTunerStatus(IScanningTunerEx* This,LONG *SecondsLeft,LONG *CurrentLockType,LONG *AutoDetect,LONG *CurrentFreq) {
    return This->lpVtbl->GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq);
}
static inline HRESULT IScanningTunerEx_GetCurrentTunerStandardCapability(IScanningTunerEx* This,GUID CurrentBroadcastStandard,LONG *SettlingTime,LONG *TvStandardsSupported) {
    return This->lpVtbl->GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported);
}
static inline HRESULT IScanningTunerEx_SetScanSignalTypeFilter(IScanningTunerEx* This,LONG ScanModulationTypes,LONG AnalogVideoStandard) {
    return This->lpVtbl->SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard);
}
#endif
#endif

#endif


#endif  /* __IScanningTunerEx_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IComponentType interface
 */
#ifndef __IComponentType_INTERFACE_DEFINED__
#define __IComponentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_IComponentType, 0x6a340dc0, 0x0311, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6a340dc0-0311-11d3-9d8e-00c04f72d980")
IComponentType : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Category(
        ComponentCategory *Category) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Category(
        ComponentCategory Category) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MediaMajorType(
        BSTR *MediaMajorType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MediaMajorType(
        BSTR MediaMajorType) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__MediaMajorType(
        GUID *MediaMajorTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE put__MediaMajorType(
        REFCLSID MediaMajorTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MediaSubType(
        BSTR *MediaSubType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MediaSubType(
        BSTR MediaSubType) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__MediaSubType(
        GUID *MediaSubTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE put__MediaSubType(
        REFCLSID MediaSubTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MediaFormatType(
        BSTR *MediaFormatType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MediaFormatType(
        BSTR MediaFormatType) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__MediaFormatType(
        GUID *MediaFormatTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE put__MediaFormatType(
        REFCLSID MediaFormatTypeGuid) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_MediaType(
        AM_MEDIA_TYPE *MediaType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_MediaType(
        AM_MEDIA_TYPE *MediaType) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IComponentType **NewCT) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComponentType, 0x6a340dc0, 0x0311, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IComponentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IComponentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IComponentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IComponentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IComponentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IComponentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IComponentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IComponentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Category)(
        IComponentType *This,
        ComponentCategory *Category);

    HRESULT (STDMETHODCALLTYPE *put_Category)(
        IComponentType *This,
        ComponentCategory Category);

    HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)(
        IComponentType *This,
        BSTR *MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)(
        IComponentType *This,
        BSTR MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)(
        IComponentType *This,
        GUID *MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)(
        IComponentType *This,
        REFCLSID MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaSubType)(
        IComponentType *This,
        BSTR *MediaSubType);

    HRESULT (STDMETHODCALLTYPE *put_MediaSubType)(
        IComponentType *This,
        BSTR MediaSubType);

    HRESULT (STDMETHODCALLTYPE *get__MediaSubType)(
        IComponentType *This,
        GUID *MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaSubType)(
        IComponentType *This,
        REFCLSID MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)(
        IComponentType *This,
        BSTR *MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)(
        IComponentType *This,
        BSTR MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)(
        IComponentType *This,
        GUID *MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)(
        IComponentType *This,
        REFCLSID MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaType)(
        IComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *put_MediaType)(
        IComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IComponentType *This,
        IComponentType **NewCT);

    END_INTERFACE
} IComponentTypeVtbl;

interface IComponentType {
    CONST_VTBL IComponentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComponentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComponentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentType methods ***/
#define IComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define IComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category)
#define IComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType)
#define IComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType)
#define IComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid)
#define IComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid)
#define IComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType)
#define IComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType)
#define IComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid)
#define IComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid)
#define IComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType)
#define IComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType)
#define IComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid)
#define IComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid)
#define IComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType)
#define IComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType)
#define IComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT)
#else
/*** IUnknown methods ***/
static inline HRESULT IComponentType_QueryInterface(IComponentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IComponentType_AddRef(IComponentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IComponentType_Release(IComponentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IComponentType_GetTypeInfoCount(IComponentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IComponentType_GetTypeInfo(IComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IComponentType_GetIDsOfNames(IComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IComponentType_Invoke(IComponentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentType methods ***/
static inline HRESULT IComponentType_get_Category(IComponentType* This,ComponentCategory *Category) {
    return This->lpVtbl->get_Category(This,Category);
}
static inline HRESULT IComponentType_put_Category(IComponentType* This,ComponentCategory Category) {
    return This->lpVtbl->put_Category(This,Category);
}
static inline HRESULT IComponentType_get_MediaMajorType(IComponentType* This,BSTR *MediaMajorType) {
    return This->lpVtbl->get_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IComponentType_put_MediaMajorType(IComponentType* This,BSTR MediaMajorType) {
    return This->lpVtbl->put_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IComponentType_get__MediaMajorType(IComponentType* This,GUID *MediaMajorTypeGuid) {
    return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IComponentType_put__MediaMajorType(IComponentType* This,REFCLSID MediaMajorTypeGuid) {
    return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IComponentType_get_MediaSubType(IComponentType* This,BSTR *MediaSubType) {
    return This->lpVtbl->get_MediaSubType(This,MediaSubType);
}
static inline HRESULT IComponentType_put_MediaSubType(IComponentType* This,BSTR MediaSubType) {
    return This->lpVtbl->put_MediaSubType(This,MediaSubType);
}
static inline HRESULT IComponentType_get__MediaSubType(IComponentType* This,GUID *MediaSubTypeGuid) {
    return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IComponentType_put__MediaSubType(IComponentType* This,REFCLSID MediaSubTypeGuid) {
    return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IComponentType_get_MediaFormatType(IComponentType* This,BSTR *MediaFormatType) {
    return This->lpVtbl->get_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IComponentType_put_MediaFormatType(IComponentType* This,BSTR MediaFormatType) {
    return This->lpVtbl->put_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IComponentType_get__MediaFormatType(IComponentType* This,GUID *MediaFormatTypeGuid) {
    return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IComponentType_put__MediaFormatType(IComponentType* This,REFCLSID MediaFormatTypeGuid) {
    return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IComponentType_get_MediaType(IComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->get_MediaType(This,MediaType);
}
static inline HRESULT IComponentType_put_MediaType(IComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->put_MediaType(This,MediaType);
}
static inline HRESULT IComponentType_Clone(IComponentType* This,IComponentType **NewCT) {
    return This->lpVtbl->Clone(This,NewCT);
}
#endif
#endif

#endif


#endif  /* __IComponentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ILanguageComponentType interface
 */
#ifndef __ILanguageComponentType_INTERFACE_DEFINED__
#define __ILanguageComponentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_ILanguageComponentType, 0xb874c8ba, 0x0fa2, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b874c8ba-0fa2-11d3-9d8e-00c04f72d980")
ILanguageComponentType : public IComponentType
{
    virtual HRESULT STDMETHODCALLTYPE get_LangID(
        LONG *LangID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LangID(
        LONG LangID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ILanguageComponentType, 0xb874c8ba, 0x0fa2, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct ILanguageComponentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ILanguageComponentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ILanguageComponentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ILanguageComponentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ILanguageComponentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ILanguageComponentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ILanguageComponentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ILanguageComponentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Category)(
        ILanguageComponentType *This,
        ComponentCategory *Category);

    HRESULT (STDMETHODCALLTYPE *put_Category)(
        ILanguageComponentType *This,
        ComponentCategory Category);

    HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)(
        ILanguageComponentType *This,
        BSTR *MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)(
        ILanguageComponentType *This,
        BSTR MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)(
        ILanguageComponentType *This,
        GUID *MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)(
        ILanguageComponentType *This,
        REFCLSID MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaSubType)(
        ILanguageComponentType *This,
        BSTR *MediaSubType);

    HRESULT (STDMETHODCALLTYPE *put_MediaSubType)(
        ILanguageComponentType *This,
        BSTR MediaSubType);

    HRESULT (STDMETHODCALLTYPE *get__MediaSubType)(
        ILanguageComponentType *This,
        GUID *MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaSubType)(
        ILanguageComponentType *This,
        REFCLSID MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)(
        ILanguageComponentType *This,
        BSTR *MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)(
        ILanguageComponentType *This,
        BSTR MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)(
        ILanguageComponentType *This,
        GUID *MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)(
        ILanguageComponentType *This,
        REFCLSID MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaType)(
        ILanguageComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *put_MediaType)(
        ILanguageComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        ILanguageComponentType *This,
        IComponentType **NewCT);

    /*** ILanguageComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LangID)(
        ILanguageComponentType *This,
        LONG *LangID);

    HRESULT (STDMETHODCALLTYPE *put_LangID)(
        ILanguageComponentType *This,
        LONG LangID);

    END_INTERFACE
} ILanguageComponentTypeVtbl;

interface ILanguageComponentType {
    CONST_VTBL ILanguageComponentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ILanguageComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ILanguageComponentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ILanguageComponentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ILanguageComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ILanguageComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ILanguageComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ILanguageComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentType methods ***/
#define ILanguageComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define ILanguageComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category)
#define ILanguageComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType)
#define ILanguageComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType)
#define ILanguageComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid)
#define ILanguageComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid)
#define ILanguageComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType)
#define ILanguageComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType)
#define ILanguageComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid)
#define ILanguageComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid)
#define ILanguageComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType)
#define ILanguageComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType)
#define ILanguageComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid)
#define ILanguageComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid)
#define ILanguageComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType)
#define ILanguageComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType)
#define ILanguageComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT)
/*** ILanguageComponentType methods ***/
#define ILanguageComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID)
#define ILanguageComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID)
#else
/*** IUnknown methods ***/
static inline HRESULT ILanguageComponentType_QueryInterface(ILanguageComponentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ILanguageComponentType_AddRef(ILanguageComponentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ILanguageComponentType_Release(ILanguageComponentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ILanguageComponentType_GetTypeInfoCount(ILanguageComponentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ILanguageComponentType_GetTypeInfo(ILanguageComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ILanguageComponentType_GetIDsOfNames(ILanguageComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ILanguageComponentType_Invoke(ILanguageComponentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentType methods ***/
static inline HRESULT ILanguageComponentType_get_Category(ILanguageComponentType* This,ComponentCategory *Category) {
    return This->lpVtbl->get_Category(This,Category);
}
static inline HRESULT ILanguageComponentType_put_Category(ILanguageComponentType* This,ComponentCategory Category) {
    return This->lpVtbl->put_Category(This,Category);
}
static inline HRESULT ILanguageComponentType_get_MediaMajorType(ILanguageComponentType* This,BSTR *MediaMajorType) {
    return This->lpVtbl->get_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT ILanguageComponentType_put_MediaMajorType(ILanguageComponentType* This,BSTR MediaMajorType) {
    return This->lpVtbl->put_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT ILanguageComponentType_get__MediaMajorType(ILanguageComponentType* This,GUID *MediaMajorTypeGuid) {
    return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT ILanguageComponentType_put__MediaMajorType(ILanguageComponentType* This,REFCLSID MediaMajorTypeGuid) {
    return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT ILanguageComponentType_get_MediaSubType(ILanguageComponentType* This,BSTR *MediaSubType) {
    return This->lpVtbl->get_MediaSubType(This,MediaSubType);
}
static inline HRESULT ILanguageComponentType_put_MediaSubType(ILanguageComponentType* This,BSTR MediaSubType) {
    return This->lpVtbl->put_MediaSubType(This,MediaSubType);
}
static inline HRESULT ILanguageComponentType_get__MediaSubType(ILanguageComponentType* This,GUID *MediaSubTypeGuid) {
    return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT ILanguageComponentType_put__MediaSubType(ILanguageComponentType* This,REFCLSID MediaSubTypeGuid) {
    return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT ILanguageComponentType_get_MediaFormatType(ILanguageComponentType* This,BSTR *MediaFormatType) {
    return This->lpVtbl->get_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT ILanguageComponentType_put_MediaFormatType(ILanguageComponentType* This,BSTR MediaFormatType) {
    return This->lpVtbl->put_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT ILanguageComponentType_get__MediaFormatType(ILanguageComponentType* This,GUID *MediaFormatTypeGuid) {
    return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT ILanguageComponentType_put__MediaFormatType(ILanguageComponentType* This,REFCLSID MediaFormatTypeGuid) {
    return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT ILanguageComponentType_get_MediaType(ILanguageComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->get_MediaType(This,MediaType);
}
static inline HRESULT ILanguageComponentType_put_MediaType(ILanguageComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->put_MediaType(This,MediaType);
}
static inline HRESULT ILanguageComponentType_Clone(ILanguageComponentType* This,IComponentType **NewCT) {
    return This->lpVtbl->Clone(This,NewCT);
}
/*** ILanguageComponentType methods ***/
static inline HRESULT ILanguageComponentType_get_LangID(ILanguageComponentType* This,LONG *LangID) {
    return This->lpVtbl->get_LangID(This,LangID);
}
static inline HRESULT ILanguageComponentType_put_LangID(ILanguageComponentType* This,LONG LangID) {
    return This->lpVtbl->put_LangID(This,LangID);
}
#endif
#endif

#endif


#endif  /* __ILanguageComponentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMPEG2ComponentType interface
 */
#ifndef __IMPEG2ComponentType_INTERFACE_DEFINED__
#define __IMPEG2ComponentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMPEG2ComponentType, 0x2c073d84, 0xb51c, 0x48c9, 0xaa,0x9f, 0x68,0x97,0x1e,0x1f,0x6e,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2c073d84-b51c-48c9-aa9f-68971e1f6e38")
IMPEG2ComponentType : public ILanguageComponentType
{
    virtual HRESULT STDMETHODCALLTYPE get_StreamType(
        MPEG2StreamType *MP2StreamType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_StreamType(
        MPEG2StreamType MP2StreamType) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMPEG2ComponentType, 0x2c073d84, 0xb51c, 0x48c9, 0xaa,0x9f, 0x68,0x97,0x1e,0x1f,0x6e,0x38)
#endif
#else
typedef struct IMPEG2ComponentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMPEG2ComponentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMPEG2ComponentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMPEG2ComponentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IMPEG2ComponentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IMPEG2ComponentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IMPEG2ComponentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IMPEG2ComponentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Category)(
        IMPEG2ComponentType *This,
        ComponentCategory *Category);

    HRESULT (STDMETHODCALLTYPE *put_Category)(
        IMPEG2ComponentType *This,
        ComponentCategory Category);

    HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)(
        IMPEG2ComponentType *This,
        BSTR *MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)(
        IMPEG2ComponentType *This,
        BSTR MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)(
        IMPEG2ComponentType *This,
        GUID *MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)(
        IMPEG2ComponentType *This,
        REFCLSID MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaSubType)(
        IMPEG2ComponentType *This,
        BSTR *MediaSubType);

    HRESULT (STDMETHODCALLTYPE *put_MediaSubType)(
        IMPEG2ComponentType *This,
        BSTR MediaSubType);

    HRESULT (STDMETHODCALLTYPE *get__MediaSubType)(
        IMPEG2ComponentType *This,
        GUID *MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaSubType)(
        IMPEG2ComponentType *This,
        REFCLSID MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)(
        IMPEG2ComponentType *This,
        BSTR *MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)(
        IMPEG2ComponentType *This,
        BSTR MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)(
        IMPEG2ComponentType *This,
        GUID *MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)(
        IMPEG2ComponentType *This,
        REFCLSID MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaType)(
        IMPEG2ComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *put_MediaType)(
        IMPEG2ComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IMPEG2ComponentType *This,
        IComponentType **NewCT);

    /*** ILanguageComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LangID)(
        IMPEG2ComponentType *This,
        LONG *LangID);

    HRESULT (STDMETHODCALLTYPE *put_LangID)(
        IMPEG2ComponentType *This,
        LONG LangID);

    /*** IMPEG2ComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_StreamType)(
        IMPEG2ComponentType *This,
        MPEG2StreamType *MP2StreamType);

    HRESULT (STDMETHODCALLTYPE *put_StreamType)(
        IMPEG2ComponentType *This,
        MPEG2StreamType MP2StreamType);

    END_INTERFACE
} IMPEG2ComponentTypeVtbl;

interface IMPEG2ComponentType {
    CONST_VTBL IMPEG2ComponentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMPEG2ComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMPEG2ComponentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMPEG2ComponentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IMPEG2ComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IMPEG2ComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IMPEG2ComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IMPEG2ComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentType methods ***/
#define IMPEG2ComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define IMPEG2ComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category)
#define IMPEG2ComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType)
#define IMPEG2ComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType)
#define IMPEG2ComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid)
#define IMPEG2ComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid)
#define IMPEG2ComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType)
#define IMPEG2ComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType)
#define IMPEG2ComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid)
#define IMPEG2ComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid)
#define IMPEG2ComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType)
#define IMPEG2ComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType)
#define IMPEG2ComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid)
#define IMPEG2ComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid)
#define IMPEG2ComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType)
#define IMPEG2ComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType)
#define IMPEG2ComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT)
/*** ILanguageComponentType methods ***/
#define IMPEG2ComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID)
#define IMPEG2ComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID)
/*** IMPEG2ComponentType methods ***/
#define IMPEG2ComponentType_get_StreamType(This,MP2StreamType) (This)->lpVtbl->get_StreamType(This,MP2StreamType)
#define IMPEG2ComponentType_put_StreamType(This,MP2StreamType) (This)->lpVtbl->put_StreamType(This,MP2StreamType)
#else
/*** IUnknown methods ***/
static inline HRESULT IMPEG2ComponentType_QueryInterface(IMPEG2ComponentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMPEG2ComponentType_AddRef(IMPEG2ComponentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMPEG2ComponentType_Release(IMPEG2ComponentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IMPEG2ComponentType_GetTypeInfoCount(IMPEG2ComponentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IMPEG2ComponentType_GetTypeInfo(IMPEG2ComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IMPEG2ComponentType_GetIDsOfNames(IMPEG2ComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IMPEG2ComponentType_Invoke(IMPEG2ComponentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentType methods ***/
static inline HRESULT IMPEG2ComponentType_get_Category(IMPEG2ComponentType* This,ComponentCategory *Category) {
    return This->lpVtbl->get_Category(This,Category);
}
static inline HRESULT IMPEG2ComponentType_put_Category(IMPEG2ComponentType* This,ComponentCategory Category) {
    return This->lpVtbl->put_Category(This,Category);
}
static inline HRESULT IMPEG2ComponentType_get_MediaMajorType(IMPEG2ComponentType* This,BSTR *MediaMajorType) {
    return This->lpVtbl->get_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IMPEG2ComponentType_put_MediaMajorType(IMPEG2ComponentType* This,BSTR MediaMajorType) {
    return This->lpVtbl->put_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IMPEG2ComponentType_get__MediaMajorType(IMPEG2ComponentType* This,GUID *MediaMajorTypeGuid) {
    return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_put__MediaMajorType(IMPEG2ComponentType* This,REFCLSID MediaMajorTypeGuid) {
    return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_get_MediaSubType(IMPEG2ComponentType* This,BSTR *MediaSubType) {
    return This->lpVtbl->get_MediaSubType(This,MediaSubType);
}
static inline HRESULT IMPEG2ComponentType_put_MediaSubType(IMPEG2ComponentType* This,BSTR MediaSubType) {
    return This->lpVtbl->put_MediaSubType(This,MediaSubType);
}
static inline HRESULT IMPEG2ComponentType_get__MediaSubType(IMPEG2ComponentType* This,GUID *MediaSubTypeGuid) {
    return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_put__MediaSubType(IMPEG2ComponentType* This,REFCLSID MediaSubTypeGuid) {
    return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_get_MediaFormatType(IMPEG2ComponentType* This,BSTR *MediaFormatType) {
    return This->lpVtbl->get_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IMPEG2ComponentType_put_MediaFormatType(IMPEG2ComponentType* This,BSTR MediaFormatType) {
    return This->lpVtbl->put_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IMPEG2ComponentType_get__MediaFormatType(IMPEG2ComponentType* This,GUID *MediaFormatTypeGuid) {
    return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_put__MediaFormatType(IMPEG2ComponentType* This,REFCLSID MediaFormatTypeGuid) {
    return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IMPEG2ComponentType_get_MediaType(IMPEG2ComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->get_MediaType(This,MediaType);
}
static inline HRESULT IMPEG2ComponentType_put_MediaType(IMPEG2ComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->put_MediaType(This,MediaType);
}
static inline HRESULT IMPEG2ComponentType_Clone(IMPEG2ComponentType* This,IComponentType **NewCT) {
    return This->lpVtbl->Clone(This,NewCT);
}
/*** ILanguageComponentType methods ***/
static inline HRESULT IMPEG2ComponentType_get_LangID(IMPEG2ComponentType* This,LONG *LangID) {
    return This->lpVtbl->get_LangID(This,LangID);
}
static inline HRESULT IMPEG2ComponentType_put_LangID(IMPEG2ComponentType* This,LONG LangID) {
    return This->lpVtbl->put_LangID(This,LangID);
}
/*** IMPEG2ComponentType methods ***/
static inline HRESULT IMPEG2ComponentType_get_StreamType(IMPEG2ComponentType* This,MPEG2StreamType *MP2StreamType) {
    return This->lpVtbl->get_StreamType(This,MP2StreamType);
}
static inline HRESULT IMPEG2ComponentType_put_StreamType(IMPEG2ComponentType* This,MPEG2StreamType MP2StreamType) {
    return This->lpVtbl->put_StreamType(This,MP2StreamType);
}
#endif
#endif

#endif


#endif  /* __IMPEG2ComponentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IATSCComponentType interface
 */
#ifndef __IATSCComponentType_INTERFACE_DEFINED__
#define __IATSCComponentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_IATSCComponentType, 0xfc189e4d, 0x7bd4, 0x4125, 0xb3,0xb3, 0x3a,0x76,0xa3,0x32,0xcc,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fc189e4d-7bd4-4125-b3b3-3a76a332cc96")
IATSCComponentType : public IMPEG2ComponentType
{
    virtual HRESULT STDMETHODCALLTYPE get_Flags(
        LONG *Flags) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Flags(
        LONG flags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IATSCComponentType, 0xfc189e4d, 0x7bd4, 0x4125, 0xb3,0xb3, 0x3a,0x76,0xa3,0x32,0xcc,0x96)
#endif
#else
typedef struct IATSCComponentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IATSCComponentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IATSCComponentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IATSCComponentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IATSCComponentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IATSCComponentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IATSCComponentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IATSCComponentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Category)(
        IATSCComponentType *This,
        ComponentCategory *Category);

    HRESULT (STDMETHODCALLTYPE *put_Category)(
        IATSCComponentType *This,
        ComponentCategory Category);

    HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)(
        IATSCComponentType *This,
        BSTR *MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)(
        IATSCComponentType *This,
        BSTR MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)(
        IATSCComponentType *This,
        GUID *MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)(
        IATSCComponentType *This,
        REFCLSID MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaSubType)(
        IATSCComponentType *This,
        BSTR *MediaSubType);

    HRESULT (STDMETHODCALLTYPE *put_MediaSubType)(
        IATSCComponentType *This,
        BSTR MediaSubType);

    HRESULT (STDMETHODCALLTYPE *get__MediaSubType)(
        IATSCComponentType *This,
        GUID *MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaSubType)(
        IATSCComponentType *This,
        REFCLSID MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)(
        IATSCComponentType *This,
        BSTR *MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)(
        IATSCComponentType *This,
        BSTR MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)(
        IATSCComponentType *This,
        GUID *MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)(
        IATSCComponentType *This,
        REFCLSID MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaType)(
        IATSCComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *put_MediaType)(
        IATSCComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IATSCComponentType *This,
        IComponentType **NewCT);

    /*** ILanguageComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LangID)(
        IATSCComponentType *This,
        LONG *LangID);

    HRESULT (STDMETHODCALLTYPE *put_LangID)(
        IATSCComponentType *This,
        LONG LangID);

    /*** IMPEG2ComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_StreamType)(
        IATSCComponentType *This,
        MPEG2StreamType *MP2StreamType);

    HRESULT (STDMETHODCALLTYPE *put_StreamType)(
        IATSCComponentType *This,
        MPEG2StreamType MP2StreamType);

    /*** IATSCComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Flags)(
        IATSCComponentType *This,
        LONG *Flags);

    HRESULT (STDMETHODCALLTYPE *put_Flags)(
        IATSCComponentType *This,
        LONG flags);

    END_INTERFACE
} IATSCComponentTypeVtbl;

interface IATSCComponentType {
    CONST_VTBL IATSCComponentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IATSCComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IATSCComponentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IATSCComponentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IATSCComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IATSCComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IATSCComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IATSCComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentType methods ***/
#define IATSCComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define IATSCComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category)
#define IATSCComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType)
#define IATSCComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType)
#define IATSCComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid)
#define IATSCComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid)
#define IATSCComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType)
#define IATSCComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType)
#define IATSCComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid)
#define IATSCComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid)
#define IATSCComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType)
#define IATSCComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType)
#define IATSCComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid)
#define IATSCComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid)
#define IATSCComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType)
#define IATSCComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType)
#define IATSCComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT)
/*** ILanguageComponentType methods ***/
#define IATSCComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID)
#define IATSCComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID)
/*** IMPEG2ComponentType methods ***/
#define IATSCComponentType_get_StreamType(This,MP2StreamType) (This)->lpVtbl->get_StreamType(This,MP2StreamType)
#define IATSCComponentType_put_StreamType(This,MP2StreamType) (This)->lpVtbl->put_StreamType(This,MP2StreamType)
/*** IATSCComponentType methods ***/
#define IATSCComponentType_get_Flags(This,Flags) (This)->lpVtbl->get_Flags(This,Flags)
#define IATSCComponentType_put_Flags(This,flags) (This)->lpVtbl->put_Flags(This,flags)
#else
/*** IUnknown methods ***/
static inline HRESULT IATSCComponentType_QueryInterface(IATSCComponentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IATSCComponentType_AddRef(IATSCComponentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IATSCComponentType_Release(IATSCComponentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IATSCComponentType_GetTypeInfoCount(IATSCComponentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IATSCComponentType_GetTypeInfo(IATSCComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IATSCComponentType_GetIDsOfNames(IATSCComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IATSCComponentType_Invoke(IATSCComponentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentType methods ***/
static inline HRESULT IATSCComponentType_get_Category(IATSCComponentType* This,ComponentCategory *Category) {
    return This->lpVtbl->get_Category(This,Category);
}
static inline HRESULT IATSCComponentType_put_Category(IATSCComponentType* This,ComponentCategory Category) {
    return This->lpVtbl->put_Category(This,Category);
}
static inline HRESULT IATSCComponentType_get_MediaMajorType(IATSCComponentType* This,BSTR *MediaMajorType) {
    return This->lpVtbl->get_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IATSCComponentType_put_MediaMajorType(IATSCComponentType* This,BSTR MediaMajorType) {
    return This->lpVtbl->put_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IATSCComponentType_get__MediaMajorType(IATSCComponentType* This,GUID *MediaMajorTypeGuid) {
    return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IATSCComponentType_put__MediaMajorType(IATSCComponentType* This,REFCLSID MediaMajorTypeGuid) {
    return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IATSCComponentType_get_MediaSubType(IATSCComponentType* This,BSTR *MediaSubType) {
    return This->lpVtbl->get_MediaSubType(This,MediaSubType);
}
static inline HRESULT IATSCComponentType_put_MediaSubType(IATSCComponentType* This,BSTR MediaSubType) {
    return This->lpVtbl->put_MediaSubType(This,MediaSubType);
}
static inline HRESULT IATSCComponentType_get__MediaSubType(IATSCComponentType* This,GUID *MediaSubTypeGuid) {
    return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IATSCComponentType_put__MediaSubType(IATSCComponentType* This,REFCLSID MediaSubTypeGuid) {
    return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IATSCComponentType_get_MediaFormatType(IATSCComponentType* This,BSTR *MediaFormatType) {
    return This->lpVtbl->get_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IATSCComponentType_put_MediaFormatType(IATSCComponentType* This,BSTR MediaFormatType) {
    return This->lpVtbl->put_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IATSCComponentType_get__MediaFormatType(IATSCComponentType* This,GUID *MediaFormatTypeGuid) {
    return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IATSCComponentType_put__MediaFormatType(IATSCComponentType* This,REFCLSID MediaFormatTypeGuid) {
    return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IATSCComponentType_get_MediaType(IATSCComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->get_MediaType(This,MediaType);
}
static inline HRESULT IATSCComponentType_put_MediaType(IATSCComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->put_MediaType(This,MediaType);
}
static inline HRESULT IATSCComponentType_Clone(IATSCComponentType* This,IComponentType **NewCT) {
    return This->lpVtbl->Clone(This,NewCT);
}
/*** ILanguageComponentType methods ***/
static inline HRESULT IATSCComponentType_get_LangID(IATSCComponentType* This,LONG *LangID) {
    return This->lpVtbl->get_LangID(This,LangID);
}
static inline HRESULT IATSCComponentType_put_LangID(IATSCComponentType* This,LONG LangID) {
    return This->lpVtbl->put_LangID(This,LangID);
}
/*** IMPEG2ComponentType methods ***/
static inline HRESULT IATSCComponentType_get_StreamType(IATSCComponentType* This,MPEG2StreamType *MP2StreamType) {
    return This->lpVtbl->get_StreamType(This,MP2StreamType);
}
static inline HRESULT IATSCComponentType_put_StreamType(IATSCComponentType* This,MPEG2StreamType MP2StreamType) {
    return This->lpVtbl->put_StreamType(This,MP2StreamType);
}
/*** IATSCComponentType methods ***/
static inline HRESULT IATSCComponentType_get_Flags(IATSCComponentType* This,LONG *Flags) {
    return This->lpVtbl->get_Flags(This,Flags);
}
static inline HRESULT IATSCComponentType_put_Flags(IATSCComponentType* This,LONG flags) {
    return This->lpVtbl->put_Flags(This,flags);
}
#endif
#endif

#endif


#endif  /* __IATSCComponentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEnumComponentTypes interface
 */
#ifndef __IEnumComponentTypes_INTERFACE_DEFINED__
#define __IEnumComponentTypes_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEnumComponentTypes, 0x8a674b4a, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8a674b4a-1f63-11d3-b64c-00c04f79498e")
IEnumComponentTypes : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Next(
        ULONG celt,
        IComponentType **rgelt,
        ULONG *pceltFetched) = 0;

    virtual HRESULT STDMETHODCALLTYPE Skip(
        ULONG celt) = 0;

    virtual HRESULT STDMETHODCALLTYPE Reset(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IEnumComponentTypes **ppEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumComponentTypes, 0x8a674b4a, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IEnumComponentTypesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEnumComponentTypes *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEnumComponentTypes *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEnumComponentTypes *This);

    /*** IEnumComponentTypes methods ***/
    HRESULT (STDMETHODCALLTYPE *Next)(
        IEnumComponentTypes *This,
        ULONG celt,
        IComponentType **rgelt,
        ULONG *pceltFetched);

    HRESULT (STDMETHODCALLTYPE *Skip)(
        IEnumComponentTypes *This,
        ULONG celt);

    HRESULT (STDMETHODCALLTYPE *Reset)(
        IEnumComponentTypes *This);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IEnumComponentTypes *This,
        IEnumComponentTypes **ppEnum);

    END_INTERFACE
} IEnumComponentTypesVtbl;

interface IEnumComponentTypes {
    CONST_VTBL IEnumComponentTypesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumComponentTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumComponentTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumComponentTypes_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumComponentTypes methods ***/
#define IEnumComponentTypes_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumComponentTypes_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumComponentTypes_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumComponentTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT IEnumComponentTypes_QueryInterface(IEnumComponentTypes* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEnumComponentTypes_AddRef(IEnumComponentTypes* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEnumComponentTypes_Release(IEnumComponentTypes* This) {
    return This->lpVtbl->Release(This);
}
/*** IEnumComponentTypes methods ***/
static inline HRESULT IEnumComponentTypes_Next(IEnumComponentTypes* This,ULONG celt,IComponentType **rgelt,ULONG *pceltFetched) {
    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static inline HRESULT IEnumComponentTypes_Skip(IEnumComponentTypes* This,ULONG celt) {
    return This->lpVtbl->Skip(This,celt);
}
static inline HRESULT IEnumComponentTypes_Reset(IEnumComponentTypes* This) {
    return This->lpVtbl->Reset(This);
}
static inline HRESULT IEnumComponentTypes_Clone(IEnumComponentTypes* This,IEnumComponentTypes **ppEnum) {
    return This->lpVtbl->Clone(This,ppEnum);
}
#endif
#endif

#endif


#endif  /* __IEnumComponentTypes_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IComponentTypes interface
 */
#ifndef __IComponentTypes_INTERFACE_DEFINED__
#define __IComponentTypes_INTERFACE_DEFINED__

DEFINE_GUID(IID_IComponentTypes, 0x0dc13d4a, 0x0313, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0dc13d4a-0313-11d3-9d8e-00c04f72d980")
IComponentTypes : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IEnumVARIANT **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumComponentTypes(
        IEnumComponentTypes **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Item(
        VARIANT Index,
        IComponentType **ComponentType) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Item(
        VARIANT Index,
        IComponentType *ComponentType) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        IComponentType *ComponentType,
        VARIANT *NewIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        VARIANT Index) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IComponentTypes **NewList) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComponentTypes, 0x0dc13d4a, 0x0313, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IComponentTypesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IComponentTypes *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IComponentTypes *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IComponentTypes *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IComponentTypes *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IComponentTypes *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IComponentTypes *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IComponentTypes *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentTypes methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        IComponentTypes *This,
        LONG *Count);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        IComponentTypes *This,
        IEnumVARIANT **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *EnumComponentTypes)(
        IComponentTypes *This,
        IEnumComponentTypes **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *get_Item)(
        IComponentTypes *This,
        VARIANT Index,
        IComponentType **ComponentType);

    HRESULT (STDMETHODCALLTYPE *put_Item)(
        IComponentTypes *This,
        VARIANT Index,
        IComponentType *ComponentType);

    HRESULT (STDMETHODCALLTYPE *Add)(
        IComponentTypes *This,
        IComponentType *ComponentType,
        VARIANT *NewIndex);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        IComponentTypes *This,
        VARIANT Index);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IComponentTypes *This,
        IComponentTypes **NewList);

    END_INTERFACE
} IComponentTypesVtbl;

interface IComponentTypes {
    CONST_VTBL IComponentTypesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComponentTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComponentTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComponentTypes_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IComponentTypes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IComponentTypes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IComponentTypes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IComponentTypes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentTypes methods ***/
#define IComponentTypes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define IComponentTypes_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum)
#define IComponentTypes_EnumComponentTypes(This,ppNewEnum) (This)->lpVtbl->EnumComponentTypes(This,ppNewEnum)
#define IComponentTypes_get_Item(This,Index,ComponentType) (This)->lpVtbl->get_Item(This,Index,ComponentType)
#define IComponentTypes_put_Item(This,Index,ComponentType) (This)->lpVtbl->put_Item(This,Index,ComponentType)
#define IComponentTypes_Add(This,ComponentType,NewIndex) (This)->lpVtbl->Add(This,ComponentType,NewIndex)
#define IComponentTypes_Remove(This,Index) (This)->lpVtbl->Remove(This,Index)
#define IComponentTypes_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList)
#else
/*** IUnknown methods ***/
static inline HRESULT IComponentTypes_QueryInterface(IComponentTypes* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IComponentTypes_AddRef(IComponentTypes* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IComponentTypes_Release(IComponentTypes* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IComponentTypes_GetTypeInfoCount(IComponentTypes* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IComponentTypes_GetTypeInfo(IComponentTypes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IComponentTypes_GetIDsOfNames(IComponentTypes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IComponentTypes_Invoke(IComponentTypes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentTypes methods ***/
static inline HRESULT IComponentTypes_get_Count(IComponentTypes* This,LONG *Count) {
    return This->lpVtbl->get_Count(This,Count);
}
static inline HRESULT IComponentTypes_get__NewEnum(IComponentTypes* This,IEnumVARIANT **ppNewEnum) {
    return This->lpVtbl->get__NewEnum(This,ppNewEnum);
}
static inline HRESULT IComponentTypes_EnumComponentTypes(IComponentTypes* This,IEnumComponentTypes **ppNewEnum) {
    return This->lpVtbl->EnumComponentTypes(This,ppNewEnum);
}
static inline HRESULT IComponentTypes_get_Item(IComponentTypes* This,VARIANT Index,IComponentType **ComponentType) {
    return This->lpVtbl->get_Item(This,Index,ComponentType);
}
static inline HRESULT IComponentTypes_put_Item(IComponentTypes* This,VARIANT Index,IComponentType *ComponentType) {
    return This->lpVtbl->put_Item(This,Index,ComponentType);
}
static inline HRESULT IComponentTypes_Add(IComponentTypes* This,IComponentType *ComponentType,VARIANT *NewIndex) {
    return This->lpVtbl->Add(This,ComponentType,NewIndex);
}
static inline HRESULT IComponentTypes_Remove(IComponentTypes* This,VARIANT Index) {
    return This->lpVtbl->Remove(This,Index);
}
static inline HRESULT IComponentTypes_Clone(IComponentTypes* This,IComponentTypes **NewList) {
    return This->lpVtbl->Clone(This,NewList);
}
#endif
#endif

#endif


#endif  /* __IComponentTypes_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IComponent interface
 */
#ifndef __IComponent_INTERFACE_DEFINED__
#define __IComponent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IComponent, 0x1a5576fc, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1a5576fc-0e19-11d3-9d8e-00c04f72d980")
IComponent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Type(
        IComponentType **CT) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Type(
        IComponentType *CT) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DescLangID(
        LONG *LangID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_DescLangID(
        LONG LangID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Status(
        ComponentStatus *Status) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Status(
        ComponentStatus Status) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Description(
        BSTR *Description) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Description(
        BSTR Description) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IComponent **NewComponent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComponent, 0x1a5576fc, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IComponentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IComponent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IComponent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IComponent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IComponent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IComponent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IComponent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IComponent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Type)(
        IComponent *This,
        IComponentType **CT);

    HRESULT (STDMETHODCALLTYPE *put_Type)(
        IComponent *This,
        IComponentType *CT);

    HRESULT (STDMETHODCALLTYPE *get_DescLangID)(
        IComponent *This,
        LONG *LangID);

    HRESULT (STDMETHODCALLTYPE *put_DescLangID)(
        IComponent *This,
        LONG LangID);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        IComponent *This,
        ComponentStatus *Status);

    HRESULT (STDMETHODCALLTYPE *put_Status)(
        IComponent *This,
        ComponentStatus Status);

    HRESULT (STDMETHODCALLTYPE *get_Description)(
        IComponent *This,
        BSTR *Description);

    HRESULT (STDMETHODCALLTYPE *put_Description)(
        IComponent *This,
        BSTR Description);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IComponent *This,
        IComponent **NewComponent);

    END_INTERFACE
} IComponentVtbl;

interface IComponent {
    CONST_VTBL IComponentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComponent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IComponent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IComponent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IComponent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IComponent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponent methods ***/
#define IComponent_get_Type(This,CT) (This)->lpVtbl->get_Type(This,CT)
#define IComponent_put_Type(This,CT) (This)->lpVtbl->put_Type(This,CT)
#define IComponent_get_DescLangID(This,LangID) (This)->lpVtbl->get_DescLangID(This,LangID)
#define IComponent_put_DescLangID(This,LangID) (This)->lpVtbl->put_DescLangID(This,LangID)
#define IComponent_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
#define IComponent_put_Status(This,Status) (This)->lpVtbl->put_Status(This,Status)
#define IComponent_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description)
#define IComponent_put_Description(This,Description) (This)->lpVtbl->put_Description(This,Description)
#define IComponent_Clone(This,NewComponent) (This)->lpVtbl->Clone(This,NewComponent)
#else
/*** IUnknown methods ***/
static inline HRESULT IComponent_QueryInterface(IComponent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IComponent_AddRef(IComponent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IComponent_Release(IComponent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IComponent_GetTypeInfoCount(IComponent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IComponent_GetTypeInfo(IComponent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IComponent_GetIDsOfNames(IComponent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IComponent_Invoke(IComponent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponent methods ***/
static inline HRESULT IComponent_get_Type(IComponent* This,IComponentType **CT) {
    return This->lpVtbl->get_Type(This,CT);
}
static inline HRESULT IComponent_put_Type(IComponent* This,IComponentType *CT) {
    return This->lpVtbl->put_Type(This,CT);
}
static inline HRESULT IComponent_get_DescLangID(IComponent* This,LONG *LangID) {
    return This->lpVtbl->get_DescLangID(This,LangID);
}
static inline HRESULT IComponent_put_DescLangID(IComponent* This,LONG LangID) {
    return This->lpVtbl->put_DescLangID(This,LangID);
}
static inline HRESULT IComponent_get_Status(IComponent* This,ComponentStatus *Status) {
    return This->lpVtbl->get_Status(This,Status);
}
static inline HRESULT IComponent_put_Status(IComponent* This,ComponentStatus Status) {
    return This->lpVtbl->put_Status(This,Status);
}
static inline HRESULT IComponent_get_Description(IComponent* This,BSTR *Description) {
    return This->lpVtbl->get_Description(This,Description);
}
static inline HRESULT IComponent_put_Description(IComponent* This,BSTR Description) {
    return This->lpVtbl->put_Description(This,Description);
}
static inline HRESULT IComponent_Clone(IComponent* This,IComponent **NewComponent) {
    return This->lpVtbl->Clone(This,NewComponent);
}
#endif
#endif

#endif


#endif  /* __IComponent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAnalogAudioComponentType interface
 */
#ifndef __IAnalogAudioComponentType_INTERFACE_DEFINED__
#define __IAnalogAudioComponentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAnalogAudioComponentType, 0x2cfeb2a8, 0x1787, 0x4a24, 0xa9,0x41, 0xc6,0xea,0xec,0x39,0xc8,0x42);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2cfeb2a8-1787-4a24-a941-c6eaec39c842")
IAnalogAudioComponentType : public IComponentType
{
    virtual HRESULT STDMETHODCALLTYPE get_AnalogAudioMode(
        TVAudioMode *Mode) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AnalogAudioMode(
        TVAudioMode Mode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAnalogAudioComponentType, 0x2cfeb2a8, 0x1787, 0x4a24, 0xa9,0x41, 0xc6,0xea,0xec,0x39,0xc8,0x42)
#endif
#else
typedef struct IAnalogAudioComponentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAnalogAudioComponentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAnalogAudioComponentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAnalogAudioComponentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAnalogAudioComponentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAnalogAudioComponentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAnalogAudioComponentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAnalogAudioComponentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Category)(
        IAnalogAudioComponentType *This,
        ComponentCategory *Category);

    HRESULT (STDMETHODCALLTYPE *put_Category)(
        IAnalogAudioComponentType *This,
        ComponentCategory Category);

    HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)(
        IAnalogAudioComponentType *This,
        BSTR *MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)(
        IAnalogAudioComponentType *This,
        BSTR MediaMajorType);

    HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)(
        IAnalogAudioComponentType *This,
        GUID *MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)(
        IAnalogAudioComponentType *This,
        REFCLSID MediaMajorTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaSubType)(
        IAnalogAudioComponentType *This,
        BSTR *MediaSubType);

    HRESULT (STDMETHODCALLTYPE *put_MediaSubType)(
        IAnalogAudioComponentType *This,
        BSTR MediaSubType);

    HRESULT (STDMETHODCALLTYPE *get__MediaSubType)(
        IAnalogAudioComponentType *This,
        GUID *MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaSubType)(
        IAnalogAudioComponentType *This,
        REFCLSID MediaSubTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)(
        IAnalogAudioComponentType *This,
        BSTR *MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)(
        IAnalogAudioComponentType *This,
        BSTR MediaFormatType);

    HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)(
        IAnalogAudioComponentType *This,
        GUID *MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)(
        IAnalogAudioComponentType *This,
        REFCLSID MediaFormatTypeGuid);

    HRESULT (STDMETHODCALLTYPE *get_MediaType)(
        IAnalogAudioComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *put_MediaType)(
        IAnalogAudioComponentType *This,
        AM_MEDIA_TYPE *MediaType);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAnalogAudioComponentType *This,
        IComponentType **NewCT);

    /*** IAnalogAudioComponentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AnalogAudioMode)(
        IAnalogAudioComponentType *This,
        TVAudioMode *Mode);

    HRESULT (STDMETHODCALLTYPE *put_AnalogAudioMode)(
        IAnalogAudioComponentType *This,
        TVAudioMode Mode);

    END_INTERFACE
} IAnalogAudioComponentTypeVtbl;

interface IAnalogAudioComponentType {
    CONST_VTBL IAnalogAudioComponentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAnalogAudioComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAnalogAudioComponentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAnalogAudioComponentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAnalogAudioComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAnalogAudioComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAnalogAudioComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAnalogAudioComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentType methods ***/
#define IAnalogAudioComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define IAnalogAudioComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category)
#define IAnalogAudioComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType)
#define IAnalogAudioComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType)
#define IAnalogAudioComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid)
#define IAnalogAudioComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid)
#define IAnalogAudioComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType)
#define IAnalogAudioComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType)
#define IAnalogAudioComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid)
#define IAnalogAudioComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid)
#define IAnalogAudioComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType)
#define IAnalogAudioComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType)
#define IAnalogAudioComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid)
#define IAnalogAudioComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid)
#define IAnalogAudioComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType)
#define IAnalogAudioComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType)
#define IAnalogAudioComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT)
/*** IAnalogAudioComponentType methods ***/
#define IAnalogAudioComponentType_get_AnalogAudioMode(This,Mode) (This)->lpVtbl->get_AnalogAudioMode(This,Mode)
#define IAnalogAudioComponentType_put_AnalogAudioMode(This,Mode) (This)->lpVtbl->put_AnalogAudioMode(This,Mode)
#else
/*** IUnknown methods ***/
static inline HRESULT IAnalogAudioComponentType_QueryInterface(IAnalogAudioComponentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAnalogAudioComponentType_AddRef(IAnalogAudioComponentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAnalogAudioComponentType_Release(IAnalogAudioComponentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAnalogAudioComponentType_GetTypeInfoCount(IAnalogAudioComponentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAnalogAudioComponentType_GetTypeInfo(IAnalogAudioComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAnalogAudioComponentType_GetIDsOfNames(IAnalogAudioComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAnalogAudioComponentType_Invoke(IAnalogAudioComponentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentType methods ***/
static inline HRESULT IAnalogAudioComponentType_get_Category(IAnalogAudioComponentType* This,ComponentCategory *Category) {
    return This->lpVtbl->get_Category(This,Category);
}
static inline HRESULT IAnalogAudioComponentType_put_Category(IAnalogAudioComponentType* This,ComponentCategory Category) {
    return This->lpVtbl->put_Category(This,Category);
}
static inline HRESULT IAnalogAudioComponentType_get_MediaMajorType(IAnalogAudioComponentType* This,BSTR *MediaMajorType) {
    return This->lpVtbl->get_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IAnalogAudioComponentType_put_MediaMajorType(IAnalogAudioComponentType* This,BSTR MediaMajorType) {
    return This->lpVtbl->put_MediaMajorType(This,MediaMajorType);
}
static inline HRESULT IAnalogAudioComponentType_get__MediaMajorType(IAnalogAudioComponentType* This,GUID *MediaMajorTypeGuid) {
    return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_put__MediaMajorType(IAnalogAudioComponentType* This,REFCLSID MediaMajorTypeGuid) {
    return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_get_MediaSubType(IAnalogAudioComponentType* This,BSTR *MediaSubType) {
    return This->lpVtbl->get_MediaSubType(This,MediaSubType);
}
static inline HRESULT IAnalogAudioComponentType_put_MediaSubType(IAnalogAudioComponentType* This,BSTR MediaSubType) {
    return This->lpVtbl->put_MediaSubType(This,MediaSubType);
}
static inline HRESULT IAnalogAudioComponentType_get__MediaSubType(IAnalogAudioComponentType* This,GUID *MediaSubTypeGuid) {
    return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_put__MediaSubType(IAnalogAudioComponentType* This,REFCLSID MediaSubTypeGuid) {
    return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_get_MediaFormatType(IAnalogAudioComponentType* This,BSTR *MediaFormatType) {
    return This->lpVtbl->get_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IAnalogAudioComponentType_put_MediaFormatType(IAnalogAudioComponentType* This,BSTR MediaFormatType) {
    return This->lpVtbl->put_MediaFormatType(This,MediaFormatType);
}
static inline HRESULT IAnalogAudioComponentType_get__MediaFormatType(IAnalogAudioComponentType* This,GUID *MediaFormatTypeGuid) {
    return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_put__MediaFormatType(IAnalogAudioComponentType* This,REFCLSID MediaFormatTypeGuid) {
    return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid);
}
static inline HRESULT IAnalogAudioComponentType_get_MediaType(IAnalogAudioComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->get_MediaType(This,MediaType);
}
static inline HRESULT IAnalogAudioComponentType_put_MediaType(IAnalogAudioComponentType* This,AM_MEDIA_TYPE *MediaType) {
    return This->lpVtbl->put_MediaType(This,MediaType);
}
static inline HRESULT IAnalogAudioComponentType_Clone(IAnalogAudioComponentType* This,IComponentType **NewCT) {
    return This->lpVtbl->Clone(This,NewCT);
}
/*** IAnalogAudioComponentType methods ***/
static inline HRESULT IAnalogAudioComponentType_get_AnalogAudioMode(IAnalogAudioComponentType* This,TVAudioMode *Mode) {
    return This->lpVtbl->get_AnalogAudioMode(This,Mode);
}
static inline HRESULT IAnalogAudioComponentType_put_AnalogAudioMode(IAnalogAudioComponentType* This,TVAudioMode Mode) {
    return This->lpVtbl->put_AnalogAudioMode(This,Mode);
}
#endif
#endif

#endif


#endif  /* __IAnalogAudioComponentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMPEG2Component interface
 */
#ifndef __IMPEG2Component_INTERFACE_DEFINED__
#define __IMPEG2Component_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMPEG2Component, 0x1493e353, 0x1eb6, 0x473c, 0x80,0x2d, 0x8e,0x6b,0x8e,0xc9,0xd2,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1493e353-1eb6-473c-802d-8e6b8ec9d2a9")
IMPEG2Component : public IComponent
{
    virtual HRESULT STDMETHODCALLTYPE get_PID(
        LONG *PID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_PID(
        LONG PID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_PCRPID(
        LONG *PCRPID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_PCRPID(
        LONG PCRPID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ProgramNumber(
        LONG *ProgramNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ProgramNumber(
        LONG ProgramNumber) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMPEG2Component, 0x1493e353, 0x1eb6, 0x473c, 0x80,0x2d, 0x8e,0x6b,0x8e,0xc9,0xd2,0xa9)
#endif
#else
typedef struct IMPEG2ComponentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMPEG2Component *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMPEG2Component *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMPEG2Component *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IMPEG2Component *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IMPEG2Component *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IMPEG2Component *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IMPEG2Component *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Type)(
        IMPEG2Component *This,
        IComponentType **CT);

    HRESULT (STDMETHODCALLTYPE *put_Type)(
        IMPEG2Component *This,
        IComponentType *CT);

    HRESULT (STDMETHODCALLTYPE *get_DescLangID)(
        IMPEG2Component *This,
        LONG *LangID);

    HRESULT (STDMETHODCALLTYPE *put_DescLangID)(
        IMPEG2Component *This,
        LONG LangID);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        IMPEG2Component *This,
        ComponentStatus *Status);

    HRESULT (STDMETHODCALLTYPE *put_Status)(
        IMPEG2Component *This,
        ComponentStatus Status);

    HRESULT (STDMETHODCALLTYPE *get_Description)(
        IMPEG2Component *This,
        BSTR *Description);

    HRESULT (STDMETHODCALLTYPE *put_Description)(
        IMPEG2Component *This,
        BSTR Description);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IMPEG2Component *This,
        IComponent **NewComponent);

    /*** IMPEG2Component methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PID)(
        IMPEG2Component *This,
        LONG *PID);

    HRESULT (STDMETHODCALLTYPE *put_PID)(
        IMPEG2Component *This,
        LONG PID);

    HRESULT (STDMETHODCALLTYPE *get_PCRPID)(
        IMPEG2Component *This,
        LONG *PCRPID);

    HRESULT (STDMETHODCALLTYPE *put_PCRPID)(
        IMPEG2Component *This,
        LONG PCRPID);

    HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)(
        IMPEG2Component *This,
        LONG *ProgramNumber);

    HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)(
        IMPEG2Component *This,
        LONG ProgramNumber);

    END_INTERFACE
} IMPEG2ComponentVtbl;

interface IMPEG2Component {
    CONST_VTBL IMPEG2ComponentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMPEG2Component_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMPEG2Component_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMPEG2Component_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IMPEG2Component_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IMPEG2Component_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IMPEG2Component_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IMPEG2Component_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponent methods ***/
#define IMPEG2Component_get_Type(This,CT) (This)->lpVtbl->get_Type(This,CT)
#define IMPEG2Component_put_Type(This,CT) (This)->lpVtbl->put_Type(This,CT)
#define IMPEG2Component_get_DescLangID(This,LangID) (This)->lpVtbl->get_DescLangID(This,LangID)
#define IMPEG2Component_put_DescLangID(This,LangID) (This)->lpVtbl->put_DescLangID(This,LangID)
#define IMPEG2Component_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
#define IMPEG2Component_put_Status(This,Status) (This)->lpVtbl->put_Status(This,Status)
#define IMPEG2Component_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description)
#define IMPEG2Component_put_Description(This,Description) (This)->lpVtbl->put_Description(This,Description)
#define IMPEG2Component_Clone(This,NewComponent) (This)->lpVtbl->Clone(This,NewComponent)
/*** IMPEG2Component methods ***/
#define IMPEG2Component_get_PID(This,PID) (This)->lpVtbl->get_PID(This,PID)
#define IMPEG2Component_put_PID(This,PID) (This)->lpVtbl->put_PID(This,PID)
#define IMPEG2Component_get_PCRPID(This,PCRPID) (This)->lpVtbl->get_PCRPID(This,PCRPID)
#define IMPEG2Component_put_PCRPID(This,PCRPID) (This)->lpVtbl->put_PCRPID(This,PCRPID)
#define IMPEG2Component_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber)
#define IMPEG2Component_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber)
#else
/*** IUnknown methods ***/
static inline HRESULT IMPEG2Component_QueryInterface(IMPEG2Component* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMPEG2Component_AddRef(IMPEG2Component* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMPEG2Component_Release(IMPEG2Component* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IMPEG2Component_GetTypeInfoCount(IMPEG2Component* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IMPEG2Component_GetTypeInfo(IMPEG2Component* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IMPEG2Component_GetIDsOfNames(IMPEG2Component* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IMPEG2Component_Invoke(IMPEG2Component* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponent methods ***/
static inline HRESULT IMPEG2Component_get_Type(IMPEG2Component* This,IComponentType **CT) {
    return This->lpVtbl->get_Type(This,CT);
}
static inline HRESULT IMPEG2Component_put_Type(IMPEG2Component* This,IComponentType *CT) {
    return This->lpVtbl->put_Type(This,CT);
}
static inline HRESULT IMPEG2Component_get_DescLangID(IMPEG2Component* This,LONG *LangID) {
    return This->lpVtbl->get_DescLangID(This,LangID);
}
static inline HRESULT IMPEG2Component_put_DescLangID(IMPEG2Component* This,LONG LangID) {
    return This->lpVtbl->put_DescLangID(This,LangID);
}
static inline HRESULT IMPEG2Component_get_Status(IMPEG2Component* This,ComponentStatus *Status) {
    return This->lpVtbl->get_Status(This,Status);
}
static inline HRESULT IMPEG2Component_put_Status(IMPEG2Component* This,ComponentStatus Status) {
    return This->lpVtbl->put_Status(This,Status);
}
static inline HRESULT IMPEG2Component_get_Description(IMPEG2Component* This,BSTR *Description) {
    return This->lpVtbl->get_Description(This,Description);
}
static inline HRESULT IMPEG2Component_put_Description(IMPEG2Component* This,BSTR Description) {
    return This->lpVtbl->put_Description(This,Description);
}
static inline HRESULT IMPEG2Component_Clone(IMPEG2Component* This,IComponent **NewComponent) {
    return This->lpVtbl->Clone(This,NewComponent);
}
/*** IMPEG2Component methods ***/
static inline HRESULT IMPEG2Component_get_PID(IMPEG2Component* This,LONG *PID) {
    return This->lpVtbl->get_PID(This,PID);
}
static inline HRESULT IMPEG2Component_put_PID(IMPEG2Component* This,LONG PID) {
    return This->lpVtbl->put_PID(This,PID);
}
static inline HRESULT IMPEG2Component_get_PCRPID(IMPEG2Component* This,LONG *PCRPID) {
    return This->lpVtbl->get_PCRPID(This,PCRPID);
}
static inline HRESULT IMPEG2Component_put_PCRPID(IMPEG2Component* This,LONG PCRPID) {
    return This->lpVtbl->put_PCRPID(This,PCRPID);
}
static inline HRESULT IMPEG2Component_get_ProgramNumber(IMPEG2Component* This,LONG *ProgramNumber) {
    return This->lpVtbl->get_ProgramNumber(This,ProgramNumber);
}
static inline HRESULT IMPEG2Component_put_ProgramNumber(IMPEG2Component* This,LONG ProgramNumber) {
    return This->lpVtbl->put_ProgramNumber(This,ProgramNumber);
}
#endif
#endif

#endif


#endif  /* __IMPEG2Component_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEnumComponents interface
 */
#ifndef __IEnumComponents_INTERFACE_DEFINED__
#define __IEnumComponents_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEnumComponents, 0x2a6e2939, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2a6e2939-2595-11d3-b64c-00c04f79498e")
IEnumComponents : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Next(
        ULONG celt,
        IComponent **rgelt,
        ULONG *pceltFetched) = 0;

    virtual HRESULT STDMETHODCALLTYPE Skip(
        ULONG celt) = 0;

    virtual HRESULT STDMETHODCALLTYPE Reset(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IEnumComponents **ppEnum) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumComponents, 0x2a6e2939, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#else
typedef struct IEnumComponentsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEnumComponents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEnumComponents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEnumComponents *This);

    /*** IEnumComponents methods ***/
    HRESULT (STDMETHODCALLTYPE *Next)(
        IEnumComponents *This,
        ULONG celt,
        IComponent **rgelt,
        ULONG *pceltFetched);

    HRESULT (STDMETHODCALLTYPE *Skip)(
        IEnumComponents *This,
        ULONG celt);

    HRESULT (STDMETHODCALLTYPE *Reset)(
        IEnumComponents *This);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IEnumComponents *This,
        IEnumComponents **ppEnum);

    END_INTERFACE
} IEnumComponentsVtbl;

interface IEnumComponents {
    CONST_VTBL IEnumComponentsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumComponents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumComponents_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumComponents methods ***/
#define IEnumComponents_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumComponents_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumComponents_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumComponents_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT IEnumComponents_QueryInterface(IEnumComponents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEnumComponents_AddRef(IEnumComponents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEnumComponents_Release(IEnumComponents* This) {
    return This->lpVtbl->Release(This);
}
/*** IEnumComponents methods ***/
static inline HRESULT IEnumComponents_Next(IEnumComponents* This,ULONG celt,IComponent **rgelt,ULONG *pceltFetched) {
    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static inline HRESULT IEnumComponents_Skip(IEnumComponents* This,ULONG celt) {
    return This->lpVtbl->Skip(This,celt);
}
static inline HRESULT IEnumComponents_Reset(IEnumComponents* This) {
    return This->lpVtbl->Reset(This);
}
static inline HRESULT IEnumComponents_Clone(IEnumComponents* This,IEnumComponents **ppEnum) {
    return This->lpVtbl->Clone(This,ppEnum);
}
#endif
#endif

#endif


#endif  /* __IEnumComponents_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IComponents interface
 */
#ifndef __IComponents_INTERFACE_DEFINED__
#define __IComponents_INTERFACE_DEFINED__

DEFINE_GUID(IID_IComponents, 0x39a48091, 0xfffe, 0x4182, 0xa1,0x61, 0x3f,0xf8,0x02,0x64,0x0e,0x26);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("39a48091-fffe-4182-a161-3ff802640e26")
IComponents : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IEnumVARIANT **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumComponents(
        IEnumComponents **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Item(
        VARIANT Index,
        IComponent **ppComponent) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        IComponent *Component,
        VARIANT *NewIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        VARIANT Index) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IComponents **NewList) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Item(
        VARIANT Index,
        IComponent *ppComponent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComponents, 0x39a48091, 0xfffe, 0x4182, 0xa1,0x61, 0x3f,0xf8,0x02,0x64,0x0e,0x26)
#endif
#else
typedef struct IComponentsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IComponents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IComponents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IComponents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IComponents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IComponents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IComponents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IComponents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponents methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        IComponents *This,
        LONG *Count);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        IComponents *This,
        IEnumVARIANT **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *EnumComponents)(
        IComponents *This,
        IEnumComponents **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *get_Item)(
        IComponents *This,
        VARIANT Index,
        IComponent **ppComponent);

    HRESULT (STDMETHODCALLTYPE *Add)(
        IComponents *This,
        IComponent *Component,
        VARIANT *NewIndex);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        IComponents *This,
        VARIANT Index);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IComponents *This,
        IComponents **NewList);

    HRESULT (STDMETHODCALLTYPE *put_Item)(
        IComponents *This,
        VARIANT Index,
        IComponent *ppComponent);

    END_INTERFACE
} IComponentsVtbl;

interface IComponents {
    CONST_VTBL IComponentsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComponents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComponents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IComponents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IComponents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IComponents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IComponents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponents methods ***/
#define IComponents_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define IComponents_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum)
#define IComponents_EnumComponents(This,ppNewEnum) (This)->lpVtbl->EnumComponents(This,ppNewEnum)
#define IComponents_get_Item(This,Index,ppComponent) (This)->lpVtbl->get_Item(This,Index,ppComponent)
#define IComponents_Add(This,Component,NewIndex) (This)->lpVtbl->Add(This,Component,NewIndex)
#define IComponents_Remove(This,Index) (This)->lpVtbl->Remove(This,Index)
#define IComponents_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList)
#define IComponents_put_Item(This,Index,ppComponent) (This)->lpVtbl->put_Item(This,Index,ppComponent)
#else
/*** IUnknown methods ***/
static inline HRESULT IComponents_QueryInterface(IComponents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IComponents_AddRef(IComponents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IComponents_Release(IComponents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IComponents_GetTypeInfoCount(IComponents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IComponents_GetTypeInfo(IComponents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IComponents_GetIDsOfNames(IComponents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IComponents_Invoke(IComponents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponents methods ***/
static inline HRESULT IComponents_get_Count(IComponents* This,LONG *Count) {
    return This->lpVtbl->get_Count(This,Count);
}
static inline HRESULT IComponents_get__NewEnum(IComponents* This,IEnumVARIANT **ppNewEnum) {
    return This->lpVtbl->get__NewEnum(This,ppNewEnum);
}
static inline HRESULT IComponents_EnumComponents(IComponents* This,IEnumComponents **ppNewEnum) {
    return This->lpVtbl->EnumComponents(This,ppNewEnum);
}
static inline HRESULT IComponents_get_Item(IComponents* This,VARIANT Index,IComponent **ppComponent) {
    return This->lpVtbl->get_Item(This,Index,ppComponent);
}
static inline HRESULT IComponents_Add(IComponents* This,IComponent *Component,VARIANT *NewIndex) {
    return This->lpVtbl->Add(This,Component,NewIndex);
}
static inline HRESULT IComponents_Remove(IComponents* This,VARIANT Index) {
    return This->lpVtbl->Remove(This,Index);
}
static inline HRESULT IComponents_Clone(IComponents* This,IComponents **NewList) {
    return This->lpVtbl->Clone(This,NewList);
}
static inline HRESULT IComponents_put_Item(IComponents* This,VARIANT Index,IComponent *ppComponent) {
    return This->lpVtbl->put_Item(This,Index,ppComponent);
}
#endif
#endif

#endif


#endif  /* __IComponents_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IComponentsOld interface
 */
#ifndef __IComponentsOld_INTERFACE_DEFINED__
#define __IComponentsOld_INTERFACE_DEFINED__

DEFINE_GUID(IID_IComponentsOld, 0xfcd01846, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fcd01846-0e19-11d3-9d8e-00c04f72d980")
IComponentsOld : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IEnumVARIANT **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumComponents(
        IEnumComponents **ppNewEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Item(
        VARIANT Index,
        IComponent **ppComponent) = 0;

    virtual HRESULT STDMETHODCALLTYPE Add(
        IComponent *Component,
        VARIANT *NewIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        VARIANT Index) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IComponents **NewList) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComponentsOld, 0xfcd01846, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#else
typedef struct IComponentsOldVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IComponentsOld *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IComponentsOld *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IComponentsOld *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IComponentsOld *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IComponentsOld *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IComponentsOld *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IComponentsOld *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IComponentsOld methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Count)(
        IComponentsOld *This,
        LONG *Count);

    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        IComponentsOld *This,
        IEnumVARIANT **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *EnumComponents)(
        IComponentsOld *This,
        IEnumComponents **ppNewEnum);

    HRESULT (STDMETHODCALLTYPE *get_Item)(
        IComponentsOld *This,
        VARIANT Index,
        IComponent **ppComponent);

    HRESULT (STDMETHODCALLTYPE *Add)(
        IComponentsOld *This,
        IComponent *Component,
        VARIANT *NewIndex);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        IComponentsOld *This,
        VARIANT Index);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IComponentsOld *This,
        IComponents **NewList);

    END_INTERFACE
} IComponentsOldVtbl;

interface IComponentsOld {
    CONST_VTBL IComponentsOldVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComponentsOld_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComponentsOld_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComponentsOld_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IComponentsOld_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IComponentsOld_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IComponentsOld_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IComponentsOld_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IComponentsOld methods ***/
#define IComponentsOld_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define IComponentsOld_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum)
#define IComponentsOld_EnumComponents(This,ppNewEnum) (This)->lpVtbl->EnumComponents(This,ppNewEnum)
#define IComponentsOld_get_Item(This,Index,ppComponent) (This)->lpVtbl->get_Item(This,Index,ppComponent)
#define IComponentsOld_Add(This,Component,NewIndex) (This)->lpVtbl->Add(This,Component,NewIndex)
#define IComponentsOld_Remove(This,Index) (This)->lpVtbl->Remove(This,Index)
#define IComponentsOld_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList)
#else
/*** IUnknown methods ***/
static inline HRESULT IComponentsOld_QueryInterface(IComponentsOld* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IComponentsOld_AddRef(IComponentsOld* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IComponentsOld_Release(IComponentsOld* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IComponentsOld_GetTypeInfoCount(IComponentsOld* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IComponentsOld_GetTypeInfo(IComponentsOld* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IComponentsOld_GetIDsOfNames(IComponentsOld* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IComponentsOld_Invoke(IComponentsOld* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IComponentsOld methods ***/
static inline HRESULT IComponentsOld_get_Count(IComponentsOld* This,LONG *Count) {
    return This->lpVtbl->get_Count(This,Count);
}
static inline HRESULT IComponentsOld_get__NewEnum(IComponentsOld* This,IEnumVARIANT **ppNewEnum) {
    return This->lpVtbl->get__NewEnum(This,ppNewEnum);
}
static inline HRESULT IComponentsOld_EnumComponents(IComponentsOld* This,IEnumComponents **ppNewEnum) {
    return This->lpVtbl->EnumComponents(This,ppNewEnum);
}
static inline HRESULT IComponentsOld_get_Item(IComponentsOld* This,VARIANT Index,IComponent **ppComponent) {
    return This->lpVtbl->get_Item(This,Index,ppComponent);
}
static inline HRESULT IComponentsOld_Add(IComponentsOld* This,IComponent *Component,VARIANT *NewIndex) {
    return This->lpVtbl->Add(This,Component,NewIndex);
}
static inline HRESULT IComponentsOld_Remove(IComponentsOld* This,VARIANT Index) {
    return This->lpVtbl->Remove(This,Index);
}
static inline HRESULT IComponentsOld_Clone(IComponentsOld* This,IComponents **NewList) {
    return This->lpVtbl->Clone(This,NewList);
}
#endif
#endif

#endif


#endif  /* __IComponentsOld_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ILocator interface
 */
#ifndef __ILocator_INTERFACE_DEFINED__
#define __ILocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_ILocator, 0x286d7f89, 0x760c, 0x4f89, 0x80,0xc4, 0x66,0x84,0x1d,0x25,0x07,0xaa);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("286d7f89-760c-4f89-80c4-66841d2507aa")
ILocator : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_CarrierFrequency(
        LONG *Frequency) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_CarrierFrequency(
        LONG Frequency) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_InnerFEC(
        FECMethod *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_InnerFEC(
        FECMethod FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_InnerFECRate(
        BinaryConvolutionCodeRate *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_InnerFECRate(
        BinaryConvolutionCodeRate FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_OuterFEC(
        FECMethod *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_OuterFEC(
        FECMethod FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_OuterFECRate(
        BinaryConvolutionCodeRate *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_OuterFECRate(
        BinaryConvolutionCodeRate FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Modulation(
        ModulationType *Modulation) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Modulation(
        ModulationType Modulation) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SymbolRate(
        LONG *Rate) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SymbolRate(
        LONG Rate) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        ILocator **NewLocator) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ILocator, 0x286d7f89, 0x760c, 0x4f89, 0x80,0xc4, 0x66,0x84,0x1d,0x25,0x07,0xaa)
#endif
#else
typedef struct ILocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ILocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ILocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ILocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ILocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ILocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ILocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ILocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        ILocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        ILocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        ILocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        ILocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        ILocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        ILocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        ILocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        ILocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        ILocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        ILocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        ILocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        ILocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        ILocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        ILocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        ILocator *This,
        ILocator **NewLocator);

    END_INTERFACE
} ILocatorVtbl;

interface ILocator {
    CONST_VTBL ILocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ILocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ILocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ILocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ILocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ILocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ILocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ILocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define ILocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define ILocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define ILocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define ILocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define ILocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define ILocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define ILocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define ILocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define ILocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define ILocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define ILocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define ILocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define ILocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define ILocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define ILocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
#else
/*** IUnknown methods ***/
static inline HRESULT ILocator_QueryInterface(ILocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ILocator_AddRef(ILocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ILocator_Release(ILocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ILocator_GetTypeInfoCount(ILocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ILocator_GetTypeInfo(ILocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ILocator_GetIDsOfNames(ILocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ILocator_Invoke(ILocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT ILocator_get_CarrierFrequency(ILocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT ILocator_put_CarrierFrequency(ILocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT ILocator_get_InnerFEC(ILocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT ILocator_put_InnerFEC(ILocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT ILocator_get_InnerFECRate(ILocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT ILocator_put_InnerFECRate(ILocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT ILocator_get_OuterFEC(ILocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT ILocator_put_OuterFEC(ILocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT ILocator_get_OuterFECRate(ILocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT ILocator_put_OuterFECRate(ILocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT ILocator_get_Modulation(ILocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT ILocator_put_Modulation(ILocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT ILocator_get_SymbolRate(ILocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT ILocator_put_SymbolRate(ILocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT ILocator_Clone(ILocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
#endif
#endif

#endif


#endif  /* __ILocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAnalogLocator interface
 */
#ifndef __IAnalogLocator_INTERFACE_DEFINED__
#define __IAnalogLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAnalogLocator, 0x34d1f26b, 0xe339, 0x430d, 0xab,0xce, 0x73,0x8c,0xb4,0x89,0x84,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("34d1f26b-e339-430d-abce-738cb48984dc")
IAnalogLocator : public ILocator
{
    virtual HRESULT STDMETHODCALLTYPE get_VideoStandard(
        AnalogVideoStandard *AVS) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_VideoStandard(
        AnalogVideoStandard AVS) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAnalogLocator, 0x34d1f26b, 0xe339, 0x430d, 0xab,0xce, 0x73,0x8c,0xb4,0x89,0x84,0xdc)
#endif
#else
typedef struct IAnalogLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAnalogLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAnalogLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAnalogLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAnalogLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAnalogLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAnalogLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAnalogLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IAnalogLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IAnalogLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IAnalogLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IAnalogLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IAnalogLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IAnalogLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IAnalogLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IAnalogLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IAnalogLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IAnalogLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IAnalogLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IAnalogLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IAnalogLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IAnalogLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IAnalogLocator *This,
        ILocator **NewLocator);

    /*** IAnalogLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_VideoStandard)(
        IAnalogLocator *This,
        AnalogVideoStandard *AVS);

    HRESULT (STDMETHODCALLTYPE *put_VideoStandard)(
        IAnalogLocator *This,
        AnalogVideoStandard AVS);

    END_INTERFACE
} IAnalogLocatorVtbl;

interface IAnalogLocator {
    CONST_VTBL IAnalogLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAnalogLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAnalogLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAnalogLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAnalogLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAnalogLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAnalogLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAnalogLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IAnalogLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IAnalogLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IAnalogLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IAnalogLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IAnalogLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IAnalogLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IAnalogLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IAnalogLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IAnalogLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IAnalogLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IAnalogLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IAnalogLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IAnalogLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IAnalogLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IAnalogLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IAnalogLocator methods ***/
#define IAnalogLocator_get_VideoStandard(This,AVS) (This)->lpVtbl->get_VideoStandard(This,AVS)
#define IAnalogLocator_put_VideoStandard(This,AVS) (This)->lpVtbl->put_VideoStandard(This,AVS)
#else
/*** IUnknown methods ***/
static inline HRESULT IAnalogLocator_QueryInterface(IAnalogLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAnalogLocator_AddRef(IAnalogLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAnalogLocator_Release(IAnalogLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAnalogLocator_GetTypeInfoCount(IAnalogLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAnalogLocator_GetTypeInfo(IAnalogLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAnalogLocator_GetIDsOfNames(IAnalogLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAnalogLocator_Invoke(IAnalogLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IAnalogLocator_get_CarrierFrequency(IAnalogLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IAnalogLocator_put_CarrierFrequency(IAnalogLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IAnalogLocator_get_InnerFEC(IAnalogLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IAnalogLocator_put_InnerFEC(IAnalogLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IAnalogLocator_get_InnerFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IAnalogLocator_put_InnerFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IAnalogLocator_get_OuterFEC(IAnalogLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IAnalogLocator_put_OuterFEC(IAnalogLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IAnalogLocator_get_OuterFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IAnalogLocator_put_OuterFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IAnalogLocator_get_Modulation(IAnalogLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IAnalogLocator_put_Modulation(IAnalogLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IAnalogLocator_get_SymbolRate(IAnalogLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IAnalogLocator_put_SymbolRate(IAnalogLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IAnalogLocator_Clone(IAnalogLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IAnalogLocator methods ***/
static inline HRESULT IAnalogLocator_get_VideoStandard(IAnalogLocator* This,AnalogVideoStandard *AVS) {
    return This->lpVtbl->get_VideoStandard(This,AVS);
}
static inline HRESULT IAnalogLocator_put_VideoStandard(IAnalogLocator* This,AnalogVideoStandard AVS) {
    return This->lpVtbl->put_VideoStandard(This,AVS);
}
#endif
#endif

#endif


#endif  /* __IAnalogLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDigitalLocator interface
 */
#ifndef __IDigitalLocator_INTERFACE_DEFINED__
#define __IDigitalLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDigitalLocator, 0x19b595d8, 0x839a, 0x47f0, 0x96,0xdf, 0x4f,0x19,0x4f,0x3c,0x76,0x8c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("19b595d8-839a-47f0-96df-4f194f3c768c")
IDigitalLocator : public ILocator
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDigitalLocator, 0x19b595d8, 0x839a, 0x47f0, 0x96,0xdf, 0x4f,0x19,0x4f,0x3c,0x76,0x8c)
#endif
#else
typedef struct IDigitalLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDigitalLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDigitalLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDigitalLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDigitalLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDigitalLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDigitalLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDigitalLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDigitalLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDigitalLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDigitalLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDigitalLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDigitalLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDigitalLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDigitalLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDigitalLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDigitalLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDigitalLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDigitalLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDigitalLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDigitalLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDigitalLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDigitalLocator *This,
        ILocator **NewLocator);

    END_INTERFACE
} IDigitalLocatorVtbl;

interface IDigitalLocator {
    CONST_VTBL IDigitalLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDigitalLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDigitalLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDigitalLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDigitalLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDigitalLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDigitalLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDigitalLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDigitalLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDigitalLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDigitalLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDigitalLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDigitalLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDigitalLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDigitalLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDigitalLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDigitalLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDigitalLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDigitalLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDigitalLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDigitalLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDigitalLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDigitalLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
#else
/*** IUnknown methods ***/
static inline HRESULT IDigitalLocator_QueryInterface(IDigitalLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDigitalLocator_AddRef(IDigitalLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDigitalLocator_Release(IDigitalLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDigitalLocator_GetTypeInfoCount(IDigitalLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDigitalLocator_GetTypeInfo(IDigitalLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDigitalLocator_GetIDsOfNames(IDigitalLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDigitalLocator_Invoke(IDigitalLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDigitalLocator_get_CarrierFrequency(IDigitalLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDigitalLocator_put_CarrierFrequency(IDigitalLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDigitalLocator_get_InnerFEC(IDigitalLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDigitalLocator_put_InnerFEC(IDigitalLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDigitalLocator_get_InnerFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDigitalLocator_put_InnerFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDigitalLocator_get_OuterFEC(IDigitalLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDigitalLocator_put_OuterFEC(IDigitalLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDigitalLocator_get_OuterFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDigitalLocator_put_OuterFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDigitalLocator_get_Modulation(IDigitalLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDigitalLocator_put_Modulation(IDigitalLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDigitalLocator_get_SymbolRate(IDigitalLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDigitalLocator_put_SymbolRate(IDigitalLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDigitalLocator_Clone(IDigitalLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
#endif
#endif

#endif


#endif  /* __IDigitalLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IATSCLocator interface
 */
#ifndef __IATSCLocator_INTERFACE_DEFINED__
#define __IATSCLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IATSCLocator, 0xbf8d986f, 0x8c2b, 0x4131, 0x94,0xd7, 0x4d,0x3d,0x9f,0xcc,0x21,0xef);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bf8d986f-8c2b-4131-94d7-4d3d9fcc21ef")
IATSCLocator : public IDigitalLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_PhysicalChannel(
        LONG *PhysicalChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_PhysicalChannel(
        LONG PhysicalChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TSID(
        LONG *TSID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_TSID(
        LONG TSID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IATSCLocator, 0xbf8d986f, 0x8c2b, 0x4131, 0x94,0xd7, 0x4d,0x3d,0x9f,0xcc,0x21,0xef)
#endif
#else
typedef struct IATSCLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IATSCLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IATSCLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IATSCLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IATSCLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IATSCLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IATSCLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IATSCLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IATSCLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IATSCLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IATSCLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IATSCLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IATSCLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IATSCLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IATSCLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IATSCLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IATSCLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IATSCLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IATSCLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IATSCLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IATSCLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IATSCLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IATSCLocator *This,
        ILocator **NewLocator);

    /*** IATSCLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)(
        IATSCLocator *This,
        LONG *PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)(
        IATSCLocator *This,
        LONG PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *get_TSID)(
        IATSCLocator *This,
        LONG *TSID);

    HRESULT (STDMETHODCALLTYPE *put_TSID)(
        IATSCLocator *This,
        LONG TSID);

    END_INTERFACE
} IATSCLocatorVtbl;

interface IATSCLocator {
    CONST_VTBL IATSCLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IATSCLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IATSCLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IATSCLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IATSCLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IATSCLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IATSCLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IATSCLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IATSCLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IATSCLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IATSCLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IATSCLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IATSCLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IATSCLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IATSCLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IATSCLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IATSCLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IATSCLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IATSCLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IATSCLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IATSCLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IATSCLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IATSCLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IATSCLocator methods ***/
#define IATSCLocator_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel)
#define IATSCLocator_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel)
#define IATSCLocator_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID)
#define IATSCLocator_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID)
#else
/*** IUnknown methods ***/
static inline HRESULT IATSCLocator_QueryInterface(IATSCLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IATSCLocator_AddRef(IATSCLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IATSCLocator_Release(IATSCLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IATSCLocator_GetTypeInfoCount(IATSCLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IATSCLocator_GetTypeInfo(IATSCLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IATSCLocator_GetIDsOfNames(IATSCLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IATSCLocator_Invoke(IATSCLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IATSCLocator_get_CarrierFrequency(IATSCLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IATSCLocator_put_CarrierFrequency(IATSCLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IATSCLocator_get_InnerFEC(IATSCLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IATSCLocator_put_InnerFEC(IATSCLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IATSCLocator_get_InnerFECRate(IATSCLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IATSCLocator_put_InnerFECRate(IATSCLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IATSCLocator_get_OuterFEC(IATSCLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IATSCLocator_put_OuterFEC(IATSCLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IATSCLocator_get_OuterFECRate(IATSCLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IATSCLocator_put_OuterFECRate(IATSCLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IATSCLocator_get_Modulation(IATSCLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IATSCLocator_put_Modulation(IATSCLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IATSCLocator_get_SymbolRate(IATSCLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IATSCLocator_put_SymbolRate(IATSCLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IATSCLocator_Clone(IATSCLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IATSCLocator methods ***/
static inline HRESULT IATSCLocator_get_PhysicalChannel(IATSCLocator* This,LONG *PhysicalChannel) {
    return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IATSCLocator_put_PhysicalChannel(IATSCLocator* This,LONG PhysicalChannel) {
    return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IATSCLocator_get_TSID(IATSCLocator* This,LONG *TSID) {
    return This->lpVtbl->get_TSID(This,TSID);
}
static inline HRESULT IATSCLocator_put_TSID(IATSCLocator* This,LONG TSID) {
    return This->lpVtbl->put_TSID(This,TSID);
}
#endif
#endif

#endif


#endif  /* __IATSCLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IATSCLocator2 interface
 */
#ifndef __IATSCLocator2_INTERFACE_DEFINED__
#define __IATSCLocator2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IATSCLocator2, 0x612aa885, 0x66cf, 0x4090, 0xba,0x0a, 0x56,0x6f,0x53,0x12,0xe4,0xca);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("612aa885-66cf-4090-ba0a-566f5312e4ca")
IATSCLocator2 : public IATSCLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_ProgramNumber(
        LONG *ProgramNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ProgramNumber(
        LONG ProgramNumber) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IATSCLocator2, 0x612aa885, 0x66cf, 0x4090, 0xba,0x0a, 0x56,0x6f,0x53,0x12,0xe4,0xca)
#endif
#else
typedef struct IATSCLocator2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IATSCLocator2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IATSCLocator2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IATSCLocator2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IATSCLocator2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IATSCLocator2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IATSCLocator2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IATSCLocator2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IATSCLocator2 *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IATSCLocator2 *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IATSCLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IATSCLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IATSCLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IATSCLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IATSCLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IATSCLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IATSCLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IATSCLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IATSCLocator2 *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IATSCLocator2 *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IATSCLocator2 *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IATSCLocator2 *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IATSCLocator2 *This,
        ILocator **NewLocator);

    /*** IATSCLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)(
        IATSCLocator2 *This,
        LONG *PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)(
        IATSCLocator2 *This,
        LONG PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *get_TSID)(
        IATSCLocator2 *This,
        LONG *TSID);

    HRESULT (STDMETHODCALLTYPE *put_TSID)(
        IATSCLocator2 *This,
        LONG TSID);

    /*** IATSCLocator2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)(
        IATSCLocator2 *This,
        LONG *ProgramNumber);

    HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)(
        IATSCLocator2 *This,
        LONG ProgramNumber);

    END_INTERFACE
} IATSCLocator2Vtbl;

interface IATSCLocator2 {
    CONST_VTBL IATSCLocator2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IATSCLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IATSCLocator2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IATSCLocator2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IATSCLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IATSCLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IATSCLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IATSCLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IATSCLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IATSCLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IATSCLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IATSCLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IATSCLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IATSCLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IATSCLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IATSCLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IATSCLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IATSCLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IATSCLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IATSCLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IATSCLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IATSCLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IATSCLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IATSCLocator methods ***/
#define IATSCLocator2_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel)
#define IATSCLocator2_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel)
#define IATSCLocator2_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID)
#define IATSCLocator2_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID)
/*** IATSCLocator2 methods ***/
#define IATSCLocator2_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber)
#define IATSCLocator2_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber)
#else
/*** IUnknown methods ***/
static inline HRESULT IATSCLocator2_QueryInterface(IATSCLocator2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IATSCLocator2_AddRef(IATSCLocator2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IATSCLocator2_Release(IATSCLocator2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IATSCLocator2_GetTypeInfoCount(IATSCLocator2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IATSCLocator2_GetTypeInfo(IATSCLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IATSCLocator2_GetIDsOfNames(IATSCLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IATSCLocator2_Invoke(IATSCLocator2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IATSCLocator2_get_CarrierFrequency(IATSCLocator2* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IATSCLocator2_put_CarrierFrequency(IATSCLocator2* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IATSCLocator2_get_InnerFEC(IATSCLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IATSCLocator2_put_InnerFEC(IATSCLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IATSCLocator2_get_InnerFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IATSCLocator2_put_InnerFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IATSCLocator2_get_OuterFEC(IATSCLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IATSCLocator2_put_OuterFEC(IATSCLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IATSCLocator2_get_OuterFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IATSCLocator2_put_OuterFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IATSCLocator2_get_Modulation(IATSCLocator2* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IATSCLocator2_put_Modulation(IATSCLocator2* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IATSCLocator2_get_SymbolRate(IATSCLocator2* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IATSCLocator2_put_SymbolRate(IATSCLocator2* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IATSCLocator2_Clone(IATSCLocator2* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IATSCLocator methods ***/
static inline HRESULT IATSCLocator2_get_PhysicalChannel(IATSCLocator2* This,LONG *PhysicalChannel) {
    return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IATSCLocator2_put_PhysicalChannel(IATSCLocator2* This,LONG PhysicalChannel) {
    return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IATSCLocator2_get_TSID(IATSCLocator2* This,LONG *TSID) {
    return This->lpVtbl->get_TSID(This,TSID);
}
static inline HRESULT IATSCLocator2_put_TSID(IATSCLocator2* This,LONG TSID) {
    return This->lpVtbl->put_TSID(This,TSID);
}
/*** IATSCLocator2 methods ***/
static inline HRESULT IATSCLocator2_get_ProgramNumber(IATSCLocator2* This,LONG *ProgramNumber) {
    return This->lpVtbl->get_ProgramNumber(This,ProgramNumber);
}
static inline HRESULT IATSCLocator2_put_ProgramNumber(IATSCLocator2* This,LONG ProgramNumber) {
    return This->lpVtbl->put_ProgramNumber(This,ProgramNumber);
}
#endif
#endif

#endif


#endif  /* __IATSCLocator2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDigitalCableLocator interface
 */
#ifndef __IDigitalCableLocator_INTERFACE_DEFINED__
#define __IDigitalCableLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDigitalCableLocator, 0x48f66a11, 0x171a, 0x419a, 0x95,0x25, 0xbe,0xee,0xcd,0x51,0x58,0x4c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("48f66a11-171a-419a-9525-beeecd51584c")
IDigitalCableLocator : public IATSCLocator2
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDigitalCableLocator, 0x48f66a11, 0x171a, 0x419a, 0x95,0x25, 0xbe,0xee,0xcd,0x51,0x58,0x4c)
#endif
#else
typedef struct IDigitalCableLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDigitalCableLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDigitalCableLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDigitalCableLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDigitalCableLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDigitalCableLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDigitalCableLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDigitalCableLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDigitalCableLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDigitalCableLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDigitalCableLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDigitalCableLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDigitalCableLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDigitalCableLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDigitalCableLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDigitalCableLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDigitalCableLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDigitalCableLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDigitalCableLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDigitalCableLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDigitalCableLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDigitalCableLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDigitalCableLocator *This,
        ILocator **NewLocator);

    /*** IATSCLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)(
        IDigitalCableLocator *This,
        LONG *PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)(
        IDigitalCableLocator *This,
        LONG PhysicalChannel);

    HRESULT (STDMETHODCALLTYPE *get_TSID)(
        IDigitalCableLocator *This,
        LONG *TSID);

    HRESULT (STDMETHODCALLTYPE *put_TSID)(
        IDigitalCableLocator *This,
        LONG TSID);

    /*** IATSCLocator2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)(
        IDigitalCableLocator *This,
        LONG *ProgramNumber);

    HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)(
        IDigitalCableLocator *This,
        LONG ProgramNumber);

    END_INTERFACE
} IDigitalCableLocatorVtbl;

interface IDigitalCableLocator {
    CONST_VTBL IDigitalCableLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDigitalCableLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDigitalCableLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDigitalCableLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDigitalCableLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDigitalCableLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDigitalCableLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDigitalCableLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDigitalCableLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDigitalCableLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDigitalCableLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDigitalCableLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDigitalCableLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDigitalCableLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDigitalCableLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDigitalCableLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDigitalCableLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDigitalCableLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDigitalCableLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDigitalCableLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDigitalCableLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDigitalCableLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDigitalCableLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IATSCLocator methods ***/
#define IDigitalCableLocator_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel)
#define IDigitalCableLocator_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel)
#define IDigitalCableLocator_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID)
#define IDigitalCableLocator_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID)
/*** IATSCLocator2 methods ***/
#define IDigitalCableLocator_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber)
#define IDigitalCableLocator_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber)
#else
/*** IUnknown methods ***/
static inline HRESULT IDigitalCableLocator_QueryInterface(IDigitalCableLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDigitalCableLocator_AddRef(IDigitalCableLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDigitalCableLocator_Release(IDigitalCableLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDigitalCableLocator_GetTypeInfoCount(IDigitalCableLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDigitalCableLocator_GetTypeInfo(IDigitalCableLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDigitalCableLocator_GetIDsOfNames(IDigitalCableLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDigitalCableLocator_Invoke(IDigitalCableLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDigitalCableLocator_get_CarrierFrequency(IDigitalCableLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDigitalCableLocator_put_CarrierFrequency(IDigitalCableLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDigitalCableLocator_get_InnerFEC(IDigitalCableLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDigitalCableLocator_put_InnerFEC(IDigitalCableLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDigitalCableLocator_get_InnerFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDigitalCableLocator_put_InnerFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDigitalCableLocator_get_OuterFEC(IDigitalCableLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDigitalCableLocator_put_OuterFEC(IDigitalCableLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDigitalCableLocator_get_OuterFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDigitalCableLocator_put_OuterFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDigitalCableLocator_get_Modulation(IDigitalCableLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDigitalCableLocator_put_Modulation(IDigitalCableLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDigitalCableLocator_get_SymbolRate(IDigitalCableLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDigitalCableLocator_put_SymbolRate(IDigitalCableLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDigitalCableLocator_Clone(IDigitalCableLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IATSCLocator methods ***/
static inline HRESULT IDigitalCableLocator_get_PhysicalChannel(IDigitalCableLocator* This,LONG *PhysicalChannel) {
    return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IDigitalCableLocator_put_PhysicalChannel(IDigitalCableLocator* This,LONG PhysicalChannel) {
    return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel);
}
static inline HRESULT IDigitalCableLocator_get_TSID(IDigitalCableLocator* This,LONG *TSID) {
    return This->lpVtbl->get_TSID(This,TSID);
}
static inline HRESULT IDigitalCableLocator_put_TSID(IDigitalCableLocator* This,LONG TSID) {
    return This->lpVtbl->put_TSID(This,TSID);
}
/*** IATSCLocator2 methods ***/
static inline HRESULT IDigitalCableLocator_get_ProgramNumber(IDigitalCableLocator* This,LONG *ProgramNumber) {
    return This->lpVtbl->get_ProgramNumber(This,ProgramNumber);
}
static inline HRESULT IDigitalCableLocator_put_ProgramNumber(IDigitalCableLocator* This,LONG ProgramNumber) {
    return This->lpVtbl->put_ProgramNumber(This,ProgramNumber);
}
#endif
#endif

#endif


#endif  /* __IDigitalCableLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBTLocator interface
 */
#ifndef __IDVBTLocator_INTERFACE_DEFINED__
#define __IDVBTLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBTLocator, 0x8664da16, 0xdda2, 0x42ac, 0x92,0x6a, 0xc1,0x8f,0x91,0x27,0xc3,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8664da16-dda2-42ac-926a-c18f9127c302")
IDVBTLocator : public IDigitalLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_Bandwidth(
        LONG *BandWidthVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Bandwidth(
        LONG BandwidthVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LPInnerFEC(
        FECMethod *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LPInnerFEC(
        FECMethod FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LPInnerFECRate(
        BinaryConvolutionCodeRate *FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LPInnerFECRate(
        BinaryConvolutionCodeRate FEC) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HAlpha(
        HierarchyAlpha *Alpha) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_HAlpha(
        HierarchyAlpha Alpha) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Guard(
        GuardInterval *GI) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Guard(
        GuardInterval GI) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Mode(
        TransmissionMode *mode) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Mode(
        TransmissionMode mode) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_OtherFrequencyInUse(
        VARIANT_BOOL *OtherFrequencyInUseVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_OtherFrequencyInUse(
        VARIANT_BOOL OtherFrequencyInUseVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBTLocator, 0x8664da16, 0xdda2, 0x42ac, 0x92,0x6a, 0xc1,0x8f,0x91,0x27,0xc3,0x02)
#endif
#else
typedef struct IDVBTLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBTLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBTLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBTLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBTLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBTLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBTLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBTLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDVBTLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDVBTLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDVBTLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDVBTLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDVBTLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDVBTLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDVBTLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDVBTLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDVBTLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDVBTLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBTLocator *This,
        ILocator **NewLocator);

    /*** IDVBTLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Bandwidth)(
        IDVBTLocator *This,
        LONG *BandWidthVal);

    HRESULT (STDMETHODCALLTYPE *put_Bandwidth)(
        IDVBTLocator *This,
        LONG BandwidthVal);

    HRESULT (STDMETHODCALLTYPE *get_LPInnerFEC)(
        IDVBTLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_LPInnerFEC)(
        IDVBTLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_LPInnerFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_LPInnerFECRate)(
        IDVBTLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_HAlpha)(
        IDVBTLocator *This,
        HierarchyAlpha *Alpha);

    HRESULT (STDMETHODCALLTYPE *put_HAlpha)(
        IDVBTLocator *This,
        HierarchyAlpha Alpha);

    HRESULT (STDMETHODCALLTYPE *get_Guard)(
        IDVBTLocator *This,
        GuardInterval *GI);

    HRESULT (STDMETHODCALLTYPE *put_Guard)(
        IDVBTLocator *This,
        GuardInterval GI);

    HRESULT (STDMETHODCALLTYPE *get_Mode)(
        IDVBTLocator *This,
        TransmissionMode *mode);

    HRESULT (STDMETHODCALLTYPE *put_Mode)(
        IDVBTLocator *This,
        TransmissionMode mode);

    HRESULT (STDMETHODCALLTYPE *get_OtherFrequencyInUse)(
        IDVBTLocator *This,
        VARIANT_BOOL *OtherFrequencyInUseVal);

    HRESULT (STDMETHODCALLTYPE *put_OtherFrequencyInUse)(
        IDVBTLocator *This,
        VARIANT_BOOL OtherFrequencyInUseVal);

    END_INTERFACE
} IDVBTLocatorVtbl;

interface IDVBTLocator {
    CONST_VTBL IDVBTLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBTLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBTLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBTLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBTLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBTLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBTLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBTLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDVBTLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDVBTLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDVBTLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDVBTLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDVBTLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDVBTLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDVBTLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDVBTLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDVBTLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDVBTLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDVBTLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDVBTLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDVBTLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDVBTLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDVBTLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IDVBTLocator methods ***/
#define IDVBTLocator_get_Bandwidth(This,BandWidthVal) (This)->lpVtbl->get_Bandwidth(This,BandWidthVal)
#define IDVBTLocator_put_Bandwidth(This,BandwidthVal) (This)->lpVtbl->put_Bandwidth(This,BandwidthVal)
#define IDVBTLocator_get_LPInnerFEC(This,FEC) (This)->lpVtbl->get_LPInnerFEC(This,FEC)
#define IDVBTLocator_put_LPInnerFEC(This,FEC) (This)->lpVtbl->put_LPInnerFEC(This,FEC)
#define IDVBTLocator_get_LPInnerFECRate(This,FEC) (This)->lpVtbl->get_LPInnerFECRate(This,FEC)
#define IDVBTLocator_put_LPInnerFECRate(This,FEC) (This)->lpVtbl->put_LPInnerFECRate(This,FEC)
#define IDVBTLocator_get_HAlpha(This,Alpha) (This)->lpVtbl->get_HAlpha(This,Alpha)
#define IDVBTLocator_put_HAlpha(This,Alpha) (This)->lpVtbl->put_HAlpha(This,Alpha)
#define IDVBTLocator_get_Guard(This,GI) (This)->lpVtbl->get_Guard(This,GI)
#define IDVBTLocator_put_Guard(This,GI) (This)->lpVtbl->put_Guard(This,GI)
#define IDVBTLocator_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode)
#define IDVBTLocator_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
#define IDVBTLocator_get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal)
#define IDVBTLocator_put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBTLocator_QueryInterface(IDVBTLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBTLocator_AddRef(IDVBTLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBTLocator_Release(IDVBTLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBTLocator_GetTypeInfoCount(IDVBTLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBTLocator_GetTypeInfo(IDVBTLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBTLocator_GetIDsOfNames(IDVBTLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBTLocator_Invoke(IDVBTLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDVBTLocator_get_CarrierFrequency(IDVBTLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBTLocator_put_CarrierFrequency(IDVBTLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBTLocator_get_InnerFEC(IDVBTLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_put_InnerFEC(IDVBTLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_get_InnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_put_InnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_get_OuterFEC(IDVBTLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_put_OuterFEC(IDVBTLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_get_OuterFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_put_OuterFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_get_Modulation(IDVBTLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDVBTLocator_put_Modulation(IDVBTLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDVBTLocator_get_SymbolRate(IDVBTLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDVBTLocator_put_SymbolRate(IDVBTLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDVBTLocator_Clone(IDVBTLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IDVBTLocator methods ***/
static inline HRESULT IDVBTLocator_get_Bandwidth(IDVBTLocator* This,LONG *BandWidthVal) {
    return This->lpVtbl->get_Bandwidth(This,BandWidthVal);
}
static inline HRESULT IDVBTLocator_put_Bandwidth(IDVBTLocator* This,LONG BandwidthVal) {
    return This->lpVtbl->put_Bandwidth(This,BandwidthVal);
}
static inline HRESULT IDVBTLocator_get_LPInnerFEC(IDVBTLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_LPInnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_put_LPInnerFEC(IDVBTLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_LPInnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator_get_LPInnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_LPInnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_put_LPInnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_LPInnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator_get_HAlpha(IDVBTLocator* This,HierarchyAlpha *Alpha) {
    return This->lpVtbl->get_HAlpha(This,Alpha);
}
static inline HRESULT IDVBTLocator_put_HAlpha(IDVBTLocator* This,HierarchyAlpha Alpha) {
    return This->lpVtbl->put_HAlpha(This,Alpha);
}
static inline HRESULT IDVBTLocator_get_Guard(IDVBTLocator* This,GuardInterval *GI) {
    return This->lpVtbl->get_Guard(This,GI);
}
static inline HRESULT IDVBTLocator_put_Guard(IDVBTLocator* This,GuardInterval GI) {
    return This->lpVtbl->put_Guard(This,GI);
}
static inline HRESULT IDVBTLocator_get_Mode(IDVBTLocator* This,TransmissionMode *mode) {
    return This->lpVtbl->get_Mode(This,mode);
}
static inline HRESULT IDVBTLocator_put_Mode(IDVBTLocator* This,TransmissionMode mode) {
    return This->lpVtbl->put_Mode(This,mode);
}
static inline HRESULT IDVBTLocator_get_OtherFrequencyInUse(IDVBTLocator* This,VARIANT_BOOL *OtherFrequencyInUseVal) {
    return This->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal);
}
static inline HRESULT IDVBTLocator_put_OtherFrequencyInUse(IDVBTLocator* This,VARIANT_BOOL OtherFrequencyInUseVal) {
    return This->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal);
}
#endif
#endif

#endif


#endif  /* __IDVBTLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBTLocator2 interface
 */
#ifndef __IDVBTLocator2_INTERFACE_DEFINED__
#define __IDVBTLocator2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBTLocator2, 0x448a2edf, 0xae95, 0x4b43, 0xa3,0xcc, 0x74,0x78,0x43,0xc4,0x53,0xd4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("448a2edf-ae95-4b43-a3cc-747843c453d4")
IDVBTLocator2 : public IDVBTLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_PhysicalLayerPipeId(
        LONG *PhysicalLayerPipeIdVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_PhysicalLayerPipeId(
        LONG PhysicalLayerPipeIdVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBTLocator2, 0x448a2edf, 0xae95, 0x4b43, 0xa3,0xcc, 0x74,0x78,0x43,0xc4,0x53,0xd4)
#endif
#else
typedef struct IDVBTLocator2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBTLocator2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBTLocator2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBTLocator2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBTLocator2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBTLocator2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBTLocator2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBTLocator2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDVBTLocator2 *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDVBTLocator2 *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDVBTLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDVBTLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDVBTLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDVBTLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDVBTLocator2 *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDVBTLocator2 *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDVBTLocator2 *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDVBTLocator2 *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBTLocator2 *This,
        ILocator **NewLocator);

    /*** IDVBTLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Bandwidth)(
        IDVBTLocator2 *This,
        LONG *BandWidthVal);

    HRESULT (STDMETHODCALLTYPE *put_Bandwidth)(
        IDVBTLocator2 *This,
        LONG BandwidthVal);

    HRESULT (STDMETHODCALLTYPE *get_LPInnerFEC)(
        IDVBTLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_LPInnerFEC)(
        IDVBTLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_LPInnerFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_LPInnerFECRate)(
        IDVBTLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_HAlpha)(
        IDVBTLocator2 *This,
        HierarchyAlpha *Alpha);

    HRESULT (STDMETHODCALLTYPE *put_HAlpha)(
        IDVBTLocator2 *This,
        HierarchyAlpha Alpha);

    HRESULT (STDMETHODCALLTYPE *get_Guard)(
        IDVBTLocator2 *This,
        GuardInterval *GI);

    HRESULT (STDMETHODCALLTYPE *put_Guard)(
        IDVBTLocator2 *This,
        GuardInterval GI);

    HRESULT (STDMETHODCALLTYPE *get_Mode)(
        IDVBTLocator2 *This,
        TransmissionMode *mode);

    HRESULT (STDMETHODCALLTYPE *put_Mode)(
        IDVBTLocator2 *This,
        TransmissionMode mode);

    HRESULT (STDMETHODCALLTYPE *get_OtherFrequencyInUse)(
        IDVBTLocator2 *This,
        VARIANT_BOOL *OtherFrequencyInUseVal);

    HRESULT (STDMETHODCALLTYPE *put_OtherFrequencyInUse)(
        IDVBTLocator2 *This,
        VARIANT_BOOL OtherFrequencyInUseVal);

    /*** IDVBTLocator2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PhysicalLayerPipeId)(
        IDVBTLocator2 *This,
        LONG *PhysicalLayerPipeIdVal);

    HRESULT (STDMETHODCALLTYPE *put_PhysicalLayerPipeId)(
        IDVBTLocator2 *This,
        LONG PhysicalLayerPipeIdVal);

    END_INTERFACE
} IDVBTLocator2Vtbl;

interface IDVBTLocator2 {
    CONST_VTBL IDVBTLocator2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBTLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBTLocator2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBTLocator2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBTLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBTLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBTLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBTLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDVBTLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDVBTLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDVBTLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDVBTLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDVBTLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDVBTLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDVBTLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDVBTLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDVBTLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDVBTLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDVBTLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDVBTLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDVBTLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDVBTLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDVBTLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IDVBTLocator methods ***/
#define IDVBTLocator2_get_Bandwidth(This,BandWidthVal) (This)->lpVtbl->get_Bandwidth(This,BandWidthVal)
#define IDVBTLocator2_put_Bandwidth(This,BandwidthVal) (This)->lpVtbl->put_Bandwidth(This,BandwidthVal)
#define IDVBTLocator2_get_LPInnerFEC(This,FEC) (This)->lpVtbl->get_LPInnerFEC(This,FEC)
#define IDVBTLocator2_put_LPInnerFEC(This,FEC) (This)->lpVtbl->put_LPInnerFEC(This,FEC)
#define IDVBTLocator2_get_LPInnerFECRate(This,FEC) (This)->lpVtbl->get_LPInnerFECRate(This,FEC)
#define IDVBTLocator2_put_LPInnerFECRate(This,FEC) (This)->lpVtbl->put_LPInnerFECRate(This,FEC)
#define IDVBTLocator2_get_HAlpha(This,Alpha) (This)->lpVtbl->get_HAlpha(This,Alpha)
#define IDVBTLocator2_put_HAlpha(This,Alpha) (This)->lpVtbl->put_HAlpha(This,Alpha)
#define IDVBTLocator2_get_Guard(This,GI) (This)->lpVtbl->get_Guard(This,GI)
#define IDVBTLocator2_put_Guard(This,GI) (This)->lpVtbl->put_Guard(This,GI)
#define IDVBTLocator2_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode)
#define IDVBTLocator2_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
#define IDVBTLocator2_get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal)
#define IDVBTLocator2_put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal)
/*** IDVBTLocator2 methods ***/
#define IDVBTLocator2_get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) (This)->lpVtbl->get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal)
#define IDVBTLocator2_put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) (This)->lpVtbl->put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBTLocator2_QueryInterface(IDVBTLocator2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBTLocator2_AddRef(IDVBTLocator2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBTLocator2_Release(IDVBTLocator2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBTLocator2_GetTypeInfoCount(IDVBTLocator2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBTLocator2_GetTypeInfo(IDVBTLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBTLocator2_GetIDsOfNames(IDVBTLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBTLocator2_Invoke(IDVBTLocator2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDVBTLocator2_get_CarrierFrequency(IDVBTLocator2* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBTLocator2_put_CarrierFrequency(IDVBTLocator2* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBTLocator2_get_InnerFEC(IDVBTLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_InnerFEC(IDVBTLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_InnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_InnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_OuterFEC(IDVBTLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_OuterFEC(IDVBTLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_OuterFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_OuterFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_Modulation(IDVBTLocator2* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDVBTLocator2_put_Modulation(IDVBTLocator2* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDVBTLocator2_get_SymbolRate(IDVBTLocator2* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDVBTLocator2_put_SymbolRate(IDVBTLocator2* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDVBTLocator2_Clone(IDVBTLocator2* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IDVBTLocator methods ***/
static inline HRESULT IDVBTLocator2_get_Bandwidth(IDVBTLocator2* This,LONG *BandWidthVal) {
    return This->lpVtbl->get_Bandwidth(This,BandWidthVal);
}
static inline HRESULT IDVBTLocator2_put_Bandwidth(IDVBTLocator2* This,LONG BandwidthVal) {
    return This->lpVtbl->put_Bandwidth(This,BandwidthVal);
}
static inline HRESULT IDVBTLocator2_get_LPInnerFEC(IDVBTLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_LPInnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_LPInnerFEC(IDVBTLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_LPInnerFEC(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_LPInnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_LPInnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_put_LPInnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_LPInnerFECRate(This,FEC);
}
static inline HRESULT IDVBTLocator2_get_HAlpha(IDVBTLocator2* This,HierarchyAlpha *Alpha) {
    return This->lpVtbl->get_HAlpha(This,Alpha);
}
static inline HRESULT IDVBTLocator2_put_HAlpha(IDVBTLocator2* This,HierarchyAlpha Alpha) {
    return This->lpVtbl->put_HAlpha(This,Alpha);
}
static inline HRESULT IDVBTLocator2_get_Guard(IDVBTLocator2* This,GuardInterval *GI) {
    return This->lpVtbl->get_Guard(This,GI);
}
static inline HRESULT IDVBTLocator2_put_Guard(IDVBTLocator2* This,GuardInterval GI) {
    return This->lpVtbl->put_Guard(This,GI);
}
static inline HRESULT IDVBTLocator2_get_Mode(IDVBTLocator2* This,TransmissionMode *mode) {
    return This->lpVtbl->get_Mode(This,mode);
}
static inline HRESULT IDVBTLocator2_put_Mode(IDVBTLocator2* This,TransmissionMode mode) {
    return This->lpVtbl->put_Mode(This,mode);
}
static inline HRESULT IDVBTLocator2_get_OtherFrequencyInUse(IDVBTLocator2* This,VARIANT_BOOL *OtherFrequencyInUseVal) {
    return This->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal);
}
static inline HRESULT IDVBTLocator2_put_OtherFrequencyInUse(IDVBTLocator2* This,VARIANT_BOOL OtherFrequencyInUseVal) {
    return This->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal);
}
/*** IDVBTLocator2 methods ***/
static inline HRESULT IDVBTLocator2_get_PhysicalLayerPipeId(IDVBTLocator2* This,LONG *PhysicalLayerPipeIdVal) {
    return This->lpVtbl->get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal);
}
static inline HRESULT IDVBTLocator2_put_PhysicalLayerPipeId(IDVBTLocator2* This,LONG PhysicalLayerPipeIdVal) {
    return This->lpVtbl->put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal);
}
#endif
#endif

#endif


#endif  /* __IDVBTLocator2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBSLocator interface
 */
#ifndef __IDVBSLocator_INTERFACE_DEFINED__
#define __IDVBSLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBSLocator, 0x3d7c353c, 0x0d04, 0x45f1, 0xa7,0x42, 0xf9,0x7c,0xc1,0x18,0x8d,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3d7c353c-0d04-45f1-a742-f97cc1188dc8")
IDVBSLocator : public IDigitalLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_SignalPolarisation(
        Polarisation *PolarisationVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SignalPolarisation(
        Polarisation PolarisationVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_WestPosition(
        VARIANT_BOOL *WestLongitude) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_WestPosition(
        VARIANT_BOOL WestLongitude) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_OrbitalPosition(
        LONG *longitude) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_OrbitalPosition(
        LONG longitude) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Azimuth(
        LONG *Azimuth) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Azimuth(
        LONG Azimuth) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Elevation(
        LONG *Elevation) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Elevation(
        LONG Elevation) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBSLocator, 0x3d7c353c, 0x0d04, 0x45f1, 0xa7,0x42, 0xf9,0x7c,0xc1,0x18,0x8d,0xc8)
#endif
#else
typedef struct IDVBSLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBSLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBSLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBSLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBSLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBSLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBSLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBSLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDVBSLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDVBSLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDVBSLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDVBSLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDVBSLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDVBSLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDVBSLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDVBSLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDVBSLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDVBSLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDVBSLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDVBSLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDVBSLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDVBSLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBSLocator *This,
        ILocator **NewLocator);

    /*** IDVBSLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)(
        IDVBSLocator *This,
        Polarisation *PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)(
        IDVBSLocator *This,
        Polarisation PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *get_WestPosition)(
        IDVBSLocator *This,
        VARIANT_BOOL *WestLongitude);

    HRESULT (STDMETHODCALLTYPE *put_WestPosition)(
        IDVBSLocator *This,
        VARIANT_BOOL WestLongitude);

    HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)(
        IDVBSLocator *This,
        LONG *longitude);

    HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)(
        IDVBSLocator *This,
        LONG longitude);

    HRESULT (STDMETHODCALLTYPE *get_Azimuth)(
        IDVBSLocator *This,
        LONG *Azimuth);

    HRESULT (STDMETHODCALLTYPE *put_Azimuth)(
        IDVBSLocator *This,
        LONG Azimuth);

    HRESULT (STDMETHODCALLTYPE *get_Elevation)(
        IDVBSLocator *This,
        LONG *Elevation);

    HRESULT (STDMETHODCALLTYPE *put_Elevation)(
        IDVBSLocator *This,
        LONG Elevation);

    END_INTERFACE
} IDVBSLocatorVtbl;

interface IDVBSLocator {
    CONST_VTBL IDVBSLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBSLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBSLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBSLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBSLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBSLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBSLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBSLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDVBSLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDVBSLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDVBSLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDVBSLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDVBSLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDVBSLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDVBSLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDVBSLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDVBSLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDVBSLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDVBSLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDVBSLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDVBSLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDVBSLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDVBSLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IDVBSLocator methods ***/
#define IDVBSLocator_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal)
#define IDVBSLocator_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal)
#define IDVBSLocator_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude)
#define IDVBSLocator_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude)
#define IDVBSLocator_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude)
#define IDVBSLocator_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude)
#define IDVBSLocator_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth)
#define IDVBSLocator_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth)
#define IDVBSLocator_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation)
#define IDVBSLocator_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBSLocator_QueryInterface(IDVBSLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBSLocator_AddRef(IDVBSLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBSLocator_Release(IDVBSLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBSLocator_GetTypeInfoCount(IDVBSLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBSLocator_GetTypeInfo(IDVBSLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBSLocator_GetIDsOfNames(IDVBSLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBSLocator_Invoke(IDVBSLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDVBSLocator_get_CarrierFrequency(IDVBSLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBSLocator_put_CarrierFrequency(IDVBSLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBSLocator_get_InnerFEC(IDVBSLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDVBSLocator_put_InnerFEC(IDVBSLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDVBSLocator_get_InnerFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator_put_InnerFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator_get_OuterFEC(IDVBSLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDVBSLocator_put_OuterFEC(IDVBSLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDVBSLocator_get_OuterFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator_put_OuterFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator_get_Modulation(IDVBSLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDVBSLocator_put_Modulation(IDVBSLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDVBSLocator_get_SymbolRate(IDVBSLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDVBSLocator_put_SymbolRate(IDVBSLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDVBSLocator_Clone(IDVBSLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IDVBSLocator methods ***/
static inline HRESULT IDVBSLocator_get_SignalPolarisation(IDVBSLocator* This,Polarisation *PolarisationVal) {
    return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IDVBSLocator_put_SignalPolarisation(IDVBSLocator* This,Polarisation PolarisationVal) {
    return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IDVBSLocator_get_WestPosition(IDVBSLocator* This,VARIANT_BOOL *WestLongitude) {
    return This->lpVtbl->get_WestPosition(This,WestLongitude);
}
static inline HRESULT IDVBSLocator_put_WestPosition(IDVBSLocator* This,VARIANT_BOOL WestLongitude) {
    return This->lpVtbl->put_WestPosition(This,WestLongitude);
}
static inline HRESULT IDVBSLocator_get_OrbitalPosition(IDVBSLocator* This,LONG *longitude) {
    return This->lpVtbl->get_OrbitalPosition(This,longitude);
}
static inline HRESULT IDVBSLocator_put_OrbitalPosition(IDVBSLocator* This,LONG longitude) {
    return This->lpVtbl->put_OrbitalPosition(This,longitude);
}
static inline HRESULT IDVBSLocator_get_Azimuth(IDVBSLocator* This,LONG *Azimuth) {
    return This->lpVtbl->get_Azimuth(This,Azimuth);
}
static inline HRESULT IDVBSLocator_put_Azimuth(IDVBSLocator* This,LONG Azimuth) {
    return This->lpVtbl->put_Azimuth(This,Azimuth);
}
static inline HRESULT IDVBSLocator_get_Elevation(IDVBSLocator* This,LONG *Elevation) {
    return This->lpVtbl->get_Elevation(This,Elevation);
}
static inline HRESULT IDVBSLocator_put_Elevation(IDVBSLocator* This,LONG Elevation) {
    return This->lpVtbl->put_Elevation(This,Elevation);
}
#endif
#endif

#endif


#endif  /* __IDVBSLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBSLocator2 interface
 */
#ifndef __IDVBSLocator2_INTERFACE_DEFINED__
#define __IDVBSLocator2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBSLocator2, 0x6044634a, 0x1733, 0x4f99, 0xb9,0x82, 0x5f,0xb1,0x2a,0xfc,0xe4,0xf0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6044634a-1733-4f99-b982-5fb12afce4f0")
IDVBSLocator2 : public IDVBSLocator
{
    virtual HRESULT STDMETHODCALLTYPE get_DiseqLNBSource(
        LNB_Source *DiseqLNBSourceVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_DiseqLNBSource(
        LNB_Source DiseqLNBSourceVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LocalOscillatorOverrideLow(
        LONG *LocalOscillatorOverrideLowVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LocalOscillatorOverrideLow(
        LONG LocalOscillatorOverrideLowVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LocalOscillatorOverrideHigh(
        LONG *LocalOscillatorOverrideHighVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LocalOscillatorOverrideHigh(
        LONG LocalOscillatorOverrideHighVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LocalLNBSwitchOverride(
        LONG *LocalLNBSwitchOverrideVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LocalLNBSwitchOverride(
        LONG LocalLNBSwitchOverrideVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_LocalSpectralInversionOverride(
        SpectralInversion *LocalSpectralInversionOverrideVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_LocalSpectralInversionOverride(
        SpectralInversion LocalSpectralInversionOverrideVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SignalRollOff(
        RollOff *RollOffVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SignalRollOff(
        RollOff RollOffVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SignalPilot(
        Pilot *PilotVal) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SignalPilot(
        Pilot PilotVal) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBSLocator2, 0x6044634a, 0x1733, 0x4f99, 0xb9,0x82, 0x5f,0xb1,0x2a,0xfc,0xe4,0xf0)
#endif
#else
typedef struct IDVBSLocator2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBSLocator2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBSLocator2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBSLocator2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBSLocator2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBSLocator2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBSLocator2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBSLocator2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDVBSLocator2 *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDVBSLocator2 *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDVBSLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDVBSLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDVBSLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDVBSLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDVBSLocator2 *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDVBSLocator2 *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDVBSLocator2 *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDVBSLocator2 *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDVBSLocator2 *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDVBSLocator2 *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDVBSLocator2 *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDVBSLocator2 *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBSLocator2 *This,
        ILocator **NewLocator);

    /*** IDVBSLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)(
        IDVBSLocator2 *This,
        Polarisation *PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)(
        IDVBSLocator2 *This,
        Polarisation PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *get_WestPosition)(
        IDVBSLocator2 *This,
        VARIANT_BOOL *WestLongitude);

    HRESULT (STDMETHODCALLTYPE *put_WestPosition)(
        IDVBSLocator2 *This,
        VARIANT_BOOL WestLongitude);

    HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)(
        IDVBSLocator2 *This,
        LONG *longitude);

    HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)(
        IDVBSLocator2 *This,
        LONG longitude);

    HRESULT (STDMETHODCALLTYPE *get_Azimuth)(
        IDVBSLocator2 *This,
        LONG *Azimuth);

    HRESULT (STDMETHODCALLTYPE *put_Azimuth)(
        IDVBSLocator2 *This,
        LONG Azimuth);

    HRESULT (STDMETHODCALLTYPE *get_Elevation)(
        IDVBSLocator2 *This,
        LONG *Elevation);

    HRESULT (STDMETHODCALLTYPE *put_Elevation)(
        IDVBSLocator2 *This,
        LONG Elevation);

    /*** IDVBSLocator2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_DiseqLNBSource)(
        IDVBSLocator2 *This,
        LNB_Source *DiseqLNBSourceVal);

    HRESULT (STDMETHODCALLTYPE *put_DiseqLNBSource)(
        IDVBSLocator2 *This,
        LNB_Source DiseqLNBSourceVal);

    HRESULT (STDMETHODCALLTYPE *get_LocalOscillatorOverrideLow)(
        IDVBSLocator2 *This,
        LONG *LocalOscillatorOverrideLowVal);

    HRESULT (STDMETHODCALLTYPE *put_LocalOscillatorOverrideLow)(
        IDVBSLocator2 *This,
        LONG LocalOscillatorOverrideLowVal);

    HRESULT (STDMETHODCALLTYPE *get_LocalOscillatorOverrideHigh)(
        IDVBSLocator2 *This,
        LONG *LocalOscillatorOverrideHighVal);

    HRESULT (STDMETHODCALLTYPE *put_LocalOscillatorOverrideHigh)(
        IDVBSLocator2 *This,
        LONG LocalOscillatorOverrideHighVal);

    HRESULT (STDMETHODCALLTYPE *get_LocalLNBSwitchOverride)(
        IDVBSLocator2 *This,
        LONG *LocalLNBSwitchOverrideVal);

    HRESULT (STDMETHODCALLTYPE *put_LocalLNBSwitchOverride)(
        IDVBSLocator2 *This,
        LONG LocalLNBSwitchOverrideVal);

    HRESULT (STDMETHODCALLTYPE *get_LocalSpectralInversionOverride)(
        IDVBSLocator2 *This,
        SpectralInversion *LocalSpectralInversionOverrideVal);

    HRESULT (STDMETHODCALLTYPE *put_LocalSpectralInversionOverride)(
        IDVBSLocator2 *This,
        SpectralInversion LocalSpectralInversionOverrideVal);

    HRESULT (STDMETHODCALLTYPE *get_SignalRollOff)(
        IDVBSLocator2 *This,
        RollOff *RollOffVal);

    HRESULT (STDMETHODCALLTYPE *put_SignalRollOff)(
        IDVBSLocator2 *This,
        RollOff RollOffVal);

    HRESULT (STDMETHODCALLTYPE *get_SignalPilot)(
        IDVBSLocator2 *This,
        Pilot *PilotVal);

    HRESULT (STDMETHODCALLTYPE *put_SignalPilot)(
        IDVBSLocator2 *This,
        Pilot PilotVal);

    END_INTERFACE
} IDVBSLocator2Vtbl;

interface IDVBSLocator2 {
    CONST_VTBL IDVBSLocator2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBSLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBSLocator2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBSLocator2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBSLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBSLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBSLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBSLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDVBSLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDVBSLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDVBSLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDVBSLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDVBSLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDVBSLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDVBSLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDVBSLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDVBSLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDVBSLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDVBSLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDVBSLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDVBSLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDVBSLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDVBSLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IDVBSLocator methods ***/
#define IDVBSLocator2_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal)
#define IDVBSLocator2_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal)
#define IDVBSLocator2_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude)
#define IDVBSLocator2_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude)
#define IDVBSLocator2_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude)
#define IDVBSLocator2_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude)
#define IDVBSLocator2_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth)
#define IDVBSLocator2_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth)
#define IDVBSLocator2_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation)
#define IDVBSLocator2_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation)
/*** IDVBSLocator2 methods ***/
#define IDVBSLocator2_get_DiseqLNBSource(This,DiseqLNBSourceVal) (This)->lpVtbl->get_DiseqLNBSource(This,DiseqLNBSourceVal)
#define IDVBSLocator2_put_DiseqLNBSource(This,DiseqLNBSourceVal) (This)->lpVtbl->put_DiseqLNBSource(This,DiseqLNBSourceVal)
#define IDVBSLocator2_get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) (This)->lpVtbl->get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal)
#define IDVBSLocator2_put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) (This)->lpVtbl->put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal)
#define IDVBSLocator2_get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) (This)->lpVtbl->get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal)
#define IDVBSLocator2_put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) (This)->lpVtbl->put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal)
#define IDVBSLocator2_get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) (This)->lpVtbl->get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal)
#define IDVBSLocator2_put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) (This)->lpVtbl->put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal)
#define IDVBSLocator2_get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) (This)->lpVtbl->get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal)
#define IDVBSLocator2_put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) (This)->lpVtbl->put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal)
#define IDVBSLocator2_get_SignalRollOff(This,RollOffVal) (This)->lpVtbl->get_SignalRollOff(This,RollOffVal)
#define IDVBSLocator2_put_SignalRollOff(This,RollOffVal) (This)->lpVtbl->put_SignalRollOff(This,RollOffVal)
#define IDVBSLocator2_get_SignalPilot(This,PilotVal) (This)->lpVtbl->get_SignalPilot(This,PilotVal)
#define IDVBSLocator2_put_SignalPilot(This,PilotVal) (This)->lpVtbl->put_SignalPilot(This,PilotVal)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBSLocator2_QueryInterface(IDVBSLocator2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBSLocator2_AddRef(IDVBSLocator2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBSLocator2_Release(IDVBSLocator2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBSLocator2_GetTypeInfoCount(IDVBSLocator2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBSLocator2_GetTypeInfo(IDVBSLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBSLocator2_GetIDsOfNames(IDVBSLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBSLocator2_Invoke(IDVBSLocator2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDVBSLocator2_get_CarrierFrequency(IDVBSLocator2* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBSLocator2_put_CarrierFrequency(IDVBSLocator2* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBSLocator2_get_InnerFEC(IDVBSLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDVBSLocator2_put_InnerFEC(IDVBSLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDVBSLocator2_get_InnerFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator2_put_InnerFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator2_get_OuterFEC(IDVBSLocator2* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDVBSLocator2_put_OuterFEC(IDVBSLocator2* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDVBSLocator2_get_OuterFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator2_put_OuterFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBSLocator2_get_Modulation(IDVBSLocator2* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDVBSLocator2_put_Modulation(IDVBSLocator2* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDVBSLocator2_get_SymbolRate(IDVBSLocator2* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDVBSLocator2_put_SymbolRate(IDVBSLocator2* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDVBSLocator2_Clone(IDVBSLocator2* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IDVBSLocator methods ***/
static inline HRESULT IDVBSLocator2_get_SignalPolarisation(IDVBSLocator2* This,Polarisation *PolarisationVal) {
    return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IDVBSLocator2_put_SignalPolarisation(IDVBSLocator2* This,Polarisation PolarisationVal) {
    return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IDVBSLocator2_get_WestPosition(IDVBSLocator2* This,VARIANT_BOOL *WestLongitude) {
    return This->lpVtbl->get_WestPosition(This,WestLongitude);
}
static inline HRESULT IDVBSLocator2_put_WestPosition(IDVBSLocator2* This,VARIANT_BOOL WestLongitude) {
    return This->lpVtbl->put_WestPosition(This,WestLongitude);
}
static inline HRESULT IDVBSLocator2_get_OrbitalPosition(IDVBSLocator2* This,LONG *longitude) {
    return This->lpVtbl->get_OrbitalPosition(This,longitude);
}
static inline HRESULT IDVBSLocator2_put_OrbitalPosition(IDVBSLocator2* This,LONG longitude) {
    return This->lpVtbl->put_OrbitalPosition(This,longitude);
}
static inline HRESULT IDVBSLocator2_get_Azimuth(IDVBSLocator2* This,LONG *Azimuth) {
    return This->lpVtbl->get_Azimuth(This,Azimuth);
}
static inline HRESULT IDVBSLocator2_put_Azimuth(IDVBSLocator2* This,LONG Azimuth) {
    return This->lpVtbl->put_Azimuth(This,Azimuth);
}
static inline HRESULT IDVBSLocator2_get_Elevation(IDVBSLocator2* This,LONG *Elevation) {
    return This->lpVtbl->get_Elevation(This,Elevation);
}
static inline HRESULT IDVBSLocator2_put_Elevation(IDVBSLocator2* This,LONG Elevation) {
    return This->lpVtbl->put_Elevation(This,Elevation);
}
/*** IDVBSLocator2 methods ***/
static inline HRESULT IDVBSLocator2_get_DiseqLNBSource(IDVBSLocator2* This,LNB_Source *DiseqLNBSourceVal) {
    return This->lpVtbl->get_DiseqLNBSource(This,DiseqLNBSourceVal);
}
static inline HRESULT IDVBSLocator2_put_DiseqLNBSource(IDVBSLocator2* This,LNB_Source DiseqLNBSourceVal) {
    return This->lpVtbl->put_DiseqLNBSource(This,DiseqLNBSourceVal);
}
static inline HRESULT IDVBSLocator2_get_LocalOscillatorOverrideLow(IDVBSLocator2* This,LONG *LocalOscillatorOverrideLowVal) {
    return This->lpVtbl->get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal);
}
static inline HRESULT IDVBSLocator2_put_LocalOscillatorOverrideLow(IDVBSLocator2* This,LONG LocalOscillatorOverrideLowVal) {
    return This->lpVtbl->put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal);
}
static inline HRESULT IDVBSLocator2_get_LocalOscillatorOverrideHigh(IDVBSLocator2* This,LONG *LocalOscillatorOverrideHighVal) {
    return This->lpVtbl->get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal);
}
static inline HRESULT IDVBSLocator2_put_LocalOscillatorOverrideHigh(IDVBSLocator2* This,LONG LocalOscillatorOverrideHighVal) {
    return This->lpVtbl->put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal);
}
static inline HRESULT IDVBSLocator2_get_LocalLNBSwitchOverride(IDVBSLocator2* This,LONG *LocalLNBSwitchOverrideVal) {
    return This->lpVtbl->get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal);
}
static inline HRESULT IDVBSLocator2_put_LocalLNBSwitchOverride(IDVBSLocator2* This,LONG LocalLNBSwitchOverrideVal) {
    return This->lpVtbl->put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal);
}
static inline HRESULT IDVBSLocator2_get_LocalSpectralInversionOverride(IDVBSLocator2* This,SpectralInversion *LocalSpectralInversionOverrideVal) {
    return This->lpVtbl->get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal);
}
static inline HRESULT IDVBSLocator2_put_LocalSpectralInversionOverride(IDVBSLocator2* This,SpectralInversion LocalSpectralInversionOverrideVal) {
    return This->lpVtbl->put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal);
}
static inline HRESULT IDVBSLocator2_get_SignalRollOff(IDVBSLocator2* This,RollOff *RollOffVal) {
    return This->lpVtbl->get_SignalRollOff(This,RollOffVal);
}
static inline HRESULT IDVBSLocator2_put_SignalRollOff(IDVBSLocator2* This,RollOff RollOffVal) {
    return This->lpVtbl->put_SignalRollOff(This,RollOffVal);
}
static inline HRESULT IDVBSLocator2_get_SignalPilot(IDVBSLocator2* This,Pilot *PilotVal) {
    return This->lpVtbl->get_SignalPilot(This,PilotVal);
}
static inline HRESULT IDVBSLocator2_put_SignalPilot(IDVBSLocator2* This,Pilot PilotVal) {
    return This->lpVtbl->put_SignalPilot(This,PilotVal);
}
#endif
#endif

#endif


#endif  /* __IDVBSLocator2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDVBCLocator interface
 */
#ifndef __IDVBCLocator_INTERFACE_DEFINED__
#define __IDVBCLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDVBCLocator, 0x6e42f36e, 0x1dd2, 0x43c4, 0x9f,0x78, 0x69,0xd2,0x5a,0xe3,0x90,0x34);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6e42f36e-1dd2-43c4-9f78-69d25ae39034")
IDVBCLocator : public IDigitalLocator
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDVBCLocator, 0x6e42f36e, 0x1dd2, 0x43c4, 0x9f,0x78, 0x69,0xd2,0x5a,0xe3,0x90,0x34)
#endif
#else
typedef struct IDVBCLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDVBCLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDVBCLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDVBCLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDVBCLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDVBCLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDVBCLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDVBCLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IDVBCLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IDVBCLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IDVBCLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IDVBCLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IDVBCLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IDVBCLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IDVBCLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IDVBCLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IDVBCLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IDVBCLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IDVBCLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IDVBCLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IDVBCLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IDVBCLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IDVBCLocator *This,
        ILocator **NewLocator);

    END_INTERFACE
} IDVBCLocatorVtbl;

interface IDVBCLocator {
    CONST_VTBL IDVBCLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDVBCLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDVBCLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDVBCLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDVBCLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDVBCLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDVBCLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDVBCLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IDVBCLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IDVBCLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IDVBCLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IDVBCLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IDVBCLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IDVBCLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IDVBCLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IDVBCLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IDVBCLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IDVBCLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IDVBCLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IDVBCLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IDVBCLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IDVBCLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IDVBCLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
#else
/*** IUnknown methods ***/
static inline HRESULT IDVBCLocator_QueryInterface(IDVBCLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDVBCLocator_AddRef(IDVBCLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDVBCLocator_Release(IDVBCLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDVBCLocator_GetTypeInfoCount(IDVBCLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDVBCLocator_GetTypeInfo(IDVBCLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDVBCLocator_GetIDsOfNames(IDVBCLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDVBCLocator_Invoke(IDVBCLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IDVBCLocator_get_CarrierFrequency(IDVBCLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBCLocator_put_CarrierFrequency(IDVBCLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IDVBCLocator_get_InnerFEC(IDVBCLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IDVBCLocator_put_InnerFEC(IDVBCLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IDVBCLocator_get_InnerFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBCLocator_put_InnerFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IDVBCLocator_get_OuterFEC(IDVBCLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IDVBCLocator_put_OuterFEC(IDVBCLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IDVBCLocator_get_OuterFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBCLocator_put_OuterFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IDVBCLocator_get_Modulation(IDVBCLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IDVBCLocator_put_Modulation(IDVBCLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IDVBCLocator_get_SymbolRate(IDVBCLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IDVBCLocator_put_SymbolRate(IDVBCLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IDVBCLocator_Clone(IDVBCLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
#endif
#endif

#endif


#endif  /* __IDVBCLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IISDBSLocator interface
 */
#ifndef __IISDBSLocator_INTERFACE_DEFINED__
#define __IISDBSLocator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IISDBSLocator, 0xc9897087, 0xe29c, 0x473f, 0x9e,0x4b, 0x70,0x72,0x12,0x3d,0xea,0x14);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c9897087-e29c-473f-9e4b-7072123dea14")
IISDBSLocator : public IDVBSLocator
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IISDBSLocator, 0xc9897087, 0xe29c, 0x473f, 0x9e,0x4b, 0x70,0x72,0x12,0x3d,0xea,0x14)
#endif
#else
typedef struct IISDBSLocatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IISDBSLocator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IISDBSLocator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IISDBSLocator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IISDBSLocator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IISDBSLocator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IISDBSLocator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IISDBSLocator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ILocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)(
        IISDBSLocator *This,
        LONG *Frequency);

    HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)(
        IISDBSLocator *This,
        LONG Frequency);

    HRESULT (STDMETHODCALLTYPE *get_InnerFEC)(
        IISDBSLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFEC)(
        IISDBSLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
        IISDBSLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
        IISDBSLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFEC)(
        IISDBSLocator *This,
        FECMethod *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFEC)(
        IISDBSLocator *This,
        FECMethod FEC);

    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
        IISDBSLocator *This,
        BinaryConvolutionCodeRate *FEC);

    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
        IISDBSLocator *This,
        BinaryConvolutionCodeRate FEC);

    HRESULT (STDMETHODCALLTYPE *get_Modulation)(
        IISDBSLocator *This,
        ModulationType *Modulation);

    HRESULT (STDMETHODCALLTYPE *put_Modulation)(
        IISDBSLocator *This,
        ModulationType Modulation);

    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
        IISDBSLocator *This,
        LONG *Rate);

    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
        IISDBSLocator *This,
        LONG Rate);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IISDBSLocator *This,
        ILocator **NewLocator);

    /*** IDVBSLocator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)(
        IISDBSLocator *This,
        Polarisation *PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)(
        IISDBSLocator *This,
        Polarisation PolarisationVal);

    HRESULT (STDMETHODCALLTYPE *get_WestPosition)(
        IISDBSLocator *This,
        VARIANT_BOOL *WestLongitude);

    HRESULT (STDMETHODCALLTYPE *put_WestPosition)(
        IISDBSLocator *This,
        VARIANT_BOOL WestLongitude);

    HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)(
        IISDBSLocator *This,
        LONG *longitude);

    HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)(
        IISDBSLocator *This,
        LONG longitude);

    HRESULT (STDMETHODCALLTYPE *get_Azimuth)(
        IISDBSLocator *This,
        LONG *Azimuth);

    HRESULT (STDMETHODCALLTYPE *put_Azimuth)(
        IISDBSLocator *This,
        LONG Azimuth);

    HRESULT (STDMETHODCALLTYPE *get_Elevation)(
        IISDBSLocator *This,
        LONG *Elevation);

    HRESULT (STDMETHODCALLTYPE *put_Elevation)(
        IISDBSLocator *This,
        LONG Elevation);

    END_INTERFACE
} IISDBSLocatorVtbl;

interface IISDBSLocator {
    CONST_VTBL IISDBSLocatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IISDBSLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IISDBSLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IISDBSLocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IISDBSLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IISDBSLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IISDBSLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IISDBSLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ILocator methods ***/
#define IISDBSLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency)
#define IISDBSLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency)
#define IISDBSLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC)
#define IISDBSLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC)
#define IISDBSLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC)
#define IISDBSLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC)
#define IISDBSLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC)
#define IISDBSLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC)
#define IISDBSLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC)
#define IISDBSLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC)
#define IISDBSLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation)
#define IISDBSLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation)
#define IISDBSLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate)
#define IISDBSLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate)
#define IISDBSLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator)
/*** IDVBSLocator methods ***/
#define IISDBSLocator_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal)
#define IISDBSLocator_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal)
#define IISDBSLocator_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude)
#define IISDBSLocator_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude)
#define IISDBSLocator_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude)
#define IISDBSLocator_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude)
#define IISDBSLocator_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth)
#define IISDBSLocator_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth)
#define IISDBSLocator_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation)
#define IISDBSLocator_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation)
#else
/*** IUnknown methods ***/
static inline HRESULT IISDBSLocator_QueryInterface(IISDBSLocator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IISDBSLocator_AddRef(IISDBSLocator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IISDBSLocator_Release(IISDBSLocator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IISDBSLocator_GetTypeInfoCount(IISDBSLocator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IISDBSLocator_GetTypeInfo(IISDBSLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IISDBSLocator_GetIDsOfNames(IISDBSLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IISDBSLocator_Invoke(IISDBSLocator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ILocator methods ***/
static inline HRESULT IISDBSLocator_get_CarrierFrequency(IISDBSLocator* This,LONG *Frequency) {
    return This->lpVtbl->get_CarrierFrequency(This,Frequency);
}
static inline HRESULT IISDBSLocator_put_CarrierFrequency(IISDBSLocator* This,LONG Frequency) {
    return This->lpVtbl->put_CarrierFrequency(This,Frequency);
}
static inline HRESULT IISDBSLocator_get_InnerFEC(IISDBSLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_InnerFEC(This,FEC);
}
static inline HRESULT IISDBSLocator_put_InnerFEC(IISDBSLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_InnerFEC(This,FEC);
}
static inline HRESULT IISDBSLocator_get_InnerFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_InnerFECRate(This,FEC);
}
static inline HRESULT IISDBSLocator_put_InnerFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_InnerFECRate(This,FEC);
}
static inline HRESULT IISDBSLocator_get_OuterFEC(IISDBSLocator* This,FECMethod *FEC) {
    return This->lpVtbl->get_OuterFEC(This,FEC);
}
static inline HRESULT IISDBSLocator_put_OuterFEC(IISDBSLocator* This,FECMethod FEC) {
    return This->lpVtbl->put_OuterFEC(This,FEC);
}
static inline HRESULT IISDBSLocator_get_OuterFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate *FEC) {
    return This->lpVtbl->get_OuterFECRate(This,FEC);
}
static inline HRESULT IISDBSLocator_put_OuterFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate FEC) {
    return This->lpVtbl->put_OuterFECRate(This,FEC);
}
static inline HRESULT IISDBSLocator_get_Modulation(IISDBSLocator* This,ModulationType *Modulation) {
    return This->lpVtbl->get_Modulation(This,Modulation);
}
static inline HRESULT IISDBSLocator_put_Modulation(IISDBSLocator* This,ModulationType Modulation) {
    return This->lpVtbl->put_Modulation(This,Modulation);
}
static inline HRESULT IISDBSLocator_get_SymbolRate(IISDBSLocator* This,LONG *Rate) {
    return This->lpVtbl->get_SymbolRate(This,Rate);
}
static inline HRESULT IISDBSLocator_put_SymbolRate(IISDBSLocator* This,LONG Rate) {
    return This->lpVtbl->put_SymbolRate(This,Rate);
}
static inline HRESULT IISDBSLocator_Clone(IISDBSLocator* This,ILocator **NewLocator) {
    return This->lpVtbl->Clone(This,NewLocator);
}
/*** IDVBSLocator methods ***/
static inline HRESULT IISDBSLocator_get_SignalPolarisation(IISDBSLocator* This,Polarisation *PolarisationVal) {
    return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IISDBSLocator_put_SignalPolarisation(IISDBSLocator* This,Polarisation PolarisationVal) {
    return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal);
}
static inline HRESULT IISDBSLocator_get_WestPosition(IISDBSLocator* This,VARIANT_BOOL *WestLongitude) {
    return This->lpVtbl->get_WestPosition(This,WestLongitude);
}
static inline HRESULT IISDBSLocator_put_WestPosition(IISDBSLocator* This,VARIANT_BOOL WestLongitude) {
    return This->lpVtbl->put_WestPosition(This,WestLongitude);
}
static inline HRESULT IISDBSLocator_get_OrbitalPosition(IISDBSLocator* This,LONG *longitude) {
    return This->lpVtbl->get_OrbitalPosition(This,longitude);
}
static inline HRESULT IISDBSLocator_put_OrbitalPosition(IISDBSLocator* This,LONG longitude) {
    return This->lpVtbl->put_OrbitalPosition(This,longitude);
}
static inline HRESULT IISDBSLocator_get_Azimuth(IISDBSLocator* This,LONG *Azimuth) {
    return This->lpVtbl->get_Azimuth(This,Azimuth);
}
static inline HRESULT IISDBSLocator_put_Azimuth(IISDBSLocator* This,LONG Azimuth) {
    return This->lpVtbl->put_Azimuth(This,Azimuth);
}
static inline HRESULT IISDBSLocator_get_Elevation(IISDBSLocator* This,LONG *Elevation) {
    return This->lpVtbl->get_Elevation(This,Elevation);
}
static inline HRESULT IISDBSLocator_put_Elevation(IISDBSLocator* This,LONG Elevation) {
    return This->lpVtbl->put_Elevation(This,Elevation);
}
#endif
#endif

#endif


#endif  /* __IISDBSLocator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESEvent interface
 */
#ifndef __IESEvent_INTERFACE_DEFINED__
#define __IESEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESEvent, 0x1f0e5357, 0xaf43, 0x44e6, 0x85,0x47, 0x65,0x4c,0x64,0x51,0x45,0xd2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1f0e5357-af43-44e6-8547-654c645145d2")
IESEvent : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetEventId(
        DWORD *pdwEventId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEventType(
        GUID *pguidEventType) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCompletionStatus(
        DWORD dwResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetData(
        SAFEARRAY **pbData) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetStringData(
        BSTR *pbstrData) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESEvent, 0x1f0e5357, 0xaf43, 0x44e6, 0x85,0x47, 0x65,0x4c,0x64,0x51,0x45,0xd2)
#endif
#else
typedef struct IESEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESEvent *This,
        BSTR *pbstrData);

    END_INTERFACE
} IESEventVtbl;

interface IESEvent {
    CONST_VTBL IESEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
#else
/*** IUnknown methods ***/
static inline HRESULT IESEvent_QueryInterface(IESEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESEvent_AddRef(IESEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESEvent_Release(IESEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESEvent_GetEventId(IESEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESEvent_GetEventType(IESEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESEvent_SetCompletionStatus(IESEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESEvent_GetData(IESEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESEvent_GetStringData(IESEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
#endif
#endif

#endif


#endif  /* __IESEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESOpenMmiEvent interface
 */
#ifndef __IESOpenMmiEvent_INTERFACE_DEFINED__
#define __IESOpenMmiEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESOpenMmiEvent, 0xba4b6526, 0x1a35, 0x4635, 0x8b,0x56, 0x3e,0xc6,0x12,0x74,0x6a,0x8c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ba4b6526-1a35-4635-8b56-3ec612746a8c")
IESOpenMmiEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetDialogNumber(
        DWORD *pDialogRequest,
        DWORD *pDialogNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDialogType(
        GUID *guidDialogType) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDialogData(
        SAFEARRAY **pbData) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDialogStringData(
        BSTR *pbstrBaseUrl,
        BSTR *pbstrData) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESOpenMmiEvent, 0xba4b6526, 0x1a35, 0x4635, 0x8b,0x56, 0x3e,0xc6,0x12,0x74,0x6a,0x8c)
#endif
#else
typedef struct IESOpenMmiEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESOpenMmiEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESOpenMmiEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESOpenMmiEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESOpenMmiEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESOpenMmiEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESOpenMmiEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESOpenMmiEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESOpenMmiEvent *This,
        BSTR *pbstrData);

    /*** IESOpenMmiEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDialogNumber)(
        IESOpenMmiEvent *This,
        DWORD *pDialogRequest,
        DWORD *pDialogNumber);

    HRESULT (STDMETHODCALLTYPE *GetDialogType)(
        IESOpenMmiEvent *This,
        GUID *guidDialogType);

    HRESULT (STDMETHODCALLTYPE *GetDialogData)(
        IESOpenMmiEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetDialogStringData)(
        IESOpenMmiEvent *This,
        BSTR *pbstrBaseUrl,
        BSTR *pbstrData);

    END_INTERFACE
} IESOpenMmiEventVtbl;

interface IESOpenMmiEvent {
    CONST_VTBL IESOpenMmiEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESOpenMmiEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESOpenMmiEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESOpenMmiEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESOpenMmiEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESOpenMmiEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESOpenMmiEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESOpenMmiEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESOpenMmiEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESOpenMmiEvent methods ***/
#define IESOpenMmiEvent_GetDialogNumber(This,pDialogRequest,pDialogNumber) (This)->lpVtbl->GetDialogNumber(This,pDialogRequest,pDialogNumber)
#define IESOpenMmiEvent_GetDialogType(This,guidDialogType) (This)->lpVtbl->GetDialogType(This,guidDialogType)
#define IESOpenMmiEvent_GetDialogData(This,pbData) (This)->lpVtbl->GetDialogData(This,pbData)
#define IESOpenMmiEvent_GetDialogStringData(This,pbstrBaseUrl,pbstrData) (This)->lpVtbl->GetDialogStringData(This,pbstrBaseUrl,pbstrData)
#else
/*** IUnknown methods ***/
static inline HRESULT IESOpenMmiEvent_QueryInterface(IESOpenMmiEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESOpenMmiEvent_AddRef(IESOpenMmiEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESOpenMmiEvent_Release(IESOpenMmiEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESOpenMmiEvent_GetEventId(IESOpenMmiEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESOpenMmiEvent_GetEventType(IESOpenMmiEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESOpenMmiEvent_SetCompletionStatus(IESOpenMmiEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESOpenMmiEvent_GetData(IESOpenMmiEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESOpenMmiEvent_GetStringData(IESOpenMmiEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESOpenMmiEvent methods ***/
static inline HRESULT IESOpenMmiEvent_GetDialogNumber(IESOpenMmiEvent* This,DWORD *pDialogRequest,DWORD *pDialogNumber) {
    return This->lpVtbl->GetDialogNumber(This,pDialogRequest,pDialogNumber);
}
static inline HRESULT IESOpenMmiEvent_GetDialogType(IESOpenMmiEvent* This,GUID *guidDialogType) {
    return This->lpVtbl->GetDialogType(This,guidDialogType);
}
static inline HRESULT IESOpenMmiEvent_GetDialogData(IESOpenMmiEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetDialogData(This,pbData);
}
static inline HRESULT IESOpenMmiEvent_GetDialogStringData(IESOpenMmiEvent* This,BSTR *pbstrBaseUrl,BSTR *pbstrData) {
    return This->lpVtbl->GetDialogStringData(This,pbstrBaseUrl,pbstrData);
}
#endif
#endif

#endif


#endif  /* __IESOpenMmiEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESCloseMmiEvent interface
 */
#ifndef __IESCloseMmiEvent_INTERFACE_DEFINED__
#define __IESCloseMmiEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESCloseMmiEvent, 0x6b80e96f, 0x55e2, 0x45aa, 0xb7,0x54, 0x0c,0x23,0xc8,0xe7,0xd5,0xc1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6b80e96f-55e2-45aa-b754-0c23c8e7d5c1")
IESCloseMmiEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetDialogNumber(
        DWORD *pDialogNumber) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESCloseMmiEvent, 0x6b80e96f, 0x55e2, 0x45aa, 0xb7,0x54, 0x0c,0x23,0xc8,0xe7,0xd5,0xc1)
#endif
#else
typedef struct IESCloseMmiEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESCloseMmiEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESCloseMmiEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESCloseMmiEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESCloseMmiEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESCloseMmiEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESCloseMmiEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESCloseMmiEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESCloseMmiEvent *This,
        BSTR *pbstrData);

    /*** IESCloseMmiEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDialogNumber)(
        IESCloseMmiEvent *This,
        DWORD *pDialogNumber);

    END_INTERFACE
} IESCloseMmiEventVtbl;

interface IESCloseMmiEvent {
    CONST_VTBL IESCloseMmiEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESCloseMmiEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESCloseMmiEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESCloseMmiEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESCloseMmiEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESCloseMmiEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESCloseMmiEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESCloseMmiEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESCloseMmiEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESCloseMmiEvent methods ***/
#define IESCloseMmiEvent_GetDialogNumber(This,pDialogNumber) (This)->lpVtbl->GetDialogNumber(This,pDialogNumber)
#else
/*** IUnknown methods ***/
static inline HRESULT IESCloseMmiEvent_QueryInterface(IESCloseMmiEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESCloseMmiEvent_AddRef(IESCloseMmiEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESCloseMmiEvent_Release(IESCloseMmiEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESCloseMmiEvent_GetEventId(IESCloseMmiEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESCloseMmiEvent_GetEventType(IESCloseMmiEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESCloseMmiEvent_SetCompletionStatus(IESCloseMmiEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESCloseMmiEvent_GetData(IESCloseMmiEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESCloseMmiEvent_GetStringData(IESCloseMmiEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESCloseMmiEvent methods ***/
static inline HRESULT IESCloseMmiEvent_GetDialogNumber(IESCloseMmiEvent* This,DWORD *pDialogNumber) {
    return This->lpVtbl->GetDialogNumber(This,pDialogNumber);
}
#endif
#endif

#endif


#endif  /* __IESCloseMmiEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESValueUpdatedEvent interface
 */
#ifndef __IESValueUpdatedEvent_INTERFACE_DEFINED__
#define __IESValueUpdatedEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESValueUpdatedEvent, 0x8a24c46e, 0xbb63, 0x4664, 0x86,0x02, 0x5d,0x9c,0x71,0x8c,0x14,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8a24c46e-bb63-4664-8602-5d9c718c146d")
IESValueUpdatedEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetValueNames(
        SAFEARRAY **pbstrNames) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESValueUpdatedEvent, 0x8a24c46e, 0xbb63, 0x4664, 0x86,0x02, 0x5d,0x9c,0x71,0x8c,0x14,0x6d)
#endif
#else
typedef struct IESValueUpdatedEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESValueUpdatedEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESValueUpdatedEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESValueUpdatedEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESValueUpdatedEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESValueUpdatedEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESValueUpdatedEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESValueUpdatedEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESValueUpdatedEvent *This,
        BSTR *pbstrData);

    /*** IESValueUpdatedEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetValueNames)(
        IESValueUpdatedEvent *This,
        SAFEARRAY **pbstrNames);

    END_INTERFACE
} IESValueUpdatedEventVtbl;

interface IESValueUpdatedEvent {
    CONST_VTBL IESValueUpdatedEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESValueUpdatedEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESValueUpdatedEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESValueUpdatedEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESValueUpdatedEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESValueUpdatedEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESValueUpdatedEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESValueUpdatedEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESValueUpdatedEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESValueUpdatedEvent methods ***/
#define IESValueUpdatedEvent_GetValueNames(This,pbstrNames) (This)->lpVtbl->GetValueNames(This,pbstrNames)
#else
/*** IUnknown methods ***/
static inline HRESULT IESValueUpdatedEvent_QueryInterface(IESValueUpdatedEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESValueUpdatedEvent_AddRef(IESValueUpdatedEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESValueUpdatedEvent_Release(IESValueUpdatedEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESValueUpdatedEvent_GetEventId(IESValueUpdatedEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESValueUpdatedEvent_GetEventType(IESValueUpdatedEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESValueUpdatedEvent_SetCompletionStatus(IESValueUpdatedEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESValueUpdatedEvent_GetData(IESValueUpdatedEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESValueUpdatedEvent_GetStringData(IESValueUpdatedEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESValueUpdatedEvent methods ***/
static inline HRESULT IESValueUpdatedEvent_GetValueNames(IESValueUpdatedEvent* This,SAFEARRAY **pbstrNames) {
    return This->lpVtbl->GetValueNames(This,pbstrNames);
}
#endif
#endif

#endif


#endif  /* __IESValueUpdatedEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESRequestTunerEvent interface
 */
#ifndef __IESRequestTunerEvent_INTERFACE_DEFINED__
#define __IESRequestTunerEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESRequestTunerEvent, 0x54c7a5e8, 0xc3bb, 0x4f51, 0xaf,0x14, 0xe0,0xe2,0xc0,0xe3,0x4c,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("54c7a5e8-c3bb-4f51-af14-e0e2c0e34c6d")
IESRequestTunerEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetPriority(
        BYTE *pbyPriority) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetReason(
        BYTE *pbyReason) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetConsequences(
        BYTE *pbyConsequences) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEstimatedTime(
        DWORD *pdwEstimatedTime) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESRequestTunerEvent, 0x54c7a5e8, 0xc3bb, 0x4f51, 0xaf,0x14, 0xe0,0xe2,0xc0,0xe3,0x4c,0x6d)
#endif
#else
typedef struct IESRequestTunerEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESRequestTunerEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESRequestTunerEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESRequestTunerEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESRequestTunerEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESRequestTunerEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESRequestTunerEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESRequestTunerEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESRequestTunerEvent *This,
        BSTR *pbstrData);

    /*** IESRequestTunerEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPriority)(
        IESRequestTunerEvent *This,
        BYTE *pbyPriority);

    HRESULT (STDMETHODCALLTYPE *GetReason)(
        IESRequestTunerEvent *This,
        BYTE *pbyReason);

    HRESULT (STDMETHODCALLTYPE *GetConsequences)(
        IESRequestTunerEvent *This,
        BYTE *pbyConsequences);

    HRESULT (STDMETHODCALLTYPE *GetEstimatedTime)(
        IESRequestTunerEvent *This,
        DWORD *pdwEstimatedTime);

    END_INTERFACE
} IESRequestTunerEventVtbl;

interface IESRequestTunerEvent {
    CONST_VTBL IESRequestTunerEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESRequestTunerEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESRequestTunerEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESRequestTunerEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESRequestTunerEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESRequestTunerEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESRequestTunerEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESRequestTunerEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESRequestTunerEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESRequestTunerEvent methods ***/
#define IESRequestTunerEvent_GetPriority(This,pbyPriority) (This)->lpVtbl->GetPriority(This,pbyPriority)
#define IESRequestTunerEvent_GetReason(This,pbyReason) (This)->lpVtbl->GetReason(This,pbyReason)
#define IESRequestTunerEvent_GetConsequences(This,pbyConsequences) (This)->lpVtbl->GetConsequences(This,pbyConsequences)
#define IESRequestTunerEvent_GetEstimatedTime(This,pdwEstimatedTime) (This)->lpVtbl->GetEstimatedTime(This,pdwEstimatedTime)
#else
/*** IUnknown methods ***/
static inline HRESULT IESRequestTunerEvent_QueryInterface(IESRequestTunerEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESRequestTunerEvent_AddRef(IESRequestTunerEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESRequestTunerEvent_Release(IESRequestTunerEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESRequestTunerEvent_GetEventId(IESRequestTunerEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESRequestTunerEvent_GetEventType(IESRequestTunerEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESRequestTunerEvent_SetCompletionStatus(IESRequestTunerEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESRequestTunerEvent_GetData(IESRequestTunerEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESRequestTunerEvent_GetStringData(IESRequestTunerEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESRequestTunerEvent methods ***/
static inline HRESULT IESRequestTunerEvent_GetPriority(IESRequestTunerEvent* This,BYTE *pbyPriority) {
    return This->lpVtbl->GetPriority(This,pbyPriority);
}
static inline HRESULT IESRequestTunerEvent_GetReason(IESRequestTunerEvent* This,BYTE *pbyReason) {
    return This->lpVtbl->GetReason(This,pbyReason);
}
static inline HRESULT IESRequestTunerEvent_GetConsequences(IESRequestTunerEvent* This,BYTE *pbyConsequences) {
    return This->lpVtbl->GetConsequences(This,pbyConsequences);
}
static inline HRESULT IESRequestTunerEvent_GetEstimatedTime(IESRequestTunerEvent* This,DWORD *pdwEstimatedTime) {
    return This->lpVtbl->GetEstimatedTime(This,pdwEstimatedTime);
}
#endif
#endif

#endif


#endif  /* __IESRequestTunerEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESIsdbCasResponseEvent interface
 */
#ifndef __IESIsdbCasResponseEvent_INTERFACE_DEFINED__
#define __IESIsdbCasResponseEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESIsdbCasResponseEvent, 0x2017cb03, 0xdc0f, 0x4c24, 0x83,0xca, 0x36,0x30,0x7b,0x2c,0xd1,0x9f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2017cb03-dc0f-4c24-83ca-36307b2cd19f")
IESIsdbCasResponseEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetRequestId(
        DWORD *pRequestId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetStatus(
        DWORD *pStatus) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDataLength(
        DWORD *pRequestLength) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetResponseData(
        SAFEARRAY **pbData) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESIsdbCasResponseEvent, 0x2017cb03, 0xdc0f, 0x4c24, 0x83,0xca, 0x36,0x30,0x7b,0x2c,0xd1,0x9f)
#endif
#else
typedef struct IESIsdbCasResponseEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESIsdbCasResponseEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESIsdbCasResponseEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESIsdbCasResponseEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESIsdbCasResponseEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESIsdbCasResponseEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESIsdbCasResponseEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESIsdbCasResponseEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESIsdbCasResponseEvent *This,
        BSTR *pbstrData);

    /*** IESIsdbCasResponseEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetRequestId)(
        IESIsdbCasResponseEvent *This,
        DWORD *pRequestId);

    HRESULT (STDMETHODCALLTYPE *GetStatus)(
        IESIsdbCasResponseEvent *This,
        DWORD *pStatus);

    HRESULT (STDMETHODCALLTYPE *GetDataLength)(
        IESIsdbCasResponseEvent *This,
        DWORD *pRequestLength);

    HRESULT (STDMETHODCALLTYPE *GetResponseData)(
        IESIsdbCasResponseEvent *This,
        SAFEARRAY **pbData);

    END_INTERFACE
} IESIsdbCasResponseEventVtbl;

interface IESIsdbCasResponseEvent {
    CONST_VTBL IESIsdbCasResponseEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESIsdbCasResponseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESIsdbCasResponseEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESIsdbCasResponseEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESIsdbCasResponseEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESIsdbCasResponseEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESIsdbCasResponseEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESIsdbCasResponseEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESIsdbCasResponseEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESIsdbCasResponseEvent methods ***/
#define IESIsdbCasResponseEvent_GetRequestId(This,pRequestId) (This)->lpVtbl->GetRequestId(This,pRequestId)
#define IESIsdbCasResponseEvent_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
#define IESIsdbCasResponseEvent_GetDataLength(This,pRequestLength) (This)->lpVtbl->GetDataLength(This,pRequestLength)
#define IESIsdbCasResponseEvent_GetResponseData(This,pbData) (This)->lpVtbl->GetResponseData(This,pbData)
#else
/*** IUnknown methods ***/
static inline HRESULT IESIsdbCasResponseEvent_QueryInterface(IESIsdbCasResponseEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESIsdbCasResponseEvent_AddRef(IESIsdbCasResponseEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESIsdbCasResponseEvent_Release(IESIsdbCasResponseEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESIsdbCasResponseEvent_GetEventId(IESIsdbCasResponseEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESIsdbCasResponseEvent_GetEventType(IESIsdbCasResponseEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESIsdbCasResponseEvent_SetCompletionStatus(IESIsdbCasResponseEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESIsdbCasResponseEvent_GetData(IESIsdbCasResponseEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESIsdbCasResponseEvent_GetStringData(IESIsdbCasResponseEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESIsdbCasResponseEvent methods ***/
static inline HRESULT IESIsdbCasResponseEvent_GetRequestId(IESIsdbCasResponseEvent* This,DWORD *pRequestId) {
    return This->lpVtbl->GetRequestId(This,pRequestId);
}
static inline HRESULT IESIsdbCasResponseEvent_GetStatus(IESIsdbCasResponseEvent* This,DWORD *pStatus) {
    return This->lpVtbl->GetStatus(This,pStatus);
}
static inline HRESULT IESIsdbCasResponseEvent_GetDataLength(IESIsdbCasResponseEvent* This,DWORD *pRequestLength) {
    return This->lpVtbl->GetDataLength(This,pRequestLength);
}
static inline HRESULT IESIsdbCasResponseEvent_GetResponseData(IESIsdbCasResponseEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetResponseData(This,pbData);
}
#endif
#endif

#endif


#endif  /* __IESIsdbCasResponseEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IGpnvsCommonBase interface
 */
#ifndef __IGpnvsCommonBase_INTERFACE_DEFINED__
#define __IGpnvsCommonBase_INTERFACE_DEFINED__

DEFINE_GUID(IID_IGpnvsCommonBase, 0x907e0b5c, 0xe42d, 0x4f04, 0x91,0xf0, 0x26,0xf4,0x01,0xf3,0x69,0x07);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("907e0b5c-e42d-4f04-91f0-26f401f36907")
IGpnvsCommonBase : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetValueUpdateName(
        BSTR *pbstrName) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IGpnvsCommonBase, 0x907e0b5c, 0xe42d, 0x4f04, 0x91,0xf0, 0x26,0xf4,0x01,0xf3,0x69,0x07)
#endif
#else
typedef struct IGpnvsCommonBaseVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IGpnvsCommonBase *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IGpnvsCommonBase *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IGpnvsCommonBase *This);

    /*** IGpnvsCommonBase methods ***/
    HRESULT (STDMETHODCALLTYPE *GetValueUpdateName)(
        IGpnvsCommonBase *This,
        BSTR *pbstrName);

    END_INTERFACE
} IGpnvsCommonBaseVtbl;

interface IGpnvsCommonBase {
    CONST_VTBL IGpnvsCommonBaseVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IGpnvsCommonBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IGpnvsCommonBase_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IGpnvsCommonBase_Release(This) (This)->lpVtbl->Release(This)
/*** IGpnvsCommonBase methods ***/
#define IGpnvsCommonBase_GetValueUpdateName(This,pbstrName) (This)->lpVtbl->GetValueUpdateName(This,pbstrName)
#else
/*** IUnknown methods ***/
static inline HRESULT IGpnvsCommonBase_QueryInterface(IGpnvsCommonBase* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IGpnvsCommonBase_AddRef(IGpnvsCommonBase* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IGpnvsCommonBase_Release(IGpnvsCommonBase* This) {
    return This->lpVtbl->Release(This);
}
/*** IGpnvsCommonBase methods ***/
static inline HRESULT IGpnvsCommonBase_GetValueUpdateName(IGpnvsCommonBase* This,BSTR *pbstrName) {
    return This->lpVtbl->GetValueUpdateName(This,pbstrName);
}
#endif
#endif

#endif


#endif  /* __IGpnvsCommonBase_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESEventFactory interface
 */
#ifndef __IESEventFactory_INTERFACE_DEFINED__
#define __IESEventFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESEventFactory, 0x506a09b8, 0x7f86, 0x4e04, 0xac,0x05, 0x33,0x03,0xbf,0xe8,0xfc,0x49);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("506a09b8-7f86-4e04-ac05-3303bfe8fc49")
IESEventFactory : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateESEvent(
        IUnknown *pServiceProvider,
        DWORD dwEventId,
        GUID guidEventType,
        DWORD dwEventDataLength,
        BYTE *pEventData,
        BSTR bstrBaseUrl,
        IUnknown *pInitContext,
        IESEvent **ppESEvent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESEventFactory, 0x506a09b8, 0x7f86, 0x4e04, 0xac,0x05, 0x33,0x03,0xbf,0xe8,0xfc,0x49)
#endif
#else
typedef struct IESEventFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESEventFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESEventFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESEventFactory *This);

    /*** IESEventFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateESEvent)(
        IESEventFactory *This,
        IUnknown *pServiceProvider,
        DWORD dwEventId,
        GUID guidEventType,
        DWORD dwEventDataLength,
        BYTE *pEventData,
        BSTR bstrBaseUrl,
        IUnknown *pInitContext,
        IESEvent **ppESEvent);

    END_INTERFACE
} IESEventFactoryVtbl;

interface IESEventFactory {
    CONST_VTBL IESEventFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESEventFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESEventFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESEventFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IESEventFactory methods ***/
#define IESEventFactory_CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent) (This)->lpVtbl->CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent)
#else
/*** IUnknown methods ***/
static inline HRESULT IESEventFactory_QueryInterface(IESEventFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESEventFactory_AddRef(IESEventFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESEventFactory_Release(IESEventFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEventFactory methods ***/
static inline HRESULT IESEventFactory_CreateESEvent(IESEventFactory* This,IUnknown *pServiceProvider,DWORD dwEventId,GUID guidEventType,DWORD dwEventDataLength,BYTE *pEventData,BSTR bstrBaseUrl,IUnknown *pInitContext,IESEvent **ppESEvent) {
    return This->lpVtbl->CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent);
}
#endif
#endif

#endif


#endif  /* __IESEventFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESLicenseRenewalResultEvent interface
 */
#ifndef __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__
#define __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESLicenseRenewalResultEvent, 0xd5a48ef5, 0xa81b, 0x4df0, 0xac,0xaa, 0x5e,0x35,0xe7,0xea,0x45,0xd4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d5a48ef5-a81b-4df0-acaa-5e35e7ea45d4")
IESLicenseRenewalResultEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetCallersId(
        DWORD *pdwCallersId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFileName(
        BSTR *pbstrFilename) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRenewalSuccessful(
        WINBOOL *pfRenewalSuccessful) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsCheckEntitlementCallRequired(
        WINBOOL *pfCheckEntTokenCallNeeded) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDescrambledStatus(
        DWORD *pDescrambledStatus) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetRenewalResultCode(
        DWORD *pdwRenewalResultCode) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCASFailureCode(
        DWORD *pdwCASFailureCode) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetRenewalHResult(
        HRESULT *phr) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEntitlementTokenLength(
        DWORD *pdwLength) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEntitlementToken(
        SAFEARRAY **pbData) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetExpiryDate(
        DWORD64 *pqwExpiryDate) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESLicenseRenewalResultEvent, 0xd5a48ef5, 0xa81b, 0x4df0, 0xac,0xaa, 0x5e,0x35,0xe7,0xea,0x45,0xd4)
#endif
#else
typedef struct IESLicenseRenewalResultEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESLicenseRenewalResultEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESLicenseRenewalResultEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESLicenseRenewalResultEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESLicenseRenewalResultEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESLicenseRenewalResultEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESLicenseRenewalResultEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESLicenseRenewalResultEvent *This,
        BSTR *pbstrData);

    /*** IESLicenseRenewalResultEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetCallersId)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pdwCallersId);

    HRESULT (STDMETHODCALLTYPE *GetFileName)(
        IESLicenseRenewalResultEvent *This,
        BSTR *pbstrFilename);

    HRESULT (STDMETHODCALLTYPE *IsRenewalSuccessful)(
        IESLicenseRenewalResultEvent *This,
        WINBOOL *pfRenewalSuccessful);

    HRESULT (STDMETHODCALLTYPE *IsCheckEntitlementCallRequired)(
        IESLicenseRenewalResultEvent *This,
        WINBOOL *pfCheckEntTokenCallNeeded);

    HRESULT (STDMETHODCALLTYPE *GetDescrambledStatus)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pDescrambledStatus);

    HRESULT (STDMETHODCALLTYPE *GetRenewalResultCode)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pdwRenewalResultCode);

    HRESULT (STDMETHODCALLTYPE *GetCASFailureCode)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pdwCASFailureCode);

    HRESULT (STDMETHODCALLTYPE *GetRenewalHResult)(
        IESLicenseRenewalResultEvent *This,
        HRESULT *phr);

    HRESULT (STDMETHODCALLTYPE *GetEntitlementTokenLength)(
        IESLicenseRenewalResultEvent *This,
        DWORD *pdwLength);

    HRESULT (STDMETHODCALLTYPE *GetEntitlementToken)(
        IESLicenseRenewalResultEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetExpiryDate)(
        IESLicenseRenewalResultEvent *This,
        DWORD64 *pqwExpiryDate);

    END_INTERFACE
} IESLicenseRenewalResultEventVtbl;

interface IESLicenseRenewalResultEvent {
    CONST_VTBL IESLicenseRenewalResultEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESLicenseRenewalResultEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESLicenseRenewalResultEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESLicenseRenewalResultEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESLicenseRenewalResultEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESLicenseRenewalResultEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESLicenseRenewalResultEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESLicenseRenewalResultEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESLicenseRenewalResultEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESLicenseRenewalResultEvent methods ***/
#define IESLicenseRenewalResultEvent_GetCallersId(This,pdwCallersId) (This)->lpVtbl->GetCallersId(This,pdwCallersId)
#define IESLicenseRenewalResultEvent_GetFileName(This,pbstrFilename) (This)->lpVtbl->GetFileName(This,pbstrFilename)
#define IESLicenseRenewalResultEvent_IsRenewalSuccessful(This,pfRenewalSuccessful) (This)->lpVtbl->IsRenewalSuccessful(This,pfRenewalSuccessful)
#define IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded) (This)->lpVtbl->IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded)
#define IESLicenseRenewalResultEvent_GetDescrambledStatus(This,pDescrambledStatus) (This)->lpVtbl->GetDescrambledStatus(This,pDescrambledStatus)
#define IESLicenseRenewalResultEvent_GetRenewalResultCode(This,pdwRenewalResultCode) (This)->lpVtbl->GetRenewalResultCode(This,pdwRenewalResultCode)
#define IESLicenseRenewalResultEvent_GetCASFailureCode(This,pdwCASFailureCode) (This)->lpVtbl->GetCASFailureCode(This,pdwCASFailureCode)
#define IESLicenseRenewalResultEvent_GetRenewalHResult(This,phr) (This)->lpVtbl->GetRenewalHResult(This,phr)
#define IESLicenseRenewalResultEvent_GetEntitlementTokenLength(This,pdwLength) (This)->lpVtbl->GetEntitlementTokenLength(This,pdwLength)
#define IESLicenseRenewalResultEvent_GetEntitlementToken(This,pbData) (This)->lpVtbl->GetEntitlementToken(This,pbData)
#define IESLicenseRenewalResultEvent_GetExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetExpiryDate(This,pqwExpiryDate)
#else
/*** IUnknown methods ***/
static inline HRESULT IESLicenseRenewalResultEvent_QueryInterface(IESLicenseRenewalResultEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESLicenseRenewalResultEvent_AddRef(IESLicenseRenewalResultEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESLicenseRenewalResultEvent_Release(IESLicenseRenewalResultEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESLicenseRenewalResultEvent_GetEventId(IESLicenseRenewalResultEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetEventType(IESLicenseRenewalResultEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESLicenseRenewalResultEvent_SetCompletionStatus(IESLicenseRenewalResultEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetData(IESLicenseRenewalResultEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetStringData(IESLicenseRenewalResultEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESLicenseRenewalResultEvent methods ***/
static inline HRESULT IESLicenseRenewalResultEvent_GetCallersId(IESLicenseRenewalResultEvent* This,DWORD *pdwCallersId) {
    return This->lpVtbl->GetCallersId(This,pdwCallersId);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetFileName(IESLicenseRenewalResultEvent* This,BSTR *pbstrFilename) {
    return This->lpVtbl->GetFileName(This,pbstrFilename);
}
static inline HRESULT IESLicenseRenewalResultEvent_IsRenewalSuccessful(IESLicenseRenewalResultEvent* This,WINBOOL *pfRenewalSuccessful) {
    return This->lpVtbl->IsRenewalSuccessful(This,pfRenewalSuccessful);
}
static inline HRESULT IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired(IESLicenseRenewalResultEvent* This,WINBOOL *pfCheckEntTokenCallNeeded) {
    return This->lpVtbl->IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetDescrambledStatus(IESLicenseRenewalResultEvent* This,DWORD *pDescrambledStatus) {
    return This->lpVtbl->GetDescrambledStatus(This,pDescrambledStatus);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetRenewalResultCode(IESLicenseRenewalResultEvent* This,DWORD *pdwRenewalResultCode) {
    return This->lpVtbl->GetRenewalResultCode(This,pdwRenewalResultCode);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetCASFailureCode(IESLicenseRenewalResultEvent* This,DWORD *pdwCASFailureCode) {
    return This->lpVtbl->GetCASFailureCode(This,pdwCASFailureCode);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetRenewalHResult(IESLicenseRenewalResultEvent* This,HRESULT *phr) {
    return This->lpVtbl->GetRenewalHResult(This,phr);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetEntitlementTokenLength(IESLicenseRenewalResultEvent* This,DWORD *pdwLength) {
    return This->lpVtbl->GetEntitlementTokenLength(This,pdwLength);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetEntitlementToken(IESLicenseRenewalResultEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetEntitlementToken(This,pbData);
}
static inline HRESULT IESLicenseRenewalResultEvent_GetExpiryDate(IESLicenseRenewalResultEvent* This,DWORD64 *pqwExpiryDate) {
    return This->lpVtbl->GetExpiryDate(This,pqwExpiryDate);
}
#endif
#endif

#endif


#endif  /* __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESFileExpiryDateEvent interface
 */
#ifndef __IESFileExpiryDateEvent_INTERFACE_DEFINED__
#define __IESFileExpiryDateEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESFileExpiryDateEvent, 0xba9edcb6, 0x4d36, 0x4cfe, 0x8c,0x56, 0x87,0xa6,0xb0,0xca,0x48,0xe1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ba9edcb6-4d36-4cfe-8c56-87a6b0ca48e1")
IESFileExpiryDateEvent : public IESEvent
{
    virtual HRESULT STDMETHODCALLTYPE GetTunerId(
        GUID *pguidTunerId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetExpiryDate(
        DWORD64 *pqwExpiryDate) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFinalExpiryDate(
        DWORD64 *pqwExpiryDate) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMaxRenewalCount(
        DWORD *dwMaxRenewalCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEntitlementTokenPresent(
        WINBOOL *pfEntTokenPresent) = 0;

    virtual HRESULT STDMETHODCALLTYPE DoesExpireAfterFirstUse(
        WINBOOL *pfExpireAfterFirstUse) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESFileExpiryDateEvent, 0xba9edcb6, 0x4d36, 0x4cfe, 0x8c,0x56, 0x87,0xa6,0xb0,0xca,0x48,0xe1)
#endif
#else
typedef struct IESFileExpiryDateEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESFileExpiryDateEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESFileExpiryDateEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESFileExpiryDateEvent *This);

    /*** IESEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventId)(
        IESFileExpiryDateEvent *This,
        DWORD *pdwEventId);

    HRESULT (STDMETHODCALLTYPE *GetEventType)(
        IESFileExpiryDateEvent *This,
        GUID *pguidEventType);

    HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)(
        IESFileExpiryDateEvent *This,
        DWORD dwResult);

    HRESULT (STDMETHODCALLTYPE *GetData)(
        IESFileExpiryDateEvent *This,
        SAFEARRAY **pbData);

    HRESULT (STDMETHODCALLTYPE *GetStringData)(
        IESFileExpiryDateEvent *This,
        BSTR *pbstrData);

    /*** IESFileExpiryDateEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTunerId)(
        IESFileExpiryDateEvent *This,
        GUID *pguidTunerId);

    HRESULT (STDMETHODCALLTYPE *GetExpiryDate)(
        IESFileExpiryDateEvent *This,
        DWORD64 *pqwExpiryDate);

    HRESULT (STDMETHODCALLTYPE *GetFinalExpiryDate)(
        IESFileExpiryDateEvent *This,
        DWORD64 *pqwExpiryDate);

    HRESULT (STDMETHODCALLTYPE *GetMaxRenewalCount)(
        IESFileExpiryDateEvent *This,
        DWORD *dwMaxRenewalCount);

    HRESULT (STDMETHODCALLTYPE *IsEntitlementTokenPresent)(
        IESFileExpiryDateEvent *This,
        WINBOOL *pfEntTokenPresent);

    HRESULT (STDMETHODCALLTYPE *DoesExpireAfterFirstUse)(
        IESFileExpiryDateEvent *This,
        WINBOOL *pfExpireAfterFirstUse);

    END_INTERFACE
} IESFileExpiryDateEventVtbl;

interface IESFileExpiryDateEvent {
    CONST_VTBL IESFileExpiryDateEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESFileExpiryDateEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESFileExpiryDateEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESFileExpiryDateEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvent methods ***/
#define IESFileExpiryDateEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId)
#define IESFileExpiryDateEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType)
#define IESFileExpiryDateEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult)
#define IESFileExpiryDateEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData)
#define IESFileExpiryDateEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData)
/*** IESFileExpiryDateEvent methods ***/
#define IESFileExpiryDateEvent_GetTunerId(This,pguidTunerId) (This)->lpVtbl->GetTunerId(This,pguidTunerId)
#define IESFileExpiryDateEvent_GetExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetExpiryDate(This,pqwExpiryDate)
#define IESFileExpiryDateEvent_GetFinalExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetFinalExpiryDate(This,pqwExpiryDate)
#define IESFileExpiryDateEvent_GetMaxRenewalCount(This,dwMaxRenewalCount) (This)->lpVtbl->GetMaxRenewalCount(This,dwMaxRenewalCount)
#define IESFileExpiryDateEvent_IsEntitlementTokenPresent(This,pfEntTokenPresent) (This)->lpVtbl->IsEntitlementTokenPresent(This,pfEntTokenPresent)
#define IESFileExpiryDateEvent_DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse) (This)->lpVtbl->DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse)
#else
/*** IUnknown methods ***/
static inline HRESULT IESFileExpiryDateEvent_QueryInterface(IESFileExpiryDateEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESFileExpiryDateEvent_AddRef(IESFileExpiryDateEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESFileExpiryDateEvent_Release(IESFileExpiryDateEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvent methods ***/
static inline HRESULT IESFileExpiryDateEvent_GetEventId(IESFileExpiryDateEvent* This,DWORD *pdwEventId) {
    return This->lpVtbl->GetEventId(This,pdwEventId);
}
static inline HRESULT IESFileExpiryDateEvent_GetEventType(IESFileExpiryDateEvent* This,GUID *pguidEventType) {
    return This->lpVtbl->GetEventType(This,pguidEventType);
}
static inline HRESULT IESFileExpiryDateEvent_SetCompletionStatus(IESFileExpiryDateEvent* This,DWORD dwResult) {
    return This->lpVtbl->SetCompletionStatus(This,dwResult);
}
static inline HRESULT IESFileExpiryDateEvent_GetData(IESFileExpiryDateEvent* This,SAFEARRAY **pbData) {
    return This->lpVtbl->GetData(This,pbData);
}
static inline HRESULT IESFileExpiryDateEvent_GetStringData(IESFileExpiryDateEvent* This,BSTR *pbstrData) {
    return This->lpVtbl->GetStringData(This,pbstrData);
}
/*** IESFileExpiryDateEvent methods ***/
static inline HRESULT IESFileExpiryDateEvent_GetTunerId(IESFileExpiryDateEvent* This,GUID *pguidTunerId) {
    return This->lpVtbl->GetTunerId(This,pguidTunerId);
}
static inline HRESULT IESFileExpiryDateEvent_GetExpiryDate(IESFileExpiryDateEvent* This,DWORD64 *pqwExpiryDate) {
    return This->lpVtbl->GetExpiryDate(This,pqwExpiryDate);
}
static inline HRESULT IESFileExpiryDateEvent_GetFinalExpiryDate(IESFileExpiryDateEvent* This,DWORD64 *pqwExpiryDate) {
    return This->lpVtbl->GetFinalExpiryDate(This,pqwExpiryDate);
}
static inline HRESULT IESFileExpiryDateEvent_GetMaxRenewalCount(IESFileExpiryDateEvent* This,DWORD *dwMaxRenewalCount) {
    return This->lpVtbl->GetMaxRenewalCount(This,dwMaxRenewalCount);
}
static inline HRESULT IESFileExpiryDateEvent_IsEntitlementTokenPresent(IESFileExpiryDateEvent* This,WINBOOL *pfEntTokenPresent) {
    return This->lpVtbl->IsEntitlementTokenPresent(This,pfEntTokenPresent);
}
static inline HRESULT IESFileExpiryDateEvent_DoesExpireAfterFirstUse(IESFileExpiryDateEvent* This,WINBOOL *pfExpireAfterFirstUse) {
    return This->lpVtbl->DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse);
}
#endif
#endif

#endif


#endif  /* __IESFileExpiryDateEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESEvents interface
 */
#ifndef __IESEvents_INTERFACE_DEFINED__
#define __IESEvents_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESEvents, 0xabd414bf, 0xcfe5, 0x4e5e, 0xaf,0x5b, 0x4b,0x4e,0x49,0xc5,0xbf,0xeb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("abd414bf-cfe5-4e5e-af5b-4b4e49c5bfeb")
IESEvents : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OnESEventReceived(
        GUID guidEventType,
        IESEvent *pESEvent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESEvents, 0xabd414bf, 0xcfe5, 0x4e5e, 0xaf,0x5b, 0x4b,0x4e,0x49,0xc5,0xbf,0xeb)
#endif
#else
typedef struct IESEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESEvents *This);

    /*** IESEvents methods ***/
    HRESULT (STDMETHODCALLTYPE *OnESEventReceived)(
        IESEvents *This,
        GUID guidEventType,
        IESEvent *pESEvent);

    END_INTERFACE
} IESEventsVtbl;

interface IESEvents {
    CONST_VTBL IESEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IESEvents methods ***/
#define IESEvents_OnESEventReceived(This,guidEventType,pESEvent) (This)->lpVtbl->OnESEventReceived(This,guidEventType,pESEvent)
#else
/*** IUnknown methods ***/
static inline HRESULT IESEvents_QueryInterface(IESEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESEvents_AddRef(IESEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESEvents_Release(IESEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEvents methods ***/
static inline HRESULT IESEvents_OnESEventReceived(IESEvents* This,GUID guidEventType,IESEvent *pESEvent) {
    return This->lpVtbl->OnESEventReceived(This,guidEventType,pESEvent);
}
#endif
#endif

#endif


#endif  /* __IESEvents_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESEventService interface
 */
#ifndef __IESEventService_INTERFACE_DEFINED__
#define __IESEventService_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESEventService, 0xed89a619, 0x4c06, 0x4b2f, 0x99,0xeb, 0xc7,0x66,0x9b,0x13,0x04,0x7c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ed89a619-4c06-4b2f-99eb-c7669b13047c")
IESEventService : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FireESEvent(
        IESEvent *pESEvent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESEventService, 0xed89a619, 0x4c06, 0x4b2f, 0x99,0xeb, 0xc7,0x66,0x9b,0x13,0x04,0x7c)
#endif
#else
typedef struct IESEventServiceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESEventService *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESEventService *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESEventService *This);

    /*** IESEventService methods ***/
    HRESULT (STDMETHODCALLTYPE *FireESEvent)(
        IESEventService *This,
        IESEvent *pESEvent);

    END_INTERFACE
} IESEventServiceVtbl;

interface IESEventService {
    CONST_VTBL IESEventServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESEventService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESEventService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESEventService_Release(This) (This)->lpVtbl->Release(This)
/*** IESEventService methods ***/
#define IESEventService_FireESEvent(This,pESEvent) (This)->lpVtbl->FireESEvent(This,pESEvent)
#else
/*** IUnknown methods ***/
static inline HRESULT IESEventService_QueryInterface(IESEventService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESEventService_AddRef(IESEventService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESEventService_Release(IESEventService* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEventService methods ***/
static inline HRESULT IESEventService_FireESEvent(IESEventService* This,IESEvent *pESEvent) {
    return This->lpVtbl->FireESEvent(This,pESEvent);
}
#endif
#endif

#endif


#endif  /* __IESEventService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IESEventServiceConfiguration interface
 */
#ifndef __IESEventServiceConfiguration_INTERFACE_DEFINED__
#define __IESEventServiceConfiguration_INTERFACE_DEFINED__

DEFINE_GUID(IID_IESEventServiceConfiguration, 0x33b9daae, 0x9309, 0x491d, 0xa0,0x51, 0xbc,0xad,0x2a,0x70,0xcd,0x66);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("33b9daae-9309-491d-a051-bcad2a70cd66")
IESEventServiceConfiguration : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetParent(
        IESEventService *pEventService) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveParent(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetOwner(
        IESEvents *pESEvents) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveOwner(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetGraph(
        IFilterGraph *pGraph) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveGraph(
        IFilterGraph *pGraph) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IESEventServiceConfiguration, 0x33b9daae, 0x9309, 0x491d, 0xa0,0x51, 0xbc,0xad,0x2a,0x70,0xcd,0x66)
#endif
#else
typedef struct IESEventServiceConfigurationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IESEventServiceConfiguration *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IESEventServiceConfiguration *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IESEventServiceConfiguration *This);

    /*** IESEventServiceConfiguration methods ***/
    HRESULT (STDMETHODCALLTYPE *SetParent)(
        IESEventServiceConfiguration *This,
        IESEventService *pEventService);

    HRESULT (STDMETHODCALLTYPE *RemoveParent)(
        IESEventServiceConfiguration *This);

    HRESULT (STDMETHODCALLTYPE *SetOwner)(
        IESEventServiceConfiguration *This,
        IESEvents *pESEvents);

    HRESULT (STDMETHODCALLTYPE *RemoveOwner)(
        IESEventServiceConfiguration *This);

    HRESULT (STDMETHODCALLTYPE *SetGraph)(
        IESEventServiceConfiguration *This,
        IFilterGraph *pGraph);

    HRESULT (STDMETHODCALLTYPE *RemoveGraph)(
        IESEventServiceConfiguration *This,
        IFilterGraph *pGraph);

    END_INTERFACE
} IESEventServiceConfigurationVtbl;

interface IESEventServiceConfiguration {
    CONST_VTBL IESEventServiceConfigurationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IESEventServiceConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IESEventServiceConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IESEventServiceConfiguration_Release(This) (This)->lpVtbl->Release(This)
/*** IESEventServiceConfiguration methods ***/
#define IESEventServiceConfiguration_SetParent(This,pEventService) (This)->lpVtbl->SetParent(This,pEventService)
#define IESEventServiceConfiguration_RemoveParent(This) (This)->lpVtbl->RemoveParent(This)
#define IESEventServiceConfiguration_SetOwner(This,pESEvents) (This)->lpVtbl->SetOwner(This,pESEvents)
#define IESEventServiceConfiguration_RemoveOwner(This) (This)->lpVtbl->RemoveOwner(This)
#define IESEventServiceConfiguration_SetGraph(This,pGraph) (This)->lpVtbl->SetGraph(This,pGraph)
#define IESEventServiceConfiguration_RemoveGraph(This,pGraph) (This)->lpVtbl->RemoveGraph(This,pGraph)
#else
/*** IUnknown methods ***/
static inline HRESULT IESEventServiceConfiguration_QueryInterface(IESEventServiceConfiguration* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IESEventServiceConfiguration_AddRef(IESEventServiceConfiguration* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IESEventServiceConfiguration_Release(IESEventServiceConfiguration* This) {
    return This->lpVtbl->Release(This);
}
/*** IESEventServiceConfiguration methods ***/
static inline HRESULT IESEventServiceConfiguration_SetParent(IESEventServiceConfiguration* This,IESEventService *pEventService) {
    return This->lpVtbl->SetParent(This,pEventService);
}
static inline HRESULT IESEventServiceConfiguration_RemoveParent(IESEventServiceConfiguration* This) {
    return This->lpVtbl->RemoveParent(This);
}
static inline HRESULT IESEventServiceConfiguration_SetOwner(IESEventServiceConfiguration* This,IESEvents *pESEvents) {
    return This->lpVtbl->SetOwner(This,pESEvents);
}
static inline HRESULT IESEventServiceConfiguration_RemoveOwner(IESEventServiceConfiguration* This) {
    return This->lpVtbl->RemoveOwner(This);
}
static inline HRESULT IESEventServiceConfiguration_SetGraph(IESEventServiceConfiguration* This,IFilterGraph *pGraph) {
    return This->lpVtbl->SetGraph(This,pGraph);
}
static inline HRESULT IESEventServiceConfiguration_RemoveGraph(IESEventServiceConfiguration* This,IFilterGraph *pGraph) {
    return This->lpVtbl->RemoveGraph(This,pGraph);
}
#endif
#endif

#endif


#endif  /* __IESEventServiceConfiguration_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IBroadcastEvent interface
 */
#ifndef __IBroadcastEvent_INTERFACE_DEFINED__
#define __IBroadcastEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBroadcastEvent, 0x3b21263f, 0x26e8, 0x489d, 0xaa,0xc4, 0x92,0x4f,0x7e,0xfd,0x95,0x11);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3b21263f-26e8-489d-aac4-924f7efd9511")
IBroadcastEvent : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Fire(
        GUID EventID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBroadcastEvent, 0x3b21263f, 0x26e8, 0x489d, 0xaa,0xc4, 0x92,0x4f,0x7e,0xfd,0x95,0x11)
#endif
#else
typedef struct IBroadcastEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBroadcastEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBroadcastEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBroadcastEvent *This);

    /*** IBroadcastEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *Fire)(
        IBroadcastEvent *This,
        GUID EventID);

    END_INTERFACE
} IBroadcastEventVtbl;

interface IBroadcastEvent {
    CONST_VTBL IBroadcastEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBroadcastEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBroadcastEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBroadcastEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IBroadcastEvent methods ***/
#define IBroadcastEvent_Fire(This,EventID) (This)->lpVtbl->Fire(This,EventID)
#else
/*** IUnknown methods ***/
static inline HRESULT IBroadcastEvent_QueryInterface(IBroadcastEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IBroadcastEvent_AddRef(IBroadcastEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IBroadcastEvent_Release(IBroadcastEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IBroadcastEvent methods ***/
static inline HRESULT IBroadcastEvent_Fire(IBroadcastEvent* This,GUID EventID) {
    return This->lpVtbl->Fire(This,EventID);
}
#endif
#endif

#endif


#endif  /* __IBroadcastEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IBroadcastEventEx interface
 */
#ifndef __IBroadcastEventEx_INTERFACE_DEFINED__
#define __IBroadcastEventEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBroadcastEventEx, 0x3d9e3887, 0x1929, 0x423f, 0x80,0x21, 0x43,0x68,0x2d,0xe9,0x54,0x48);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3d9e3887-1929-423f-8021-43682de95448")
IBroadcastEventEx : public IBroadcastEvent
{
    virtual HRESULT STDMETHODCALLTYPE FireEx(
        GUID EventID,
        ULONG Param1,
        ULONG Param2,
        ULONG Param3,
        ULONG Param4) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBroadcastEventEx, 0x3d9e3887, 0x1929, 0x423f, 0x80,0x21, 0x43,0x68,0x2d,0xe9,0x54,0x48)
#endif
#else
typedef struct IBroadcastEventExVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBroadcastEventEx *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBroadcastEventEx *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBroadcastEventEx *This);

    /*** IBroadcastEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *Fire)(
        IBroadcastEventEx *This,
        GUID EventID);

    /*** IBroadcastEventEx methods ***/
    HRESULT (STDMETHODCALLTYPE *FireEx)(
        IBroadcastEventEx *This,
        GUID EventID,
        ULONG Param1,
        ULONG Param2,
        ULONG Param3,
        ULONG Param4);

    END_INTERFACE
} IBroadcastEventExVtbl;

interface IBroadcastEventEx {
    CONST_VTBL IBroadcastEventExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBroadcastEventEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBroadcastEventEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBroadcastEventEx_Release(This) (This)->lpVtbl->Release(This)
/*** IBroadcastEvent methods ***/
#define IBroadcastEventEx_Fire(This,EventID) (This)->lpVtbl->Fire(This,EventID)
/*** IBroadcastEventEx methods ***/
#define IBroadcastEventEx_FireEx(This,EventID,Param1,Param2,Param3,Param4) (This)->lpVtbl->FireEx(This,EventID,Param1,Param2,Param3,Param4)
#else
/*** IUnknown methods ***/
static inline HRESULT IBroadcastEventEx_QueryInterface(IBroadcastEventEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IBroadcastEventEx_AddRef(IBroadcastEventEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IBroadcastEventEx_Release(IBroadcastEventEx* This) {
    return This->lpVtbl->Release(This);
}
/*** IBroadcastEvent methods ***/
static inline HRESULT IBroadcastEventEx_Fire(IBroadcastEventEx* This,GUID EventID) {
    return This->lpVtbl->Fire(This,EventID);
}
/*** IBroadcastEventEx methods ***/
static inline HRESULT IBroadcastEventEx_FireEx(IBroadcastEventEx* This,GUID EventID,ULONG Param1,ULONG Param2,ULONG Param3,ULONG Param4) {
    return This->lpVtbl->FireEx(This,EventID,Param1,Param2,Param3,Param4);
}
#endif
#endif

#endif


#endif  /* __IBroadcastEventEx_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IRegisterTuner interface
 */
#ifndef __IRegisterTuner_INTERFACE_DEFINED__
#define __IRegisterTuner_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRegisterTuner, 0x359b3901, 0x572c, 0x4854, 0xbb,0x49, 0xcd,0xef,0x66,0x60,0x6a,0x25);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("359b3901-572c-4854-bb49-cdef66606a25")
IRegisterTuner : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Register(
        ITuner *pTuner,
        IGraphBuilder *pGraph) = 0;

    virtual HRESULT STDMETHODCALLTYPE Unregister(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRegisterTuner, 0x359b3901, 0x572c, 0x4854, 0xbb,0x49, 0xcd,0xef,0x66,0x60,0x6a,0x25)
#endif
#else
typedef struct IRegisterTunerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IRegisterTuner *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IRegisterTuner *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IRegisterTuner *This);

    /*** IRegisterTuner methods ***/
    HRESULT (STDMETHODCALLTYPE *Register)(
        IRegisterTuner *This,
        ITuner *pTuner,
        IGraphBuilder *pGraph);

    HRESULT (STDMETHODCALLTYPE *Unregister)(
        IRegisterTuner *This);

    END_INTERFACE
} IRegisterTunerVtbl;

interface IRegisterTuner {
    CONST_VTBL IRegisterTunerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRegisterTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRegisterTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRegisterTuner_Release(This) (This)->lpVtbl->Release(This)
/*** IRegisterTuner methods ***/
#define IRegisterTuner_Register(This,pTuner,pGraph) (This)->lpVtbl->Register(This,pTuner,pGraph)
#define IRegisterTuner_Unregister(This) (This)->lpVtbl->Unregister(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IRegisterTuner_QueryInterface(IRegisterTuner* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IRegisterTuner_AddRef(IRegisterTuner* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IRegisterTuner_Release(IRegisterTuner* This) {
    return This->lpVtbl->Release(This);
}
/*** IRegisterTuner methods ***/
static inline HRESULT IRegisterTuner_Register(IRegisterTuner* This,ITuner *pTuner,IGraphBuilder *pGraph) {
    return This->lpVtbl->Register(This,pTuner,pGraph);
}
static inline HRESULT IRegisterTuner_Unregister(IRegisterTuner* This) {
    return This->lpVtbl->Unregister(This);
}
#endif
#endif

#endif


#endif  /* __IRegisterTuner_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IBDAComparable interface
 */
#ifndef __IBDAComparable_INTERFACE_DEFINED__
#define __IBDAComparable_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBDAComparable, 0xb34505e0, 0x2f0e, 0x497b, 0x80,0xbc, 0xd4,0x3f,0x3b,0x24,0xed,0x7f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b34505e0-2f0e-497b-80bc-d43f3b24ed7f")
IBDAComparable : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CompareExact(
        IDispatch *CompareTo,
        LONG *Result) = 0;

    virtual HRESULT STDMETHODCALLTYPE CompareEquivalent(
        IDispatch *CompareTo,
        DWORD dwFlags,
        LONG *Result) = 0;

    virtual HRESULT STDMETHODCALLTYPE HashExact(
        INT64 *Result) = 0;

    virtual HRESULT STDMETHODCALLTYPE HashExactIncremental(
        INT64 PartialResult,
        INT64 *Result) = 0;

    virtual HRESULT STDMETHODCALLTYPE HashEquivalent(
        DWORD dwFlags,
        INT64 *Result) = 0;

    virtual HRESULT STDMETHODCALLTYPE HashEquivalentIncremental(
        INT64 PartialResult,
        DWORD dwFlags,
        INT64 *Result) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBDAComparable, 0xb34505e0, 0x2f0e, 0x497b, 0x80,0xbc, 0xd4,0x3f,0x3b,0x24,0xed,0x7f)
#endif
#else
typedef struct IBDAComparableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBDAComparable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBDAComparable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBDAComparable *This);

    /*** IBDAComparable methods ***/
    HRESULT (STDMETHODCALLTYPE *CompareExact)(
        IBDAComparable *This,
        IDispatch *CompareTo,
        LONG *Result);

    HRESULT (STDMETHODCALLTYPE *CompareEquivalent)(
        IBDAComparable *This,
        IDispatch *CompareTo,
        DWORD dwFlags,
        LONG *Result);

    HRESULT (STDMETHODCALLTYPE *HashExact)(
        IBDAComparable *This,
        INT64 *Result);

    HRESULT (STDMETHODCALLTYPE *HashExactIncremental)(
        IBDAComparable *This,
        INT64 PartialResult,
        INT64 *Result);

    HRESULT (STDMETHODCALLTYPE *HashEquivalent)(
        IBDAComparable *This,
        DWORD dwFlags,
        INT64 *Result);

    HRESULT (STDMETHODCALLTYPE *HashEquivalentIncremental)(
        IBDAComparable *This,
        INT64 PartialResult,
        DWORD dwFlags,
        INT64 *Result);

    END_INTERFACE
} IBDAComparableVtbl;

interface IBDAComparable {
    CONST_VTBL IBDAComparableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBDAComparable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBDAComparable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBDAComparable_Release(This) (This)->lpVtbl->Release(This)
/*** IBDAComparable methods ***/
#define IBDAComparable_CompareExact(This,CompareTo,Result) (This)->lpVtbl->CompareExact(This,CompareTo,Result)
#define IBDAComparable_CompareEquivalent(This,CompareTo,dwFlags,Result) (This)->lpVtbl->CompareEquivalent(This,CompareTo,dwFlags,Result)
#define IBDAComparable_HashExact(This,Result) (This)->lpVtbl->HashExact(This,Result)
#define IBDAComparable_HashExactIncremental(This,PartialResult,Result) (This)->lpVtbl->HashExactIncremental(This,PartialResult,Result)
#define IBDAComparable_HashEquivalent(This,dwFlags,Result) (This)->lpVtbl->HashEquivalent(This,dwFlags,Result)
#define IBDAComparable_HashEquivalentIncremental(This,PartialResult,dwFlags,Result) (This)->lpVtbl->HashEquivalentIncremental(This,PartialResult,dwFlags,Result)
#else
/*** IUnknown methods ***/
static inline HRESULT IBDAComparable_QueryInterface(IBDAComparable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IBDAComparable_AddRef(IBDAComparable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IBDAComparable_Release(IBDAComparable* This) {
    return This->lpVtbl->Release(This);
}
/*** IBDAComparable methods ***/
static inline HRESULT IBDAComparable_CompareExact(IBDAComparable* This,IDispatch *CompareTo,LONG *Result) {
    return This->lpVtbl->CompareExact(This,CompareTo,Result);
}
static inline HRESULT IBDAComparable_CompareEquivalent(IBDAComparable* This,IDispatch *CompareTo,DWORD dwFlags,LONG *Result) {
    return This->lpVtbl->CompareEquivalent(This,CompareTo,dwFlags,Result);
}
static inline HRESULT IBDAComparable_HashExact(IBDAComparable* This,INT64 *Result) {
    return This->lpVtbl->HashExact(This,Result);
}
static inline HRESULT IBDAComparable_HashExactIncremental(IBDAComparable* This,INT64 PartialResult,INT64 *Result) {
    return This->lpVtbl->HashExactIncremental(This,PartialResult,Result);
}
static inline HRESULT IBDAComparable_HashEquivalent(IBDAComparable* This,DWORD dwFlags,INT64 *Result) {
    return This->lpVtbl->HashEquivalent(This,dwFlags,Result);
}
static inline HRESULT IBDAComparable_HashEquivalentIncremental(IBDAComparable* This,INT64 PartialResult,DWORD dwFlags,INT64 *Result) {
    return This->lpVtbl->HashEquivalentIncremental(This,PartialResult,dwFlags,Result);
}
#endif
#endif

#endif


#endif  /* __IBDAComparable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IPersistTuneXml interface
 */
#ifndef __IPersistTuneXml_INTERFACE_DEFINED__
#define __IPersistTuneXml_INTERFACE_DEFINED__

DEFINE_GUID(IID_IPersistTuneXml, 0x0754cd31, 0x8d15, 0x47a9, 0x82,0x15, 0xd2,0x00,0x64,0x15,0x72,0x44);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0754cd31-8d15-47a9-8215-d20064157244")
IPersistTuneXml : public IPersist
{
    virtual HRESULT STDMETHODCALLTYPE InitNew(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Load(
        VARIANT varValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE Save(
        VARIANT *pvarFragment) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistTuneXml, 0x0754cd31, 0x8d15, 0x47a9, 0x82,0x15, 0xd2,0x00,0x64,0x15,0x72,0x44)
#endif
#else
typedef struct IPersistTuneXmlVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IPersistTuneXml *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IPersistTuneXml *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IPersistTuneXml *This);

    /*** IPersist methods ***/
    HRESULT (STDMETHODCALLTYPE *GetClassID)(
        IPersistTuneXml *This,
        CLSID *pClassID);

    /*** IPersistTuneXml methods ***/
    HRESULT (STDMETHODCALLTYPE *InitNew)(
        IPersistTuneXml *This);

    HRESULT (STDMETHODCALLTYPE *Load)(
        IPersistTuneXml *This,
        VARIANT varValue);

    HRESULT (STDMETHODCALLTYPE *Save)(
        IPersistTuneXml *This,
        VARIANT *pvarFragment);

    END_INTERFACE
} IPersistTuneXmlVtbl;

interface IPersistTuneXml {
    CONST_VTBL IPersistTuneXmlVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistTuneXml_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistTuneXml_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistTuneXml_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IPersistTuneXml_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistTuneXml methods ***/
#define IPersistTuneXml_InitNew(This) (This)->lpVtbl->InitNew(This)
#define IPersistTuneXml_Load(This,varValue) (This)->lpVtbl->Load(This,varValue)
#define IPersistTuneXml_Save(This,pvarFragment) (This)->lpVtbl->Save(This,pvarFragment)
#else
/*** IUnknown methods ***/
static inline HRESULT IPersistTuneXml_QueryInterface(IPersistTuneXml* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IPersistTuneXml_AddRef(IPersistTuneXml* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IPersistTuneXml_Release(IPersistTuneXml* This) {
    return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static inline HRESULT IPersistTuneXml_GetClassID(IPersistTuneXml* This,CLSID *pClassID) {
    return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistTuneXml methods ***/
static inline HRESULT IPersistTuneXml_InitNew(IPersistTuneXml* This) {
    return This->lpVtbl->InitNew(This);
}
static inline HRESULT IPersistTuneXml_Load(IPersistTuneXml* This,VARIANT varValue) {
    return This->lpVtbl->Load(This,varValue);
}
static inline HRESULT IPersistTuneXml_Save(IPersistTuneXml* This,VARIANT *pvarFragment) {
    return This->lpVtbl->Save(This,pvarFragment);
}
#endif
#endif

#endif


#endif  /* __IPersistTuneXml_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IPersistTuneXmlUtility interface
 */
#ifndef __IPersistTuneXmlUtility_INTERFACE_DEFINED__
#define __IPersistTuneXmlUtility_INTERFACE_DEFINED__

DEFINE_GUID(IID_IPersistTuneXmlUtility, 0x990237ae, 0xac11, 0x4614, 0xbe,0x8f, 0xdd,0x21,0x7a,0x4c,0xb4,0xcb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("990237ae-ac11-4614-be8f-dd217a4cb4cb")
IPersistTuneXmlUtility : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Deserialize(
        VARIANT varValue,
        IUnknown **ppObject) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistTuneXmlUtility, 0x990237ae, 0xac11, 0x4614, 0xbe,0x8f, 0xdd,0x21,0x7a,0x4c,0xb4,0xcb)
#endif
#else
typedef struct IPersistTuneXmlUtilityVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IPersistTuneXmlUtility *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IPersistTuneXmlUtility *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IPersistTuneXmlUtility *This);

    /*** IPersistTuneXmlUtility methods ***/
    HRESULT (STDMETHODCALLTYPE *Deserialize)(
        IPersistTuneXmlUtility *This,
        VARIANT varValue,
        IUnknown **ppObject);

    END_INTERFACE
} IPersistTuneXmlUtilityVtbl;

interface IPersistTuneXmlUtility {
    CONST_VTBL IPersistTuneXmlUtilityVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistTuneXmlUtility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistTuneXmlUtility_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistTuneXmlUtility_Release(This) (This)->lpVtbl->Release(This)
/*** IPersistTuneXmlUtility methods ***/
#define IPersistTuneXmlUtility_Deserialize(This,varValue,ppObject) (This)->lpVtbl->Deserialize(This,varValue,ppObject)
#else
/*** IUnknown methods ***/
static inline HRESULT IPersistTuneXmlUtility_QueryInterface(IPersistTuneXmlUtility* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IPersistTuneXmlUtility_AddRef(IPersistTuneXmlUtility* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IPersistTuneXmlUtility_Release(IPersistTuneXmlUtility* This) {
    return This->lpVtbl->Release(This);
}
/*** IPersistTuneXmlUtility methods ***/
static inline HRESULT IPersistTuneXmlUtility_Deserialize(IPersistTuneXmlUtility* This,VARIANT varValue,IUnknown **ppObject) {
    return This->lpVtbl->Deserialize(This,varValue,ppObject);
}
#endif
#endif

#endif


#endif  /* __IPersistTuneXmlUtility_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IPersistTuneXmlUtility2 interface
 */
#ifndef __IPersistTuneXmlUtility2_INTERFACE_DEFINED__
#define __IPersistTuneXmlUtility2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IPersistTuneXmlUtility2, 0x992e165f, 0xea24, 0x4b2f, 0x9a,0x1d, 0x00,0x9d,0x92,0x12,0x04,0x51);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("992e165f-ea24-4b2f-9a1d-009d92120451")
IPersistTuneXmlUtility2 : public IPersistTuneXmlUtility
{
    virtual HRESULT STDMETHODCALLTYPE Serialize(
        ITuneRequest *piTuneRequest,
        BSTR *pString) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistTuneXmlUtility2, 0x992e165f, 0xea24, 0x4b2f, 0x9a,0x1d, 0x00,0x9d,0x92,0x12,0x04,0x51)
#endif
#else
typedef struct IPersistTuneXmlUtility2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IPersistTuneXmlUtility2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IPersistTuneXmlUtility2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IPersistTuneXmlUtility2 *This);

    /*** IPersistTuneXmlUtility methods ***/
    HRESULT (STDMETHODCALLTYPE *Deserialize)(
        IPersistTuneXmlUtility2 *This,
        VARIANT varValue,
        IUnknown **ppObject);

    /*** IPersistTuneXmlUtility2 methods ***/
    HRESULT (STDMETHODCALLTYPE *Serialize)(
        IPersistTuneXmlUtility2 *This,
        ITuneRequest *piTuneRequest,
        BSTR *pString);

    END_INTERFACE
} IPersistTuneXmlUtility2Vtbl;

interface IPersistTuneXmlUtility2 {
    CONST_VTBL IPersistTuneXmlUtility2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistTuneXmlUtility2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistTuneXmlUtility2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistTuneXmlUtility2_Release(This) (This)->lpVtbl->Release(This)
/*** IPersistTuneXmlUtility methods ***/
#define IPersistTuneXmlUtility2_Deserialize(This,varValue,ppObject) (This)->lpVtbl->Deserialize(This,varValue,ppObject)
/*** IPersistTuneXmlUtility2 methods ***/
#define IPersistTuneXmlUtility2_Serialize(This,piTuneRequest,pString) (This)->lpVtbl->Serialize(This,piTuneRequest,pString)
#else
/*** IUnknown methods ***/
static inline HRESULT IPersistTuneXmlUtility2_QueryInterface(IPersistTuneXmlUtility2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IPersistTuneXmlUtility2_AddRef(IPersistTuneXmlUtility2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IPersistTuneXmlUtility2_Release(IPersistTuneXmlUtility2* This) {
    return This->lpVtbl->Release(This);
}
/*** IPersistTuneXmlUtility methods ***/
static inline HRESULT IPersistTuneXmlUtility2_Deserialize(IPersistTuneXmlUtility2* This,VARIANT varValue,IUnknown **ppObject) {
    return This->lpVtbl->Deserialize(This,varValue,ppObject);
}
/*** IPersistTuneXmlUtility2 methods ***/
static inline HRESULT IPersistTuneXmlUtility2_Serialize(IPersistTuneXmlUtility2* This,ITuneRequest *piTuneRequest,BSTR *pString) {
    return This->lpVtbl->Serialize(This,piTuneRequest,pString);
}
#endif
#endif

#endif


#endif  /* __IPersistTuneXmlUtility2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IBDACreateTuneRequestEx interface
 */
#ifndef __IBDACreateTuneRequestEx_INTERFACE_DEFINED__
#define __IBDACreateTuneRequestEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBDACreateTuneRequestEx, 0xc0a4a1d4, 0x2b3c, 0x491a, 0xba,0x22, 0x49,0x9f,0xba,0xdd,0x4d,0x12);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c0a4a1d4-2b3c-491a-ba22-499fbadd4d12")
IBDACreateTuneRequestEx : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateTuneRequestEx(
        REFCLSID TuneRequestIID,
        ITuneRequest **TuneRequest) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBDACreateTuneRequestEx, 0xc0a4a1d4, 0x2b3c, 0x491a, 0xba,0x22, 0x49,0x9f,0xba,0xdd,0x4d,0x12)
#endif
#else
typedef struct IBDACreateTuneRequestExVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBDACreateTuneRequestEx *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBDACreateTuneRequestEx *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBDACreateTuneRequestEx *This);

    /*** IBDACreateTuneRequestEx methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateTuneRequestEx)(
        IBDACreateTuneRequestEx *This,
        REFCLSID TuneRequestIID,
        ITuneRequest **TuneRequest);

    END_INTERFACE
} IBDACreateTuneRequestExVtbl;

interface IBDACreateTuneRequestEx {
    CONST_VTBL IBDACreateTuneRequestExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBDACreateTuneRequestEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBDACreateTuneRequestEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBDACreateTuneRequestEx_Release(This) (This)->lpVtbl->Release(This)
/*** IBDACreateTuneRequestEx methods ***/
#define IBDACreateTuneRequestEx_CreateTuneRequestEx(This,TuneRequestIID,TuneRequest) (This)->lpVtbl->CreateTuneRequestEx(This,TuneRequestIID,TuneRequest)
#else
/*** IUnknown methods ***/
static inline HRESULT IBDACreateTuneRequestEx_QueryInterface(IBDACreateTuneRequestEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IBDACreateTuneRequestEx_AddRef(IBDACreateTuneRequestEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IBDACreateTuneRequestEx_Release(IBDACreateTuneRequestEx* This) {
    return This->lpVtbl->Release(This);
}
/*** IBDACreateTuneRequestEx methods ***/
static inline HRESULT IBDACreateTuneRequestEx_CreateTuneRequestEx(IBDACreateTuneRequestEx* This,REFCLSID TuneRequestIID,ITuneRequest **TuneRequest) {
    return This->lpVtbl->CreateTuneRequestEx(This,TuneRequestIID,TuneRequest);
}
#endif
#endif

#endif


#endif  /* __IBDACreateTuneRequestEx_INTERFACE_DEFINED__ */

#ifndef __TunerLib_LIBRARY_DEFINED__
#define __TunerLib_LIBRARY_DEFINED__

DEFINE_GUID(LIBID_TunerLib, 0x9b085638, 0x018e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

/*****************************************************************************
 * SystemTuningSpaces coclass
 */

DEFINE_GUID(CLSID_SystemTuningSpaces, 0xd02aac50, 0x027e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

#ifdef __cplusplus
class DECLSPEC_UUID("d02aac50-027e-11d3-9d8e-00c04f72d980") SystemTuningSpaces;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SystemTuningSpaces, 0xd02aac50, 0x027e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#endif

/*****************************************************************************
 * TuningSpace coclass
 */

DEFINE_GUID(CLSID_TuningSpace, 0x5ffdc5e6, 0xb83a, 0x4b55, 0xb6,0xe8, 0xc6,0x9e,0x76,0x5f,0xe9,0xdb);

#ifdef __cplusplus
class DECLSPEC_UUID("5ffdc5e6-b83a-4b55-b6e8-c69e765fe9db") TuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TuningSpace, 0x5ffdc5e6, 0xb83a, 0x4b55, 0xb6,0xe8, 0xc6,0x9e,0x76,0x5f,0xe9,0xdb)
#endif
#endif

/*****************************************************************************
 * ChannelIDTuningSpace coclass
 */

DEFINE_GUID(CLSID_ChannelIDTuningSpace, 0xcc829a2f, 0x3365, 0x463f, 0xaf,0x13, 0x81,0xdb,0xb6,0xf3,0xa5,0x55);

#ifdef __cplusplus
class DECLSPEC_UUID("cc829a2f-3365-463f-af13-81dbb6f3a555") ChannelIDTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ChannelIDTuningSpace, 0xcc829a2f, 0x3365, 0x463f, 0xaf,0x13, 0x81,0xdb,0xb6,0xf3,0xa5,0x55)
#endif
#endif

/*****************************************************************************
 * ATSCTuningSpace coclass
 */

DEFINE_GUID(CLSID_ATSCTuningSpace, 0xa2e30750, 0x6c3d, 0x11d3, 0xb6,0x53, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("a2e30750-6c3d-11d3-b653-00c04f79498e") ATSCTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ATSCTuningSpace, 0xa2e30750, 0x6c3d, 0x11d3, 0xb6,0x53, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * DigitalCableTuningSpace coclass
 */

DEFINE_GUID(CLSID_DigitalCableTuningSpace, 0xd9bb4cee, 0xb87a, 0x47f1, 0xac,0x92, 0xb0,0x8d,0x9c,0x78,0x13,0xfc);

#ifdef __cplusplus
class DECLSPEC_UUID("d9bb4cee-b87a-47f1-ac92-b08d9c7813fc") DigitalCableTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DigitalCableTuningSpace, 0xd9bb4cee, 0xb87a, 0x47f1, 0xac,0x92, 0xb0,0x8d,0x9c,0x78,0x13,0xfc)
#endif
#endif

/*****************************************************************************
 * AnalogRadioTuningSpace coclass
 */

DEFINE_GUID(CLSID_AnalogRadioTuningSpace, 0x8a674b4c, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("8a674b4c-1f63-11d3-b64c-00c04f79498e") AnalogRadioTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AnalogRadioTuningSpace, 0x8a674b4c, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * AuxInTuningSpace coclass
 */

DEFINE_GUID(CLSID_AuxInTuningSpace, 0xf9769a06, 0x7aca, 0x4e39, 0x9c,0xfb, 0x97,0xbb,0x35,0xf0,0xe7,0x7e);

#ifdef __cplusplus
class DECLSPEC_UUID("f9769a06-7aca-4e39-9cfb-97bb35f0e77e") AuxInTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AuxInTuningSpace, 0xf9769a06, 0x7aca, 0x4e39, 0x9c,0xfb, 0x97,0xbb,0x35,0xf0,0xe7,0x7e)
#endif
#endif

/*****************************************************************************
 * AnalogTVTuningSpace coclass
 */

DEFINE_GUID(CLSID_AnalogTVTuningSpace, 0x8a674b4d, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("8a674b4d-1f63-11d3-b64c-00c04f79498e") AnalogTVTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AnalogTVTuningSpace, 0x8a674b4d, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * DVBTuningSpace coclass
 */

DEFINE_GUID(CLSID_DVBTuningSpace, 0xc6b14b32, 0x76aa, 0x4a86, 0xa7,0xac, 0x5c,0x79,0xaa,0xf5,0x8d,0xa7);

#ifdef __cplusplus
class DECLSPEC_UUID("c6b14b32-76aa-4a86-a7ac-5c79aaf58da7") DVBTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBTuningSpace, 0xc6b14b32, 0x76aa, 0x4a86, 0xa7,0xac, 0x5c,0x79,0xaa,0xf5,0x8d,0xa7)
#endif
#endif

/*****************************************************************************
 * DVBSTuningSpace coclass
 */

DEFINE_GUID(CLSID_DVBSTuningSpace, 0xb64016f3, 0xc9a2, 0x4066, 0x96,0xf0, 0xbd,0x95,0x63,0x31,0x47,0x26);

#ifdef __cplusplus
class DECLSPEC_UUID("b64016f3-c9a2-4066-96f0-bd9563314726") DVBSTuningSpace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBSTuningSpace, 0xb64016f3, 0xc9a2, 0x4066, 0x96,0xf0, 0xbd,0x95,0x63,0x31,0x47,0x26)
#endif
#endif

/*****************************************************************************
 * ComponentTypes coclass
 */

DEFINE_GUID(CLSID_ComponentTypes, 0xa1a2b1c4, 0x0e3a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

#ifdef __cplusplus
class DECLSPEC_UUID("a1a2b1c4-0e3a-11d3-9d8e-00c04f72d980") ComponentTypes;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ComponentTypes, 0xa1a2b1c4, 0x0e3a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#endif

/*****************************************************************************
 * ComponentType coclass
 */

DEFINE_GUID(CLSID_ComponentType, 0x823535a0, 0x0318, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

#ifdef __cplusplus
class DECLSPEC_UUID("823535a0-0318-11d3-9d8e-00c04f72d980") ComponentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ComponentType, 0x823535a0, 0x0318, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#endif

/*****************************************************************************
 * LanguageComponentType coclass
 */

DEFINE_GUID(CLSID_LanguageComponentType, 0x1be49f30, 0x0e1b, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

#ifdef __cplusplus
class DECLSPEC_UUID("1be49f30-0e1b-11d3-9d8e-00c04f72d980") LanguageComponentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(LanguageComponentType, 0x1be49f30, 0x0e1b, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#endif

/*****************************************************************************
 * MPEG2ComponentType coclass
 */

DEFINE_GUID(CLSID_MPEG2ComponentType, 0x418008f3, 0xcf67, 0x4668, 0x96,0x28, 0x10,0xdc,0x52,0xbe,0x1d,0x08);

#ifdef __cplusplus
class DECLSPEC_UUID("418008f3-cf67-4668-9628-10dc52be1d08") MPEG2ComponentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MPEG2ComponentType, 0x418008f3, 0xcf67, 0x4668, 0x96,0x28, 0x10,0xdc,0x52,0xbe,0x1d,0x08)
#endif
#endif

/*****************************************************************************
 * ATSCComponentType coclass
 */

DEFINE_GUID(CLSID_ATSCComponentType, 0xa8dcf3d5, 0x0780, 0x4ef4, 0x8a,0x83, 0x2c,0xff,0xaa,0xcb,0x8a,0xce);

#ifdef __cplusplus
class DECLSPEC_UUID("a8dcf3d5-0780-4ef4-8a83-2cffaacb8ace") ATSCComponentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ATSCComponentType, 0xa8dcf3d5, 0x0780, 0x4ef4, 0x8a,0x83, 0x2c,0xff,0xaa,0xcb,0x8a,0xce)
#endif
#endif

/*****************************************************************************
 * Components coclass
 */

DEFINE_GUID(CLSID_Components, 0x809b6661, 0x94c4, 0x49e6, 0xb6,0xec, 0x3f,0x0f,0x86,0x22,0x15,0xaa);

#ifdef __cplusplus
class DECLSPEC_UUID("809b6661-94c4-49e6-b6ec-3f0f862215aa") Components;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(Components, 0x809b6661, 0x94c4, 0x49e6, 0xb6,0xec, 0x3f,0x0f,0x86,0x22,0x15,0xaa)
#endif
#endif

/*****************************************************************************
 * Component coclass
 */

DEFINE_GUID(CLSID_Component, 0x59dc47a8, 0x116c, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80);

#ifdef __cplusplus
class DECLSPEC_UUID("59dc47a8-116c-11d3-9d8e-00c04f72d980") Component;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(Component, 0x59dc47a8, 0x116c, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80)
#endif
#endif

/*****************************************************************************
 * MPEG2Component coclass
 */

DEFINE_GUID(CLSID_MPEG2Component, 0x055cb2d7, 0x2969, 0x45cd, 0x91,0x4b, 0x76,0x89,0x07,0x22,0xf1,0x12);

#ifdef __cplusplus
class DECLSPEC_UUID("055cb2d7-2969-45cd-914b-76890722f112") MPEG2Component;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MPEG2Component, 0x055cb2d7, 0x2969, 0x45cd, 0x91,0x4b, 0x76,0x89,0x07,0x22,0xf1,0x12)
#endif
#endif

/*****************************************************************************
 * AnalogAudioComponentType coclass
 */

DEFINE_GUID(CLSID_AnalogAudioComponentType, 0x28ab0005, 0xe845, 0x4ffa, 0xaa,0x9b, 0xf4,0x66,0x52,0x36,0x14,0x1c);

#ifdef __cplusplus
class DECLSPEC_UUID("28ab0005-e845-4ffa-aa9b-f4665236141c") AnalogAudioComponentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AnalogAudioComponentType, 0x28ab0005, 0xe845, 0x4ffa, 0xaa,0x9b, 0xf4,0x66,0x52,0x36,0x14,0x1c)
#endif
#endif

/*****************************************************************************
 * TuneRequest coclass
 */

DEFINE_GUID(CLSID_TuneRequest, 0xb46e0d38, 0xab35, 0x4a06, 0xa1,0x37, 0x70,0x57,0x6b,0x01,0xb3,0x9f);

#ifdef __cplusplus
class DECLSPEC_UUID("b46e0d38-ab35-4a06-a137-70576b01b39f") TuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TuneRequest, 0xb46e0d38, 0xab35, 0x4a06, 0xa1,0x37, 0x70,0x57,0x6b,0x01,0xb3,0x9f)
#endif
#endif

/*****************************************************************************
 * ChannelIDTuneRequest coclass
 */

DEFINE_GUID(CLSID_ChannelIDTuneRequest, 0x3a9428a7, 0x31a4, 0x45e9, 0x9e,0xfb, 0xe0,0x55,0xbf,0x7b,0xb3,0xdb);

#ifdef __cplusplus
class DECLSPEC_UUID("3a9428a7-31a4-45e9-9efb-e055bf7bb3db") ChannelIDTuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ChannelIDTuneRequest, 0x3a9428a7, 0x31a4, 0x45e9, 0x9e,0xfb, 0xe0,0x55,0xbf,0x7b,0xb3,0xdb)
#endif
#endif

/*****************************************************************************
 * ChannelTuneRequest coclass
 */

DEFINE_GUID(CLSID_ChannelTuneRequest, 0x0369b4e5, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("0369b4e5-45b6-11d3-b650-00c04f79498e") ChannelTuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ChannelTuneRequest, 0x0369b4e5, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * ATSCChannelTuneRequest coclass
 */

DEFINE_GUID(CLSID_ATSCChannelTuneRequest, 0x0369b4e6, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("0369b4e6-45b6-11d3-b650-00c04f79498e") ATSCChannelTuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ATSCChannelTuneRequest, 0x0369b4e6, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * DigitalCableTuneRequest coclass
 */

DEFINE_GUID(CLSID_DigitalCableTuneRequest, 0x26ec0b63, 0xaa90, 0x458a, 0x8d,0xf4, 0x56,0x59,0xf2,0xc8,0xa1,0x8a);

#ifdef __cplusplus
class DECLSPEC_UUID("26ec0b63-aa90-458a-8df4-5659f2c8a18a") DigitalCableTuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DigitalCableTuneRequest, 0x26ec0b63, 0xaa90, 0x458a, 0x8d,0xf4, 0x56,0x59,0xf2,0xc8,0xa1,0x8a)
#endif
#endif

/*****************************************************************************
 * MPEG2TuneRequest coclass
 */

DEFINE_GUID(CLSID_MPEG2TuneRequest, 0x0955ac62, 0xbf2e, 0x4cba, 0xa2,0xb9, 0xa6,0x3f,0x77,0x2d,0x46,0xcf);

#ifdef __cplusplus
class DECLSPEC_UUID("0955ac62-bf2e-4cba-a2b9-a63f772d46cf") MPEG2TuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MPEG2TuneRequest, 0x0955ac62, 0xbf2e, 0x4cba, 0xa2,0xb9, 0xa6,0x3f,0x77,0x2d,0x46,0xcf)
#endif
#endif

/*****************************************************************************
 * MPEG2TuneRequestFactory coclass
 */

DEFINE_GUID(CLSID_MPEG2TuneRequestFactory, 0x2c63e4eb, 0x4cea, 0x41b8, 0x91,0x9c, 0xe9,0x47,0xea,0x19,0xa7,0x7c);

#ifdef __cplusplus
class DECLSPEC_UUID("2c63e4eb-4cea-41b8-919c-e947ea19a77c") MPEG2TuneRequestFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MPEG2TuneRequestFactory, 0x2c63e4eb, 0x4cea, 0x41b8, 0x91,0x9c, 0xe9,0x47,0xea,0x19,0xa7,0x7c)
#endif
#endif

/*****************************************************************************
 * Locator coclass
 */

DEFINE_GUID(CLSID_Locator, 0x0888c883, 0xac4f, 0x4943, 0xb5,0x16, 0x2c,0x38,0xd9,0xb3,0x45,0x62);

#ifdef __cplusplus
class DECLSPEC_UUID("0888c883-ac4f-4943-b516-2c38d9b34562") Locator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(Locator, 0x0888c883, 0xac4f, 0x4943, 0xb5,0x16, 0x2c,0x38,0xd9,0xb3,0x45,0x62)
#endif
#endif

/*****************************************************************************
 * DigitalLocator coclass
 */

DEFINE_GUID(CLSID_DigitalLocator, 0x6e50cc0d, 0xc19b, 0x4bf6, 0x81,0x0b, 0x5b,0xd6,0x07,0x61,0xf5,0xcc);

#ifdef __cplusplus
class DECLSPEC_UUID("6e50cc0d-c19b-4bf6-810b-5bd60761f5cc") DigitalLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DigitalLocator, 0x6e50cc0d, 0xc19b, 0x4bf6, 0x81,0x0b, 0x5b,0xd6,0x07,0x61,0xf5,0xcc)
#endif
#endif

/*****************************************************************************
 * AnalogLocator coclass
 */

DEFINE_GUID(CLSID_AnalogLocator, 0x49638b91, 0x48ab, 0x48b7, 0xa4,0x7a, 0x7d,0x0e,0x75,0xa0,0x8e,0xde);

#ifdef __cplusplus
class DECLSPEC_UUID("49638b91-48ab-48b7-a47a-7d0e75a08ede") AnalogLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AnalogLocator, 0x49638b91, 0x48ab, 0x48b7, 0xa4,0x7a, 0x7d,0x0e,0x75,0xa0,0x8e,0xde)
#endif
#endif

/*****************************************************************************
 * ATSCLocator coclass
 */

DEFINE_GUID(CLSID_ATSCLocator, 0x8872ff1b, 0x98fa, 0x4d7a, 0x8d,0x93, 0xc9,0xf1,0x05,0x5f,0x85,0xbb);

#ifdef __cplusplus
class DECLSPEC_UUID("8872ff1b-98fa-4d7a-8d93-c9f1055f85bb") ATSCLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ATSCLocator, 0x8872ff1b, 0x98fa, 0x4d7a, 0x8d,0x93, 0xc9,0xf1,0x05,0x5f,0x85,0xbb)
#endif
#endif

/*****************************************************************************
 * DigitalCableLocator coclass
 */

DEFINE_GUID(CLSID_DigitalCableLocator, 0x03c06416, 0xd127, 0x407a, 0xab,0x4c, 0xfd,0xd2,0x79,0xab,0xbe,0x5d);

#ifdef __cplusplus
class DECLSPEC_UUID("03c06416-d127-407a-ab4c-fdd279abbe5d") DigitalCableLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DigitalCableLocator, 0x03c06416, 0xd127, 0x407a, 0xab,0x4c, 0xfd,0xd2,0x79,0xab,0xbe,0x5d)
#endif
#endif

/*****************************************************************************
 * DVBTLocator coclass
 */

DEFINE_GUID(CLSID_DVBTLocator, 0x9cd64701, 0xbdf3, 0x4d14, 0x8e,0x03, 0xf1,0x29,0x83,0xd8,0x66,0x64);

#ifdef __cplusplus
class DECLSPEC_UUID("9cd64701-bdf3-4d14-8e03-f12983d86664") DVBTLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBTLocator, 0x9cd64701, 0xbdf3, 0x4d14, 0x8e,0x03, 0xf1,0x29,0x83,0xd8,0x66,0x64)
#endif
#endif

/*****************************************************************************
 * DVBTLocator2 coclass
 */

DEFINE_GUID(CLSID_DVBTLocator2, 0xefe3fa02, 0x45d7, 0x4920, 0xbe,0x96, 0x53,0xfa,0x7f,0x35,0xb0,0xe6);

#ifdef __cplusplus
class DECLSPEC_UUID("efe3fa02-45d7-4920-be96-53fa7f35b0e6") DVBTLocator2;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBTLocator2, 0xefe3fa02, 0x45d7, 0x4920, 0xbe,0x96, 0x53,0xfa,0x7f,0x35,0xb0,0xe6)
#endif
#endif

/*****************************************************************************
 * DVBSLocator coclass
 */

DEFINE_GUID(CLSID_DVBSLocator, 0x1df7d126, 0x4050, 0x47f0, 0xa7,0xcf, 0x4c,0x4c,0xa9,0x24,0x13,0x33);

#ifdef __cplusplus
class DECLSPEC_UUID("1df7d126-4050-47f0-a7cf-4c4ca9241333") DVBSLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBSLocator, 0x1df7d126, 0x4050, 0x47f0, 0xa7,0xcf, 0x4c,0x4c,0xa9,0x24,0x13,0x33)
#endif
#endif

/*****************************************************************************
 * DVBCLocator coclass
 */

DEFINE_GUID(CLSID_DVBCLocator, 0xc531d9fd, 0x9685, 0x4028, 0x8b,0x68, 0x6e,0x12,0x32,0x07,0x9f,0x1e);

#ifdef __cplusplus
class DECLSPEC_UUID("c531d9fd-9685-4028-8b68-6e1232079f1e") DVBCLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBCLocator, 0xc531d9fd, 0x9685, 0x4028, 0x8b,0x68, 0x6e,0x12,0x32,0x07,0x9f,0x1e)
#endif
#endif

/*****************************************************************************
 * ISDBSLocator coclass
 */

DEFINE_GUID(CLSID_ISDBSLocator, 0x6504afed, 0xa629, 0x455c, 0xa7,0xf1, 0x04,0x96,0x4d,0xea,0x5c,0xc4);

#ifdef __cplusplus
class DECLSPEC_UUID("6504afed-a629-455c-a7f1-04964dea5cc4") ISDBSLocator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISDBSLocator, 0x6504afed, 0xa629, 0x455c, 0xa7,0xf1, 0x04,0x96,0x4d,0xea,0x5c,0xc4)
#endif
#endif

/*****************************************************************************
 * DVBTuneRequest coclass
 */

DEFINE_GUID(CLSID_DVBTuneRequest, 0x15d6504a, 0x5494, 0x499c, 0x88,0x6c, 0x97,0x3c,0x9e,0x53,0xb9,0xf1);

#ifdef __cplusplus
class DECLSPEC_UUID("15d6504a-5494-499c-886c-973c9e53b9f1") DVBTuneRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVBTuneRequest, 0x15d6504a, 0x5494, 0x499c, 0x88,0x6c, 0x97,0x3c,0x9e,0x53,0xb9,0xf1)
#endif
#endif

/*****************************************************************************
 * CreatePropBagOnRegKey coclass
 */

DEFINE_GUID(CLSID_CreatePropBagOnRegKey, 0x8a674b49, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e);

#ifdef __cplusplus
class DECLSPEC_UUID("8a674b49-1f63-11d3-b64c-00c04f79498e") CreatePropBagOnRegKey;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CreatePropBagOnRegKey, 0x8a674b49, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e)
#endif
#endif

/*****************************************************************************
 * BroadcastEventService coclass
 */

DEFINE_GUID(CLSID_BroadcastEventService, 0x0b3ffb92, 0x0919, 0x4934, 0x9d,0x5b, 0x61,0x9c,0x71,0x9d,0x02,0x02);

#ifdef __cplusplus
class DECLSPEC_UUID("0b3ffb92-0919-4934-9d5b-619c719d0202") BroadcastEventService;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(BroadcastEventService, 0x0b3ffb92, 0x0919, 0x4934, 0x9d,0x5b, 0x61,0x9c,0x71,0x9d,0x02,0x02)
#endif
#endif

/*****************************************************************************
 * TunerMarshaler coclass
 */

DEFINE_GUID(CLSID_TunerMarshaler, 0x6438570b, 0x0c08, 0x4a25, 0x95,0x04, 0x80,0x12,0xbb,0x4d,0x50,0xcf);

#ifdef __cplusplus
class DECLSPEC_UUID("6438570b-0c08-4a25-9504-8012bb4d50cf") TunerMarshaler;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TunerMarshaler, 0x6438570b, 0x0c08, 0x4a25, 0x95,0x04, 0x80,0x12,0xbb,0x4d,0x50,0xcf)
#endif
#endif

/*****************************************************************************
 * PersistTuneXmlUtility coclass
 */

DEFINE_GUID(CLSID_PersistTuneXmlUtility, 0xe77026b0, 0xb97f, 0x4cbb, 0xb7,0xfb, 0xf4,0xf0,0x3a,0xd6,0x9f,0x11);

#ifdef __cplusplus
class DECLSPEC_UUID("e77026b0-b97f-4cbb-b7fb-f4f03ad69f11") PersistTuneXmlUtility;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PersistTuneXmlUtility, 0xe77026b0, 0xb97f, 0x4cbb, 0xb7,0xfb, 0xf4,0xf0,0x3a,0xd6,0x9f,0x11)
#endif
#endif

/*****************************************************************************
 * ESEventService coclass
 */

DEFINE_GUID(CLSID_ESEventService, 0xc20447fc, 0xec60, 0x475e, 0x81,0x3f, 0xd2,0xb0,0xa6,0xde,0xce,0xfe);

#ifdef __cplusplus
class DECLSPEC_UUID("c20447fc-ec60-475e-813f-d2b0a6decefe") ESEventService;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ESEventService, 0xc20447fc, 0xec60, 0x475e, 0x81,0x3f, 0xd2,0xb0,0xa6,0xde,0xce,0xfe)
#endif
#endif

/*****************************************************************************
 * ESEventFactory coclass
 */

DEFINE_GUID(CLSID_ESEventFactory, 0x8e8a07da, 0x71f8, 0x40c1, 0xa9,0x29, 0x5e,0x3a,0x86,0x8a,0xc2,0xc6);

#ifdef __cplusplus
class DECLSPEC_UUID("8e8a07da-71f8-40c1-a929-5e3a868ac2c6") ESEventFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ESEventFactory, 0x8e8a07da, 0x71f8, 0x40c1, 0xa9,0x29, 0x5e,0x3a,0x86,0x8a,0xc2,0xc6)
#endif
#endif

#endif /* __TunerLib_LIBRARY_DEFINED__ */
#endif
/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __tuner_h__ */
