|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | #include <olectl.h> | 
|  |  | 
|  | #ifndef DO_NO_IMPORTS | 
|  | import "oaidl.idl"; | 
|  | import "comcat.idl"; | 
|  | import "strmif.idl"; | 
|  | import "bdaiface.idl"; | 
|  | import "regbag.idl"; | 
|  | #else | 
|  | cpp_quote("#include <bdaiface.h>") | 
|  | #endif | 
|  |  | 
|  | interface IAnalogLocator; | 
|  | interface IATSCLocator; | 
|  | interface IComponent; | 
|  | interface IComponents; | 
|  | interface IComponentType; | 
|  | interface IComponentTypes; | 
|  | interface IDigitalCableLocator; | 
|  | interface IDigitalCableTuneRequest; | 
|  | interface IDigitalCableTuningSpace; | 
|  | interface IDVBCLocator; | 
|  | interface IDVBSLocator; | 
|  | interface IDVBSLocator2; | 
|  | interface IDVBTLocator; | 
|  | interface IDVBTLocator2; | 
|  | interface IEnumComponents; | 
|  | interface IEnumComponentTypes; | 
|  | interface IEnumTuningSpaces; | 
|  | interface IISDBSLocator; | 
|  | interface ILanguageComponentType; | 
|  | interface ILocator; | 
|  | interface IMPEG2Component; | 
|  | interface IMPEG2ComponentType; | 
|  | interface IScanningTuner; | 
|  | interface ITuneRequest; | 
|  | interface ITuner; | 
|  | interface ITunerCap; | 
|  | interface ITuningSpace; | 
|  | interface ITuningSpaceContainer; | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#include <winapifamily.h>") | 
|  |  | 
|  | cpp_quote("#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, | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#define SID_ESEventService CLSID_ESEventService") | 
|  | cpp_quote("#define SID_ESEventFactory CLSID_ESEventFactory") | 
|  | cpp_quote("#define SID_SBroadcastEventService CLSID_BroadcastEventService") | 
|  | cpp_quote("#define SID_SContentTuneRequest IID_ITuner") | 
|  | cpp_quote("#define SID_ScanningTuner IID_IScanningTuner") | 
|  | cpp_quote("#define SID_ScanningTunerEx IID_IScanningTunerEx") | 
|  | cpp_quote("") | 
|  |  | 
|  | [object, uuid (901284e4-33fe-4b69-8d63-634a596f3756), dual, oleautomation, proxy, nonextensible, pointer_default (unique)] | 
|  | interface ITuningSpaces : IDispatch { | 
|  | [propget] HRESULT Count ([out, retval] long *Count); | 
|  | [propget, id (DISPID_NEWENUM), hidden, restricted] HRESULT _NewEnum ([out, retval] IEnumVARIANT **NewEnum); | 
|  | [propget, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT varIndex,[out, retval] ITuningSpace **TuningSpace); | 
|  | [propget, hidden, restricted] HRESULT EnumTuningSpaces ([out, retval] IEnumTuningSpaces **NewEnum); | 
|  | } | 
|  |  | 
|  | [object, uuid (5b692e84-E2F1-11d2-9493-00c04f72d980), dual, oleautomation, proxy, hidden, nonextensible, pointer_default (unique)] | 
|  | interface ITuningSpaceContainer : IDispatch { | 
|  | [propget] HRESULT Count ([out, retval] long *Count); | 
|  | [propget, id (DISPID_NEWENUM), hidden, restricted] HRESULT _NewEnum ([out, retval] IEnumVARIANT **NewEnum); | 
|  | [propget, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT varIndex,[out, retval] ITuningSpace **TuningSpace); | 
|  | [propput, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT varIndex,[in] ITuningSpace *TuningSpace); | 
|  | HRESULT TuningSpacesForCLSID ([in] BSTR SpaceCLSID,[out, retval] ITuningSpaces **NewColl); | 
|  | [hidden, restricted] HRESULT _TuningSpacesForCLSID ([in] REFCLSID SpaceCLSID,[out, retval] ITuningSpaces **NewColl); | 
|  | HRESULT TuningSpacesForName ([in] BSTR Name,[out, retval] ITuningSpaces **NewColl); | 
|  | HRESULT FindID ([in] ITuningSpace *TuningSpace,[out, retval] long *ID); | 
|  | [id (DISPID_ADDITEM)] HRESULT Add ([in] ITuningSpace *TuningSpace,[out, retval] VARIANT *NewIndex); | 
|  | [propget, hidden, restricted] HRESULT EnumTuningSpaces ([out, retval] IEnumTuningSpaces **ppEnum); | 
|  | [id (DISPID_REMOVEITEM)] HRESULT Remove ([in] VARIANT Index); | 
|  | [propget] HRESULT MaxCount ([out, retval] long *MaxCount); | 
|  | [propput, hidden, restricted] HRESULT MaxCount ([in] long MaxCount); | 
|  | } | 
|  |  | 
|  | [object, uuid (061c6e30-E622-11d2-9493-00c04f72d980), dual, oleautomation, proxy, nonextensible, pointer_default (unique)] | 
|  | interface ITuningSpace : IDispatch { | 
|  | [propget, id (DISPID_TUNER_TS_UNIQUENAME)] HRESULT UniqueName ([out, retval] BSTR *Name); | 
|  | [propput, id (DISPID_TUNER_TS_UNIQUENAME)] HRESULT UniqueName ([in] BSTR Name); | 
|  | [propget, id (DISPID_TUNER_TS_FRIENDLYNAME)] HRESULT FriendlyName ([out, retval] BSTR *Name); | 
|  | [propput, id (DISPID_TUNER_TS_FRIENDLYNAME)] HRESULT FriendlyName ([in] BSTR Name); | 
|  | [propget, id (DISPID_TUNER_TS_CLSID)] HRESULT CLSID ([out, retval] BSTR *SpaceCLSID); | 
|  | [propget, id (DISPID_TUNER_TS_NETWORKTYPE)] HRESULT NetworkType ([out, retval] BSTR *NetworkTypeGuid); | 
|  | [propput, id (DISPID_TUNER_TS_NETWORKTYPE)] HRESULT NetworkType ([in] BSTR NetworkTypeGuid); | 
|  | [propget, id (DISPID_TUNER_TS__NETWORKTYPE), hidden, restricted] HRESULT _NetworkType ([out, retval] GUID *NetworkTypeGuid); | 
|  | [propput, id (DISPID_TUNER_TS__NETWORKTYPE), hidden, restricted] HRESULT _NetworkType ([in] REFCLSID NetworkTypeGuid); | 
|  | [id (DISPID_TUNER_TS_CREATETUNEREQUEST)] HRESULT CreateTuneRequest ([out, retval] ITuneRequest **TuneRequest); | 
|  | [id (DISPID_TUNER_TS_ENUMCATEGORYGUIDS), hidden, restricted] HRESULT EnumCategoryGUIDs ([out, retval] IEnumGUID **ppEnum); | 
|  | [id (DISPID_TUNER_TS_ENUMDEVICEMONIKERS), hidden, restricted] HRESULT EnumDeviceMonikers ([out, retval] IEnumMoniker **ppEnum); | 
|  | [propget, id (DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES)] HRESULT DefaultPreferredComponentTypes ([out, retval] IComponentTypes **ComponentTypes); | 
|  | [propput, id (DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES)] HRESULT DefaultPreferredComponentTypes ([in] IComponentTypes *NewComponentTypes); | 
|  | [propget, id (DISPID_TUNER_TS_FREQMAP)] HRESULT FrequencyMapping ([out, retval] BSTR *pMapping); | 
|  | [propput, id (DISPID_TUNER_TS_FREQMAP)] HRESULT FrequencyMapping (BSTR Mapping); | 
|  | [propget, id (DISPID_TUNER_TS_DEFLOCATOR)] HRESULT DefaultLocator ([out, retval] ILocator **LocatorVal); | 
|  | [propput, id (DISPID_TUNER_TS_DEFLOCATOR)] HRESULT DefaultLocator ([in]ILocator *LocatorVal); | 
|  | HRESULT Clone ([out, retval] ITuningSpace **NewTS); | 
|  | } | 
|  | [object, hidden, restricted, uuid (8b8eb248-FC2B-11d2-9d8c-00c04f72d980), pointer_default (unique)] | 
|  | interface IEnumTuningSpaces : IUnknown { | 
|  | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] ITuningSpace **rgelt,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (void); | 
|  | HRESULT Clone ([out] IEnumTuningSpaces **ppEnum); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (ADA0B268-3b19-4e5b-ACC4-49f852be13ba), pointer_default (unique)] | 
|  | interface IDVBTuningSpace : ITuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_DVB_SYSTEMTYPE)] HRESULT SystemType ([out, retval] DVBSystemType *SysType); | 
|  | [propput, id (DISPID_TUNER_TS_DVB_SYSTEMTYPE)] HRESULT SystemType ([in] DVBSystemType SysType); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (843188b4-CE62-43db-966b-8145a094e040), pointer_default (unique)] | 
|  | interface IDVBTuningSpace2 : IDVBTuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_DVB2_NETWORK_ID)] HRESULT NetworkID ([out, retval] long *NetworkID); | 
|  | [propput, id (DISPID_TUNER_TS_DVB2_NETWORK_ID)] HRESULT NetworkID ([in] long NetworkID); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (CDF7BE60-D954-42fd-A972-78971958e470), pointer_default (unique)] | 
|  | interface IDVBSTuningSpace : IDVBTuningSpace2 { | 
|  | [propget, id (DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ)] HRESULT LowOscillator ([out, retval] long *LowOscillator); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ)] HRESULT LowOscillator ([in] long LowOscillator); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS_HI_OSC_FREQ)] HRESULT HighOscillator ([out, retval] long *HighOscillator); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS_HI_OSC_FREQ)] HRESULT HighOscillator ([in] long HighOscillator); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ)] HRESULT LNBSwitch ([out, retval] long *LNBSwitch); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ)] HRESULT LNBSwitch ([in] long LNBSwitch); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS_INPUT_RANGE)] HRESULT InputRange ([out, retval] BSTR *InputRange); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS_INPUT_RANGE)] HRESULT InputRange ([in] BSTR InputRange); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION)] HRESULT SpectralInversion ([out, retval] SpectralInversion *SpectralInversionVal); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION)] HRESULT SpectralInversion ([in] SpectralInversion SpectralInversionVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (E48244B8-7e17-4f76-A763-5090ff1e2f30), pointer_default (unique)] | 
|  | interface IAuxInTuningSpace : ITuningSpace { | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (B10931ED-8bfe-4ab0-9dce-E469C29A9729), pointer_default (unique)] | 
|  | interface IAuxInTuningSpace2 : IAuxInTuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_AUX_COUNTRYCODE)] HRESULT CountryCode ([out, retval] long *CountryCodeVal); | 
|  | [propput, id (DISPID_TUNER_TS_AUX_COUNTRYCODE)] HRESULT CountryCode ([in] long NewCountryCodeVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (2a6e293c-2595-11d3-b64c-00c04f79498e), pointer_default (unique)] | 
|  | interface IAnalogTVTuningSpace : ITuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_ATV_MINCHANNEL)] HRESULT MinChannel ([out, retval] long *MinChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATV_MINCHANNEL)] HRESULT MinChannel ([in] long NewMinChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATV_MAXCHANNEL)] HRESULT MaxChannel ([out, retval] long *MaxChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATV_MAXCHANNEL)] HRESULT MaxChannel ([in] long NewMaxChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATV_INPUTTYPE)] HRESULT InputType ([out, retval] TunerInputType *InputTypeVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATV_INPUTTYPE)] HRESULT InputType ([in] TunerInputType NewInputTypeVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATV_COUNTRYCODE)] HRESULT CountryCode ([out, retval] long *CountryCodeVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATV_COUNTRYCODE)] HRESULT CountryCode ([in] long NewCountryCodeVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (0369b4e2-45b6-11d3-B650-00c04f79498e), pointer_default (unique)] | 
|  | interface IATSCTuningSpace : IAnalogTVTuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_ATSC_MINMINORCHANNEL)] HRESULT MinMinorChannel ([out, retval] long *MinMinorChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATSC_MINMINORCHANNEL)] HRESULT MinMinorChannel ([in] long NewMinMinorChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL)] HRESULT MaxMinorChannel ([out, retval] long *MaxMinorChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL)] HRESULT MaxMinorChannel ([in] long NewMaxMinorChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL)] HRESULT MinPhysicalChannel ([out, retval] long *MinPhysicalChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL)] HRESULT MinPhysicalChannel ([in] long NewMinPhysicalChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL)] HRESULT MaxPhysicalChannel ([out, retval] long *MaxPhysicalChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL)] HRESULT MaxPhysicalChannel ([in] long NewMaxPhysicalChannelVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (013f9f9c-B449-4ec7-A6D2-9d4f2fc70ae5), pointer_default (unique)] | 
|  | interface IDigitalCableTuningSpace : IATSCTuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_DC_MINMAJORCHANNEL)] HRESULT MinMajorChannel ([out, retval] long *MinMajorChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_DC_MINMAJORCHANNEL)] HRESULT MinMajorChannel ([in] long NewMinMajorChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_DC_MAXMAJORCHANNEL)] HRESULT MaxMajorChannel ([out, retval] long *MaxMajorChannelVal); | 
|  | [propput, id (DISPID_TUNER_TS_DC_MAXMAJORCHANNEL)] HRESULT MaxMajorChannel ([in] long NewMaxMajorChannelVal); | 
|  | [propget, id (DISPID_TUNER_TS_DC_MINSOURCEID)] HRESULT MinSourceID ([out, retval] long *MinSourceIDVal); | 
|  | [propput, id (DISPID_TUNER_TS_DC_MINSOURCEID)] HRESULT MinSourceID ([in] long NewMinSourceIDVal); | 
|  | [propget, id (DISPID_TUNER_TS_DC_MAXSOURCEID)] HRESULT MaxSourceID ([out, retval] long *MaxSourceIDVal); | 
|  | [propput, id (DISPID_TUNER_TS_DC_MAXSOURCEID)] HRESULT MaxSourceID ([in] long NewMaxSourceIDVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (2a6e293b-2595-11d3-b64c-00c04f79498e), pointer_default (unique)] | 
|  | interface IAnalogRadioTuningSpace : ITuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_AR_MINFREQUENCY)] HRESULT MinFrequency ([out, retval] long *MinFrequencyVal); | 
|  | [propput, id (DISPID_TUNER_TS_AR_MINFREQUENCY)] HRESULT MinFrequency ([in] long NewMinFrequencyVal); | 
|  | [propget, id (DISPID_TUNER_TS_AR_MAXFREQUENCY)] HRESULT MaxFrequency ([out, retval] long *MaxFrequencyVal); | 
|  | [propput, id (DISPID_TUNER_TS_AR_MAXFREQUENCY)] HRESULT MaxFrequency ([in] long NewMaxFrequencyVal); | 
|  | [propget, id (DISPID_TUNER_TS_AR_STEP)] HRESULT Step ([out, retval] long *StepVal); | 
|  | [propput, id (DISPID_TUNER_TS_AR_STEP)] HRESULT Step ([in] long NewStepVal); | 
|  | } | 
|  |  | 
|  | [object, hidden, dual, oleautomation, proxy, nonextensible, uuid (39dd45da-2da8-46ba-8a8a-87e2b73d983a), pointer_default (unique)] | 
|  | interface IAnalogRadioTuningSpace2 : IAnalogRadioTuningSpace { | 
|  | [propget, id (DISPID_TUNER_TS_AR_COUNTRYCODE)] HRESULT CountryCode ([out, retval] long *CountryCodeVal); | 
|  | [propput, id (DISPID_TUNER_TS_AR_COUNTRYCODE)] HRESULT CountryCode ([in] long NewCountryCodeVal); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (07ddc146-FC3D-11d2-9d8c-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface ITuneRequest : IDispatch { | 
|  | [propget, id (DISPID_TUNER_TR_TUNINGSPACE)] HRESULT TuningSpace ([out, retval] ITuningSpace **TuningSpace); | 
|  | [propget, id (DISPID_TUNER_TR_COMPONENTS)] HRESULT Components ([out, retval] IComponents **Components); | 
|  | [id (DISPID_TUNER_TR_CLONE)] HRESULT Clone ([out, retval] ITuneRequest **NewTuneRequest); | 
|  | [propget, id (DISPID_TUNER_TR_LOCATOR)] HRESULT Locator ([out, retval] ILocator **Locator); | 
|  | [propput, id (DISPID_TUNER_TR_LOCATOR)] HRESULT Locator ([in] ILocator *Locator); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (156eff60-86f4-4e28-89fc-109799fd57ee), dual, oleautomation, pointer_default (unique)] | 
|  | interface IChannelIDTuneRequest : ITuneRequest { | 
|  | [propget, id (DISPID_CHTUNER_CIDTR_CHANNELID)] HRESULT ChannelID ([out, retval] BSTR *ChannelID); | 
|  | [propput, id (DISPID_CHTUNER_CIDTR_CHANNELID)] HRESULT ChannelID ([in] BSTR ChannelID); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (0369b4e0-45b6-11d3-B650-00c04f79498e), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IChannelTuneRequest : ITuneRequest { | 
|  | [propget, id (DISPID_CHTUNER_CTR_CHANNEL)] HRESULT Channel ([out, retval] long *Channel); | 
|  | [propput, id (DISPID_CHTUNER_CTR_CHANNEL)] HRESULT Channel ([in] long Channel); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (0369b4e1-45b6-11d3-B650-00c04f79498e), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IATSCChannelTuneRequest : IChannelTuneRequest { | 
|  | [propget, id (DISPID_CHTUNER_ACTR_MINOR_CHANNEL)] HRESULT MinorChannel ([out, retval] long *MinorChannel); | 
|  | [propput, id (DISPID_CHTUNER_ACTR_MINOR_CHANNEL)] HRESULT MinorChannel ([in] long MinorChannel); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (BAD7753B-6b37-4810-AE57-3ce0c4a9e6cb), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDigitalCableTuneRequest : IATSCChannelTuneRequest { | 
|  | [propget, id (DISPID_CHTUNER_DCTR_MAJOR_CHANNEL)] HRESULT MajorChannel ([out, retval] long *pMajorChannel); | 
|  | [propput, id (DISPID_CHTUNER_DCTR_MAJOR_CHANNEL)] HRESULT MajorChannel ([in] long MajorChannel); | 
|  | [propget, id (DISPID_CHTUNER_DCTR_SRCID)] HRESULT SourceID ([out, retval] long *pSourceID); | 
|  | [propput, id (DISPID_CHTUNER_DCTR_SRCID)] HRESULT SourceID ([in] long SourceID); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (0d6f567e-A636-42bb-83ba-CE4C1704AFA2), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBTuneRequest : ITuneRequest { | 
|  | [propget, id (DISPID_DVBTUNER_ONID)] HRESULT ONID ([out, retval] long *ONID); | 
|  | [propput, id (DISPID_DVBTUNER_ONID)] HRESULT ONID ([in] long ONID); | 
|  | [propget, id (DISPID_DVBTUNER_TSID)] HRESULT TSID ([out, retval] long *TSID); | 
|  | [propput, id (DISPID_DVBTUNER_TSID)] HRESULT TSID ([in] long TSID); | 
|  | [propget, id (DISPID_DVBTUNER_SID)] HRESULT SID ([out, retval] long *SID); | 
|  | [propput, id (DISPID_DVBTUNER_SID)] HRESULT SID ([in] long SID); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (EB7D987F-8a01-42ad-B8AE-574deee44d1a), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IMPEG2TuneRequest : ITuneRequest { | 
|  | [propget, id (DISPID_MP2TUNER_TSID)] HRESULT TSID ([out, retval] long *TSID); | 
|  | [propput, id (DISPID_MP2TUNER_TSID)] HRESULT TSID ([in] long TSID); | 
|  | [propget, id (DISPID_MP2TUNER_PROGNO)] HRESULT ProgNo ([out, retval] long *ProgNo); | 
|  | [propput, id (DISPID_MP2TUNER_PROGNO)] HRESULT ProgNo ([in] long ProgNo); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, hidden, uuid (14e11abd-EE37-4893-9ea1-6964de933e39), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IMPEG2TuneRequestFactory : IDispatch { | 
|  | [id (DISPID_MP2TUNERFACTORY_CREATETUNEREQUEST)] HRESULT CreateTuneRequest ([in] ITuningSpace *TuningSpace,[out, retval] IMPEG2TuneRequest **TuneRequest); | 
|  | } | 
|  |  | 
|  | [object, hidden, restricted, nonextensible, uuid (1b9d5fc3-5bbc-4b6c-BB18-B9D10E3EEEBF), pointer_default (unique)] | 
|  | interface IMPEG2TuneRequestSupport : IUnknown { | 
|  | } | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (E60DFA45-8d56-4e65-A8AB-D6BE9412C249), pointer_default (unique)] | 
|  | interface ITunerCap : IUnknown { | 
|  | [propget] HRESULT SupportedNetworkTypes ([in] ULONG ulcNetworkTypesMax,[out] ULONG *pulcNetworkTypes,[in, out] GUID *pguidNetworkTypes); | 
|  | [propget] HRESULT SupportedVideoFormats ([out] ULONG *pulAMTunerModeType,[out] ULONG *pulAnalogVideoStandard); | 
|  | [propget] HRESULT AuxInputCount ([in, out] ULONG *pulCompositeCount,[in, out] ULONG *pulSvideoCount); | 
|  | } | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (ed3e0c66-18c8-4ea6-9300-f6841fdd35dc), pointer_default (unique)] | 
|  | interface ITunerCapEx : IUnknown { | 
|  | [propget] HRESULT Has608_708Caption ([out, retval]VARIANT_BOOL *pbHasCaption); | 
|  | } | 
|  | [object, hidden, nonextensible, uuid (28c52640-018a-11d3-9d8e-00c04f72d980), pointer_default (unique)] | 
|  | interface ITuner : IUnknown { | 
|  | [propget] HRESULT TuningSpace ([out, retval] ITuningSpace **TuningSpace); | 
|  | [propput] HRESULT TuningSpace ([in] ITuningSpace *TuningSpace); | 
|  | [hidden, restricted] HRESULT EnumTuningSpaces ([out, retval] IEnumTuningSpaces **ppEnum); | 
|  | [propget] HRESULT TuneRequest ([out, retval] ITuneRequest **TuneRequest); | 
|  | [propput] HRESULT TuneRequest ([in] ITuneRequest *TuneRequest); | 
|  | HRESULT Validate ([in] ITuneRequest *TuneRequest); | 
|  | [propget] HRESULT PreferredComponentTypes ([out, retval] IComponentTypes **ComponentTypes); | 
|  | [propput] HRESULT PreferredComponentTypes ([in] IComponentTypes *ComponentTypes); | 
|  | [propget] HRESULT SignalStrength ([out, retval] long *Strength); | 
|  | HRESULT TriggerSignalEvents ([in] long Interval); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (1dfd0a5c-0284-11d3-9d8e-00c04f72d980), pointer_default (unique)] | 
|  | interface IScanningTuner : ITuner { | 
|  | HRESULT SeekUp (); | 
|  | HRESULT SeekDown (); | 
|  | HRESULT ScanUp ([in] long MillisecondsPause); | 
|  | HRESULT ScanDown ([in] long MillisecondsPause); | 
|  | HRESULT AutoProgram (); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (04bbd195-0e2d-4593-9bd5-4f908bc33cf5), pointer_default (unique)] | 
|  | interface IScanningTunerEx : IScanningTuner { | 
|  | HRESULT GetCurrentLocator (ILocator **pILocator); | 
|  | HRESULT PerformExhaustiveScan ([in] long dwLowerFreq,[in] long dwHigherFreq,[in] VARIANT_BOOL bFineTune,[in] HEVENT hEvent); | 
|  | HRESULT TerminateCurrentScan ([out, retval] long *pcurrentFreq); | 
|  | HRESULT ResumeCurrentScan ([in] HEVENT hEvent); | 
|  | HRESULT GetTunerScanningCapability ([out] long *HardwareAssistedScanning,[out] long *NumStandardsSupported,[out] GUID *BroadcastStandards); | 
|  | HRESULT GetTunerStatus ([out] long *SecondsLeft,[out] long *CurrentLockType,[out] long *AutoDetect,[out] long *CurrentFreq); | 
|  | HRESULT GetCurrentTunerStandardCapability ([in] GUID CurrentBroadcastStandard,[out] long *SettlingTime,[out] long *TvStandardsSupported); | 
|  | HRESULT SetScanSignalTypeFilter ([in] long ScanModulationTypes,[in] long AnalogVideoStandard); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (6a340dc0-0311-11d3-9d8e-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IComponentType : IDispatch { | 
|  | [propget, id (DISPID_TUNER_CT_CATEGORY)] HRESULT Category ([out, retval] ComponentCategory *Category); | 
|  | [propput, id (DISPID_TUNER_CT_CATEGORY)] HRESULT Category ([in] ComponentCategory Category); | 
|  | [propget, id (DISPID_TUNER_CT_MEDIAMAJORTYPE)] HRESULT MediaMajorType ([out, retval] BSTR *MediaMajorType); | 
|  | [propput, id (DISPID_TUNER_CT_MEDIAMAJORTYPE)] HRESULT MediaMajorType ([in] BSTR MediaMajorType); | 
|  | [propget, id (DISPID_TUNER_CT__MEDIAMAJORTYPE), hidden, restricted] HRESULT _MediaMajorType ([out, retval] GUID *MediaMajorTypeGuid); | 
|  | [propput, id (DISPID_TUNER_CT__MEDIAMAJORTYPE), hidden, restricted] HRESULT _MediaMajorType ([in] REFCLSID MediaMajorTypeGuid); | 
|  | [propget, id (DISPID_TUNER_CT_MEDIASUBTYPE)] HRESULT MediaSubType ([out, retval] BSTR *MediaSubType); | 
|  | [propput, id (DISPID_TUNER_CT_MEDIASUBTYPE)] HRESULT MediaSubType ([in] BSTR MediaSubType); | 
|  | [propget, id (DISPID_TUNER_CT__MEDIASUBTYPE), hidden, restricted] HRESULT _MediaSubType ([out, retval] GUID *MediaSubTypeGuid); | 
|  | [propput, id (DISPID_TUNER_CT__MEDIASUBTYPE), hidden, restricted] HRESULT _MediaSubType ([in] REFCLSID MediaSubTypeGuid); | 
|  | [propget, id (DISPID_TUNER_CT_MEDIAFORMATTYPE)] HRESULT MediaFormatType ([out, retval] BSTR *MediaFormatType); | 
|  | [propput, id (DISPID_TUNER_CT_MEDIAFORMATTYPE)] HRESULT MediaFormatType ([in] BSTR MediaFormatType); | 
|  | [propget, id (DISPID_TUNER_CT__MEDIAFORMATTYPE), hidden, restricted] HRESULT _MediaFormatType ([out, retval] GUID *MediaFormatTypeGuid); | 
|  | [propput, id (DISPID_TUNER_CT__MEDIAFORMATTYPE), hidden, restricted] HRESULT _MediaFormatType ([in] REFCLSID MediaFormatTypeGuid); | 
|  | [propget, id (DISPID_TUNER_CT_MEDIATYPE), hidden, restricted] HRESULT MediaType ([out, retval] AM_MEDIA_TYPE *MediaType); | 
|  | [propput, id (DISPID_TUNER_CT_MEDIATYPE), hidden, restricted] HRESULT MediaType ([in] AM_MEDIA_TYPE *MediaType); | 
|  | [id (DISPID_TUNER_CT_CLONE)] HRESULT Clone ([out, retval] IComponentType **NewCT); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (B874C8BA-0fa2-11d3-9d8e-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface ILanguageComponentType : IComponentType { | 
|  | [propget, id (DISPID_TUNER_LCT_LANGID)] HRESULT LangID ([out, retval] long *LangID); | 
|  | [propput, id (DISPID_TUNER_LCT_LANGID)] HRESULT LangID ([in] long LangID); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (2c073d84-B51C-48c9-AA9F-68971e1f6e38), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IMPEG2ComponentType : ILanguageComponentType { | 
|  | [propget, id (DISPID_TUNER_MP2CT_TYPE)] HRESULT StreamType ([out, retval] MPEG2StreamType *MP2StreamType); | 
|  | [propput, id (DISPID_TUNER_MP2CT_TYPE)] HRESULT StreamType ([in] MPEG2StreamType MP2StreamType); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (FC189E4D-7bd4-4125-B3B3-3a76a332cc96), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IATSCComponentType : IMPEG2ComponentType { | 
|  | [propget, id (DISPID_TUNER_ATSCCT_FLAGS)] HRESULT Flags ([out, retval] long *Flags); | 
|  | [propput, id (DISPID_TUNER_ATSCCT_FLAGS)] HRESULT Flags ([in] long flags); | 
|  | }; | 
|  |  | 
|  | [object, hidden, restricted, uuid (8a674b4a-1f63-11d3-b64c-00c04f79498e), pointer_default (unique)] | 
|  | interface IEnumComponentTypes : IUnknown { | 
|  | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IComponentType **rgelt,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (void); | 
|  | HRESULT Clone ([out] IEnumComponentTypes **ppEnum); | 
|  | } | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (0dc13d4a-0313-11d3-9d8e-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IComponentTypes : IDispatch { | 
|  | [propget] HRESULT Count ([out, retval] long *Count); | 
|  | [propget, id (DISPID_NEWENUM), hidden, restricted] HRESULT _NewEnum ([out, retval] IEnumVARIANT **ppNewEnum); | 
|  | [hidden, restricted] HRESULT EnumComponentTypes ([out, retval] IEnumComponentTypes **ppNewEnum); | 
|  | [propget, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT Index,[out, retval] IComponentType **ComponentType); | 
|  | [propput, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT Index,[in] IComponentType *ComponentType); | 
|  | [id (DISPID_ADDITEM)] HRESULT Add ([in] IComponentType *ComponentType,[out, retval] VARIANT *NewIndex); | 
|  | [id (DISPID_REMOVEITEM)] HRESULT Remove ([in] VARIANT Index); | 
|  | HRESULT Clone ([out, retval] IComponentTypes **NewList); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (1a5576fc-0e19-11d3-9d8e-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IComponent : IDispatch { | 
|  | [propget, id (DISPID_TUNER_C_TYPE)] HRESULT Type ([out, retval] IComponentType **CT); | 
|  | [propput, hidden, restricted, id (DISPID_TUNER_C_TYPE)] HRESULT Type ([in] IComponentType *CT); | 
|  | [propget, id (DISPID_TUNER_C_LANGID)] HRESULT DescLangID ([out, retval] long *LangID); | 
|  | [propput, id (DISPID_TUNER_C_LANGID)] HRESULT DescLangID ([in] long LangID); | 
|  | [propget, id (DISPID_TUNER_C_STATUS)] HRESULT Status ([out, retval] ComponentStatus *Status); | 
|  | [propput, id (DISPID_TUNER_C_STATUS)] HRESULT Status ([in] ComponentStatus Status); | 
|  | [propget, id (DISPID_TUNER_C_DESCRIPTION)] HRESULT Description ([out, retval] BSTR *Description); | 
|  | [propput, hidden, restricted, id (DISPID_TUNER_C_DESCRIPTION)] HRESULT Description ([in] BSTR Description); | 
|  | [id (DISPID_TUNER_C_CLONE)] HRESULT Clone ([out, retval] IComponent **NewComponent); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (2cfeb2a8-1787-4a24-A941-C6EAEC39C842), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IAnalogAudioComponentType : IComponentType { | 
|  | [propget, id (DISPID_TUNER_C_ANALOG_AUDIO)] HRESULT AnalogAudioMode ([out, retval] TVAudioMode *Mode); | 
|  | [propput, id (DISPID_TUNER_C_ANALOG_AUDIO)] HRESULT AnalogAudioMode ([in] TVAudioMode Mode); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (1493e353-1eb6-473c-802d-8e6b8ec9d2a9), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IMPEG2Component : IComponent { | 
|  | [propget, id (DISPID_TUNER_C_MP2_PID)] HRESULT PID ([out, retval] long *PID); | 
|  | [propput, id (DISPID_TUNER_C_MP2_PID)] HRESULT PID ([in] long PID); | 
|  | [propget, id (DISPID_TUNER_C_MP2_PCRPID)] HRESULT PCRPID ([out, retval] long *PCRPID); | 
|  | [propput, id (DISPID_TUNER_C_MP2_PCRPID)] HRESULT PCRPID ([in] long PCRPID); | 
|  | [propget, id (DISPID_TUNER_C_MP2_PROGNO)] HRESULT ProgramNumber ([out, retval] long *ProgramNumber); | 
|  | [propput, id (DISPID_TUNER_C_MP2_PROGNO)] HRESULT ProgramNumber ([in] long ProgramNumber); | 
|  | }; | 
|  |  | 
|  | [object, hidden, restricted, uuid (2a6e2939-2595-11d3-b64c-00c04f79498e), pointer_default (unique)] | 
|  | interface IEnumComponents : IUnknown { | 
|  | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IComponent **rgelt,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (void); | 
|  | HRESULT Clone ([out] IEnumComponents **ppEnum); | 
|  | } | 
|  |  | 
|  | [object, nonextensible, uuid (39a48091-fffe-4182-a161-3ff802640e26), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IComponents : IDispatch { | 
|  | [propget] HRESULT Count ([out, retval] long *Count); | 
|  | [propget, id (DISPID_NEWENUM), hidden, restricted] HRESULT _NewEnum ([out, retval] IEnumVARIANT **ppNewEnum); | 
|  | [hidden, restricted] HRESULT EnumComponents ([out, retval] IEnumComponents **ppNewEnum); | 
|  | [propget, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT Index,[out, retval] IComponent **ppComponent); | 
|  | [id (DISPID_ADDITEM)] HRESULT Add ([in] IComponent *Component,[out, retval] VARIANT *NewIndex); | 
|  | [id (DISPID_REMOVEITEM)] HRESULT Remove ([in] VARIANT Index); | 
|  | HRESULT Clone ([out, retval] IComponents **NewList); | 
|  | [propput, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT Index,[in] IComponent *ppComponent); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (FCD01846-0e19-11d3-9d8e-00c04f72d980), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IComponentsOld : IDispatch { | 
|  | [propget] HRESULT Count ([out, retval] long *Count); | 
|  | [propget, id (DISPID_NEWENUM), hidden, restricted] HRESULT _NewEnum ([out, retval] IEnumVARIANT **ppNewEnum); | 
|  | [hidden, restricted] HRESULT EnumComponents ([out, retval] IEnumComponents **ppNewEnum); | 
|  | [propget, id (DISPID_VALUE)] HRESULT Item ([in] VARIANT Index,[out, retval] IComponent **ppComponent); | 
|  | [id (DISPID_ADDITEM)] HRESULT Add ([in] IComponent *Component,[out, retval] VARIANT *NewIndex); | 
|  | [id (DISPID_REMOVEITEM)] HRESULT Remove ([in] VARIANT Index); | 
|  | HRESULT Clone ([out, retval] IComponents **NewList); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (286d7f89-760c-4f89-80c4-66841d2507aa), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface ILocator : IDispatch { | 
|  | [propget, id (DISPID_TUNER_L_CARRFREQ)] HRESULT CarrierFrequency ([out, retval] long *Frequency); | 
|  | [propput, id (DISPID_TUNER_L_CARRFREQ)] HRESULT CarrierFrequency ([in] long Frequency); | 
|  | [propget, id (DISPID_TUNER_L_INNERFECMETHOD)] HRESULT InnerFEC ([out, retval] FECMethod *FEC); | 
|  | [propput, id (DISPID_TUNER_L_INNERFECMETHOD)] HRESULT InnerFEC ([in] FECMethod FEC); | 
|  | [propget, id (DISPID_TUNER_L_INNERFECRATE)] HRESULT InnerFECRate ([out, retval] BinaryConvolutionCodeRate *FEC); | 
|  | [propput, id (DISPID_TUNER_L_INNERFECRATE)] HRESULT InnerFECRate ([in] BinaryConvolutionCodeRate FEC); | 
|  | [propget, id (DISPID_TUNER_L_OUTERFECMETHOD)] HRESULT OuterFEC ([out, retval] FECMethod *FEC); | 
|  | [propput, id (DISPID_TUNER_L_OUTERFECMETHOD)] HRESULT OuterFEC ([in] FECMethod FEC); | 
|  | [propget, id (DISPID_TUNER_L_OUTERFECRATE)] HRESULT OuterFECRate ([out, retval] BinaryConvolutionCodeRate *FEC); | 
|  | [propput, id (DISPID_TUNER_L_OUTERFECRATE)] HRESULT OuterFECRate ([in] BinaryConvolutionCodeRate FEC); | 
|  | [propget, id (DISPID_TUNER_L_MOD)] HRESULT Modulation ([out, retval] ModulationType *Modulation); | 
|  | [propput, id (DISPID_TUNER_L_MOD)] HRESULT Modulation ([in] ModulationType Modulation); | 
|  | [propget, id (DISPID_TUNER_L_SYMRATE)] HRESULT SymbolRate ([out, retval] long *Rate); | 
|  | [propput, id (DISPID_TUNER_L_SYMRATE)] HRESULT SymbolRate ([in] long Rate); | 
|  | [id (DISPID_TUNER_L_CLONE)] HRESULT Clone ([out, retval] ILocator **NewLocator); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (34d1f26b-E339-430d-ABCE-738cb48984dc), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IAnalogLocator : ILocator { | 
|  | [propget, id (DISPID_TUNER_L_ANALOG_STANDARD)] HRESULT VideoStandard ([out, retval] AnalogVideoStandard *AVS); | 
|  | [propput, id (DISPID_TUNER_L_ANALOG_STANDARD)] HRESULT VideoStandard ([in] AnalogVideoStandard AVS); | 
|  | }; | 
|  |  | 
|  | [object, nonextensible, uuid (19b595d8-839a-47f0-96df-4f194f3c768c), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDigitalLocator : ILocator { | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (BF8D986F-8c2b-4131-94d7-4d3d9fcc21ef), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IATSCLocator : IDigitalLocator { | 
|  | [propget, id (DISPID_TUNER_L_ATSC_PHYS_CHANNEL)] HRESULT PhysicalChannel ([out, retval] long *PhysicalChannel); | 
|  | [propput, id (DISPID_TUNER_L_ATSC_PHYS_CHANNEL)] HRESULT PhysicalChannel ([in] long PhysicalChannel); | 
|  | [propget, id (DISPID_TUNER_L_ATSC_TSID)] HRESULT TSID ([out, retval] long *TSID); | 
|  | [propput, id (DISPID_TUNER_L_ATSC_TSID)] HRESULT TSID ([in] long TSID); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (612aa885-66cf-4090-BA0A-566f5312e4ca), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IATSCLocator2 : IATSCLocator { | 
|  | [propget, id (DISPID_TUNER_L_ATSC_MP2_PROGNO)] HRESULT ProgramNumber ([out, retval] long *ProgramNumber); | 
|  | [propput, id (DISPID_TUNER_L_ATSC_MP2_PROGNO)] HRESULT ProgramNumber ([in] long ProgramNumber); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (48f66a11-171a-419a-9525-BEEECD51584C), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDigitalCableLocator : IATSCLocator2 { | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (8664da16-DDA2-42ac-926a-C18F9127C302), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBTLocator : IDigitalLocator { | 
|  | [propget, id (DISPID_TUNER_L_DVBT_BANDWIDTH)] HRESULT Bandwidth ([out, retval] long *BandWidthVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_BANDWIDTH)] HRESULT Bandwidth ([in] long BandwidthVal); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_LPINNERFECMETHOD)] HRESULT LPInnerFEC ([out, retval] FECMethod *FEC); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_LPINNERFECMETHOD)] HRESULT LPInnerFEC ([in] FECMethod FEC); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_LPINNERFECRATE)] HRESULT LPInnerFECRate ([out, retval] BinaryConvolutionCodeRate *FEC); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_LPINNERFECRATE)] HRESULT LPInnerFECRate ([in] BinaryConvolutionCodeRate FEC); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_HALPHA)] HRESULT HAlpha ([out, retval] HierarchyAlpha *Alpha); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_HALPHA)] HRESULT HAlpha ([in] HierarchyAlpha Alpha); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_GUARDINTERVAL)] HRESULT Guard ([out, retval] GuardInterval *GI); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_GUARDINTERVAL)] HRESULT Guard ([in] GuardInterval GI); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_TRANSMISSIONMODE)] HRESULT Mode ([out, retval] TransmissionMode *mode); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_TRANSMISSIONMODE)] HRESULT Mode ([in] TransmissionMode mode); | 
|  | [propget, id (DISPID_TUNER_L_DVBT_INUSE)] HRESULT OtherFrequencyInUse ([out, retval] VARIANT_BOOL *OtherFrequencyInUseVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBT_INUSE)] HRESULT OtherFrequencyInUse ([in] VARIANT_BOOL OtherFrequencyInUseVal); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (448a2edf-AE95-4b43-A3CC-747843c453d4), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBTLocator2 : IDVBTLocator { | 
|  | [propget, id (DISPID_TUNER_L_DVBT2_PHYSICALLAYERPIPEID)] HRESULT PhysicalLayerPipeId ([out, retval] long *PhysicalLayerPipeIdVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBT2_PHYSICALLAYERPIPEID)] HRESULT PhysicalLayerPipeId ([in] long PhysicalLayerPipeIdVal); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (3d7c353c-0d04-45f1-A742-F97CC1188DC8), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBSLocator : IDigitalLocator { | 
|  | [propget, id (DISPID_TUNER_L_DVBS_POLARISATION)] HRESULT SignalPolarisation ([out, retval] Polarisation *PolarisationVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBS_POLARISATION)] HRESULT SignalPolarisation ([in] Polarisation PolarisationVal); | 
|  | [propget, id (DISPID_TUNER_L_DVBS_WEST)] HRESULT WestPosition ([out, retval] VARIANT_BOOL *WestLongitude); | 
|  | [propput, id (DISPID_TUNER_L_DVBS_WEST)] HRESULT WestPosition ([in] VARIANT_BOOL WestLongitude); | 
|  | [propget, id (DISPID_TUNER_L_DVBS_ORBITAL)] HRESULT OrbitalPosition ([out, retval] long *longitude); | 
|  | [propput, id (DISPID_TUNER_L_DVBS_ORBITAL)] HRESULT OrbitalPosition ([in] long longitude); | 
|  | [propget, id (DISPID_TUNER_L_DVBS_AZIMUTH)] HRESULT Azimuth ([out, retval] long *Azimuth); | 
|  | [propput, id (DISPID_TUNER_L_DVBS_AZIMUTH)] HRESULT Azimuth ([in] long Azimuth); | 
|  | [propget, id (DISPID_TUNER_L_DVBS_ELEVATION)] HRESULT Elevation ([out, retval] long *Elevation); | 
|  | [propput, id (DISPID_TUNER_L_DVBS_ELEVATION)] HRESULT Elevation ([in] long Elevation); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (6044634a-1733-4f99-B982-5fb12afce4f0), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBSLocator2 : IDVBSLocator { | 
|  | [propget, id (DISPID_TUNER_L_DVBS2_DISEQ_LNB_SOURCE)] HRESULT DiseqLNBSource ([out, retval] LNB_Source *DiseqLNBSourceVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBS2_DISEQ_LNB_SOURCE)] HRESULT DiseqLNBSource ([in] LNB_Source DiseqLNBSourceVal); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS2_LOW_OSC_FREQ_OVERRIDE)] HRESULT LocalOscillatorOverrideLow ([out, retval] long *LocalOscillatorOverrideLowVal); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS2_LOW_OSC_FREQ_OVERRIDE)] HRESULT LocalOscillatorOverrideLow ([in] long LocalOscillatorOverrideLowVal); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS2_HI_OSC_FREQ_OVERRIDE)] HRESULT LocalOscillatorOverrideHigh ([out, retval] long *LocalOscillatorOverrideHighVal); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS2_HI_OSC_FREQ_OVERRIDE)] HRESULT LocalOscillatorOverrideHigh ([in] long LocalOscillatorOverrideHighVal); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS2_LNB_SWITCH_FREQ_OVERRIDE)] HRESULT LocalLNBSwitchOverride ([out, retval] long *LocalLNBSwitchOverrideVal); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS2_LNB_SWITCH_FREQ_OVERRIDE)] HRESULT LocalLNBSwitchOverride ([in] long LocalLNBSwitchOverrideVal); | 
|  | [propget, id (DISPID_TUNER_TS_DVBS2_SPECTRAL_INVERSION_OVERRIDE)] HRESULT LocalSpectralInversionOverride ([out, retval] SpectralInversion *LocalSpectralInversionOverrideVal); | 
|  | [propput, id (DISPID_TUNER_TS_DVBS2_SPECTRAL_INVERSION_OVERRIDE)] HRESULT LocalSpectralInversionOverride ([in] SpectralInversion LocalSpectralInversionOverrideVal); | 
|  | [propget, id (DISPID_TUNER_L_DVBS2_ROLLOFF)] HRESULT SignalRollOff ([out, retval] RollOff *RollOffVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBS2_ROLLOFF)] HRESULT SignalRollOff ([in] RollOff RollOffVal); | 
|  | [propget, id (DISPID_TUNER_L_DVBS2_PILOT)] HRESULT SignalPilot ([out, retval] Pilot *PilotVal); | 
|  | [propput, id (DISPID_TUNER_L_DVBS2_PILOT)] HRESULT SignalPilot ([in] Pilot PilotVal); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (6e42f36e-1dd2-43c4-9f78-69d25ae39034), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IDVBCLocator : IDigitalLocator { | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (C9897087-E29C-473f-9e4b-7072123dea14), dual, oleautomation, proxy, pointer_default (unique)] | 
|  | interface IISDBSLocator : IDVBSLocator { | 
|  | }; | 
|  |  | 
|  | [object, uuid (1f0e5357-AF43-44e6-8547-654c645145d2), pointer_default (unique)] | 
|  | interface IESEvent : IUnknown { | 
|  | HRESULT GetEventId ([out, retval] DWORD *pdwEventId); | 
|  | HRESULT GetEventType ([out, retval] GUID *pguidEventType); | 
|  | HRESULT SetCompletionStatus ([in]DWORD dwResult); | 
|  | HRESULT GetData ([out, retval] SAFEARRAY (BYTE) *pbData); | 
|  | HRESULT GetStringData ([out, retval] BSTR *pbstrData); | 
|  | }; | 
|  |  | 
|  | [object, uuid (BA4B6526-1a35-4635-8b56-3ec612746a8c), pointer_default (unique)] | 
|  | interface IESOpenMmiEvent : IESEvent { | 
|  | HRESULT GetDialogNumber ([out] DWORD *pDialogRequest,[out, retval] DWORD *pDialogNumber); | 
|  | HRESULT GetDialogType ([out, retval] GUID *guidDialogType); | 
|  | HRESULT GetDialogData ([out, retval] SAFEARRAY (BYTE) *pbData); | 
|  | HRESULT GetDialogStringData ([out] BSTR *pbstrBaseUrl,[out, retval] BSTR *pbstrData); | 
|  | }; | 
|  |  | 
|  | [object, uuid (6b80e96f-55e2-45aa-B754-0c23c8e7d5c1), pointer_default (unique)] | 
|  | interface IESCloseMmiEvent : IESEvent { | 
|  | HRESULT GetDialogNumber ([out, retval] DWORD *pDialogNumber); | 
|  | }; | 
|  |  | 
|  | [object, uuid (8a24c46e-BB63-4664-8602-5d9c718c146d), pointer_default (unique)] | 
|  | interface IESValueUpdatedEvent : IESEvent { | 
|  | HRESULT GetValueNames ([out, retval] SAFEARRAY (BSTR) *pbstrNames); | 
|  | }; | 
|  |  | 
|  | [object, uuid (54c7a5e8-C3BB-4f51-AF14-E0E2C0E34C6D), pointer_default (unique)] | 
|  | interface IESRequestTunerEvent : IESEvent { | 
|  | HRESULT GetPriority ([out, retval] BYTE *pbyPriority); | 
|  | HRESULT GetReason ([out, retval] BYTE *pbyReason); | 
|  | HRESULT GetConsequences ([out, retval] BYTE *pbyConsequences); | 
|  | HRESULT GetEstimatedTime ([out, retval] DWORD *pdwEstimatedTime); | 
|  | }; | 
|  |  | 
|  | [object, uuid (2017cb03-dc0f-4c24-83ca-36307b2cd19f), pointer_default (unique)] | 
|  | interface IESIsdbCasResponseEvent : IESEvent { | 
|  | HRESULT GetRequestId ([out, retval] DWORD *pRequestId); | 
|  | HRESULT GetStatus ([out, retval] DWORD *pStatus); | 
|  | HRESULT GetDataLength ([out, retval] DWORD *pRequestLength); | 
|  | HRESULT GetResponseData ([out, retval] SAFEARRAY (BYTE) *pbData); | 
|  | }; | 
|  |  | 
|  | [object, uuid (907e0b5c-E42D-4f04-91f0-26f401f36907), pointer_default (unique)] | 
|  | interface IGpnvsCommonBase : IUnknown { | 
|  | HRESULT GetValueUpdateName ([out, retval] BSTR *pbstrName); | 
|  | }; | 
|  |  | 
|  | [object, uuid (506a09b8-7f86-4e04-AC05-3303bfe8fc49), pointer_default (unique)] | 
|  | interface IESEventFactory : IUnknown { | 
|  | HRESULT CreateESEvent ([in] IUnknown *pServiceProvider,[in] DWORD dwEventId,[in] GUID guidEventType,[in] DWORD dwEventDataLength,[in, size_is (dwEventDataLength)] BYTE *pEventData,[in] BSTR bstrBaseUrl,[in] IUnknown *pInitContext,[out, retval] IESEvent **ppESEvent); | 
|  | }; | 
|  |  | 
|  | [object, uuid (d5a48ef5-a81b-4df0-acaa-5e35e7ea45d4), pointer_default (unique)] | 
|  | interface IESLicenseRenewalResultEvent : IESEvent { | 
|  | HRESULT GetCallersId ([out, retval] DWORD *pdwCallersId); | 
|  | HRESULT GetFileName ([out, retval] BSTR *pbstrFilename); | 
|  | HRESULT IsRenewalSuccessful ([out, retval] WINBOOL *pfRenewalSuccessful); | 
|  | HRESULT IsCheckEntitlementCallRequired ([out, retval] WINBOOL *pfCheckEntTokenCallNeeded); | 
|  | HRESULT GetDescrambledStatus ([out, retval] DWORD *pDescrambledStatus); | 
|  | HRESULT GetRenewalResultCode ([out, retval] DWORD *pdwRenewalResultCode); | 
|  | HRESULT GetCASFailureCode ([out, retval] DWORD *pdwCASFailureCode); | 
|  | HRESULT GetRenewalHResult ([out, retval] HRESULT *phr); | 
|  | HRESULT GetEntitlementTokenLength ([out, retval] DWORD *pdwLength); | 
|  | HRESULT GetEntitlementToken ([out, retval] SAFEARRAY (BYTE) *pbData); | 
|  | HRESULT GetExpiryDate ([out, retval] DWORD64 *pqwExpiryDate); | 
|  | }; | 
|  |  | 
|  | [object, uuid (BA9EDCB6-4d36-4cfe-8c56-87a6b0ca48e1), pointer_default (unique)] | 
|  | interface IESFileExpiryDateEvent : IESEvent { | 
|  | HRESULT GetTunerId ([out, retval] GUID *pguidTunerId); | 
|  | HRESULT GetExpiryDate ([out, retval] DWORD64 *pqwExpiryDate); | 
|  | HRESULT GetFinalExpiryDate ([out, retval] DWORD64 *pqwExpiryDate); | 
|  | HRESULT GetMaxRenewalCount ([out, retval] DWORD *dwMaxRenewalCount); | 
|  | HRESULT IsEntitlementTokenPresent ([out, retval] WINBOOL *pfEntTokenPresent); | 
|  | HRESULT DoesExpireAfterFirstUse ([out, retval] WINBOOL *pfExpireAfterFirstUse); | 
|  | }; | 
|  |  | 
|  | [object, uuid (ABD414BF-CFE5-4e5e-AF5B-4b4e49c5bfeb), pointer_default (unique)] | 
|  | interface IESEvents : IUnknown { | 
|  | HRESULT OnESEventReceived ([in] GUID guidEventType,[in] IESEvent *pESEvent); | 
|  | }; | 
|  |  | 
|  | [object, uuid (ED89A619-4c06-4b2f-99eb-C7669B13047C), pointer_default (unique)] | 
|  | interface IESEventService: IUnknown { | 
|  | HRESULT FireESEvent (IESEvent *pESEvent); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (33b9daae-9309-491d-A051-BCAD2A70CD66), pointer_default (unique)] | 
|  | interface IESEventServiceConfiguration: IUnknown { | 
|  | HRESULT SetParent (IESEventService *pEventService); | 
|  | HRESULT RemoveParent (); | 
|  | HRESULT SetOwner (IESEvents *pESEvents); | 
|  | HRESULT RemoveOwner (); | 
|  | HRESULT SetGraph (IFilterGraph *pGraph); | 
|  | HRESULT RemoveGraph (IFilterGraph *pGraph); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (3b21263f-26e8-489d-AAC4-924f7efd9511), pointer_default (unique)] | 
|  | interface IBroadcastEvent : IUnknown { | 
|  | HRESULT Fire ([in] GUID EventID); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (3d9e3887-1929-423f-8021-43682de95448), pointer_default (unique)] | 
|  | interface IBroadcastEventEx : IBroadcastEvent { | 
|  | HRESULT FireEx ([in] GUID EventID,[in] ULONG Param1,[in] ULONG Param2,[in] ULONG Param3,[in] ULONG Param4); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (359b3901-572c-4854-BB49-CDEF66606A25), pointer_default (unique)] | 
|  | interface IRegisterTuner : IUnknown { | 
|  | HRESULT Register ([in] ITuner *pTuner,[in] IGraphBuilder *pGraph); | 
|  | HRESULT Unregister (); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (B34505E0-2f0e-497b-80bc-D43F3B24ED7F), pointer_default (unique)] | 
|  | interface IBDAComparable : IUnknown { | 
|  | HRESULT CompareExact ([in] IDispatch *CompareTo,[out, retval] long *Result); | 
|  | HRESULT CompareEquivalent ([in] IDispatch *CompareTo,[in] DWORD dwFlags,[out, retval] long *Result); | 
|  | HRESULT HashExact ([out, retval] __int64 *Result); | 
|  | HRESULT HashExactIncremental ([in] __int64 PartialResult,[out, retval] __int64 *Result); | 
|  | HRESULT HashEquivalent ([in] DWORD dwFlags,[out, retval] __int64 *Result); | 
|  | HRESULT HashEquivalentIncremental ([in] __int64 PartialResult,[in] DWORD dwFlags,[out, retval] __int64 *Result); | 
|  | }; | 
|  |  | 
|  | [object, uuid (0754cd31-8d15-47a9-8215-D20064157244), pointer_default (unique)] | 
|  | interface IPersistTuneXml : IPersist { | 
|  | HRESULT InitNew (); | 
|  | HRESULT Load ([in] VARIANT varValue); | 
|  | HRESULT Save ([out] VARIANT *pvarFragment); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (990237ae-AC11-4614-BE8F-DD217A4CB4CB), pointer_default (unique)] | 
|  | interface IPersistTuneXmlUtility : IUnknown { | 
|  | HRESULT Deserialize ([in] VARIANT varValue,[out, retval] IUnknown **ppObject); | 
|  | }; | 
|  |  | 
|  | [object, hidden, nonextensible, uuid (992e165f-EA24-4b2f-9a1d-009d92120451), pointer_default (unique)] | 
|  | interface IPersistTuneXmlUtility2 : IPersistTuneXmlUtility { | 
|  | HRESULT Serialize ([in] ITuneRequest *piTuneRequest,[out, retval] BSTR *pString); | 
|  | }; | 
|  |  | 
|  | [object, uuid (C0A4A1D4-2b3c-491a-BA22-499fbadd4d12), pointer_default (unique)] | 
|  | interface IBDACreateTuneRequestEx : IUnknown { | 
|  | HRESULT CreateTuneRequestEx ([in] REFCLSID TuneRequestIID,[out, retval] ITuneRequest **TuneRequest); | 
|  | }; | 
|  |  | 
|  | [uuid (9b085638-018e-11d3-9d8e-00c04f72d980), version (1.0)] | 
|  | library TunerLib { | 
|  | importlib ("stdole2.tlb"); | 
|  |  | 
|  | [uuid (D02AAC50-027e-11d3-9d8e-00c04f72d980)] | 
|  | coclass SystemTuningSpaces { | 
|  | [default] interface ITuningSpaceContainer; | 
|  | }; | 
|  |  | 
|  | // FIXME: workaround widl bug, should be fixed in widl | 
|  | #define restricted | 
|  |  | 
|  | [noncreatable, hidden, restricted, uuid (5ffdc5e6-B83A-4b55-B6E8-C69E765FE9DB)] | 
|  | coclass TuningSpace { | 
|  | [default] interface ITuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (CC829A2F-3365-463f-AF13-81dbb6f3a555)] | 
|  | coclass ChannelIDTuningSpace { | 
|  | [default] interface ITuningSpace; | 
|  | interface IBDAComparable; | 
|  | interface IBDACreateTuneRequestEx; | 
|  | }; | 
|  |  | 
|  | [uuid (A2E30750-6c3d-11d3-B653-00c04f79498e)] | 
|  | coclass ATSCTuningSpace { | 
|  | [default] interface IATSCTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (D9BB4CEE-B87A-47f1-AC92-B08D9C7813FC)] | 
|  | coclass DigitalCableTuningSpace { | 
|  | [default] interface IDigitalCableTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (8a674b4c-1f63-11d3-b64c-00c04f79498e)] | 
|  | coclass AnalogRadioTuningSpace { | 
|  | [default] interface IAnalogRadioTuningSpace2; | 
|  | interface IAnalogRadioTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (F9769A06-7aca-4e39-9cfb-97bb35f0e77e)] | 
|  | coclass AuxInTuningSpace { | 
|  | interface IAuxInTuningSpace; | 
|  | [default] interface IAuxInTuningSpace2; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (8a674b4d-1f63-11d3-b64c-00c04f79498e)] | 
|  | coclass AnalogTVTuningSpace { | 
|  | [default] interface IAnalogTVTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (C6B14B32-76aa-4a86-A7AC-5c79aaf58da7)] | 
|  | coclass DVBTuningSpace { | 
|  | [default] interface IDVBTuningSpace2; | 
|  | interface IDVBTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (B64016F3-C9A2-4066-96f0-BD9563314726)] | 
|  | coclass DVBSTuningSpace { | 
|  | [default] interface IDVBSTuningSpace; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (A1A2B1C4-0e3a-11d3-9d8e-00c04f72d980)] | 
|  | coclass ComponentTypes { | 
|  | [default] interface IComponentTypes; | 
|  | }; | 
|  |  | 
|  | [uuid (823535a0-0318-11d3-9d8e-00c04f72d980)] | 
|  | coclass ComponentType { | 
|  | [default] interface IComponentType; | 
|  | }; | 
|  |  | 
|  | [uuid (1be49f30-0e1b-11d3-9d8e-00c04f72d980)] | 
|  | coclass LanguageComponentType { | 
|  | [default] interface ILanguageComponentType; | 
|  | }; | 
|  |  | 
|  | [uuid (418008f3-CF67-4668-9628-10dc52be1d08)] | 
|  | coclass MPEG2ComponentType { | 
|  | [default] interface IMPEG2ComponentType; | 
|  | }; | 
|  |  | 
|  | [uuid (A8DCF3D5-0780-4ef4-8a83-2cffaacb8ace)] | 
|  | coclass ATSCComponentType { | 
|  | [default] interface IATSCComponentType; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (809b6661-94c4-49e6-B6EC-3f0f862215aa)] | 
|  | coclass Components { | 
|  | [default] interface IComponents; | 
|  | interface IComponentsOld; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (59dc47a8-116c-11d3-9d8e-00c04f72d980)] | 
|  | coclass Component { | 
|  | [default] interface IComponent; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (055cb2d7-2969-45cd-914b-76890722f112)] | 
|  | coclass MPEG2Component { | 
|  | [default] interface IMPEG2Component; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (28ab0005-E845-4ffa-AA9B-F4665236141C)] | 
|  | coclass AnalogAudioComponentType { | 
|  | [default] interface IAnalogAudioComponentType; | 
|  | }; | 
|  |  | 
|  | [noncreatable, hidden, restricted, uuid (B46E0D38-AB35-4a06-A137-70576b01b39f)] | 
|  | coclass TuneRequest { | 
|  | [default] interface ITuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (3a9428a7-31a4-45e9-9efb-E055BF7BB3DB)] | 
|  | coclass ChannelIDTuneRequest { | 
|  | [default] interface IChannelIDTuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (0369b4e5-45b6-11d3-B650-00c04f79498e)] | 
|  | coclass ChannelTuneRequest { | 
|  | [default] interface IChannelTuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (0369b4e6-45b6-11d3-B650-00c04f79498e)] | 
|  | coclass ATSCChannelTuneRequest { | 
|  | [default] interface IATSCChannelTuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (26ec0b63-AA90-458a-8df4-5659f2c8a18a)] | 
|  | coclass DigitalCableTuneRequest { | 
|  | [default] interface IDigitalCableTuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (0955ac62-BF2E-4cba-A2B9-A63F772D46CF)] | 
|  | coclass MPEG2TuneRequest { | 
|  | [default] interface IMPEG2TuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (2c63e4eb-4cea-41b8-919c-E947EA19A77C)] | 
|  | coclass MPEG2TuneRequestFactory { | 
|  | [default] interface IMPEG2TuneRequestFactory; | 
|  | }; | 
|  |  | 
|  | [noncreatable, hidden, restricted, uuid (0888c883-AC4F-4943-B516-2c38d9b34562)] | 
|  | coclass Locator { | 
|  | [default] interface ILocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [noncreatable, hidden, restricted, uuid (6e50cc0d-C19B-4bf6-810b-5bd60761f5cc)] | 
|  | coclass DigitalLocator { | 
|  | [default] interface IDigitalLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (49638b91-48ab-48b7-A47A-7d0e75a08ede)] | 
|  | coclass AnalogLocator { | 
|  | [default] interface IAnalogLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (8872ff1b-98fa-4d7a-8d93-C9F1055F85BB)] | 
|  | coclass ATSCLocator { | 
|  | [default] interface IATSCLocator2; | 
|  | interface IATSCLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (03c06416-D127-407a-AB4C-FDD279ABBE5D)] | 
|  | coclass DigitalCableLocator { | 
|  | [default] interface IDigitalCableLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (9cd64701-BDF3-4d14-8e03-F12983D86664)] | 
|  | coclass DVBTLocator { | 
|  | [default] interface IDVBTLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (EFE3FA02-45d7-4920-BE96-53fa7f35b0e6)] | 
|  | coclass DVBTLocator2 { | 
|  | [default] interface IDVBTLocator2; | 
|  | interface IDVBTLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (1df7d126-4050-47f0-A7CF-4c4ca9241333)] | 
|  | coclass DVBSLocator { | 
|  | [default] interface IDVBSLocator2; | 
|  | interface IDVBSLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (C531D9FD-9685-4028-8b68-6e1232079f1e)] | 
|  | coclass DVBCLocator { | 
|  | [default] interface IDVBCLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [uuid (6504afed-A629-455c-A7F1-04964dea5cc4)] | 
|  | coclass ISDBSLocator { | 
|  | [default] interface IISDBSLocator; | 
|  | interface IDVBSLocator; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (15d6504a-5494-499c-886c-973c9e53b9f1)] | 
|  | coclass DVBTuneRequest { | 
|  | [default] interface IDVBTuneRequest; | 
|  | interface IBDAComparable; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (8a674b49-1f63-11d3-b64c-00c04f79498e)] | 
|  | coclass CreatePropBagOnRegKey { | 
|  | interface ICreatePropBagOnRegKey; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (0b3ffb92-0919-4934-9d5b-619c719d0202)] | 
|  | coclass BroadcastEventService { | 
|  | interface IBroadcastEvent; | 
|  | }; | 
|  |  | 
|  | [hidden, restricted, uuid (6438570b-0c08-4a25-9504-8012bb4d50cf)] | 
|  | coclass TunerMarshaler { | 
|  | interface IRegisterTuner; | 
|  | interface ITuner; | 
|  | }; | 
|  |  | 
|  | [uuid (e77026b0-B97F-4cbb-b7Fb-f4f03ad69f11)] | 
|  | coclass PersistTuneXmlUtility { | 
|  | interface IPersistTuneXmlUtility; | 
|  | interface IPersistTuneXmlUtility2; | 
|  | }; | 
|  |  | 
|  | [uuid (c20447fc-ec60-475e-813f-d2b0a6decefe)] | 
|  | coclass ESEventService { | 
|  | [default] interface IESEventService; | 
|  | [source] interface IESEvents; | 
|  | }; | 
|  |  | 
|  | [uuid (8e8a07da-71f8-40c1-a929-5e3a868ac2c6)] | 
|  | coclass ESEventFactory { | 
|  | [default] interface IESEventFactory; | 
|  | interface IMarshal2; | 
|  | }; | 
|  | } | 
|  |  | 
|  | cpp_quote("#endif") |