📄 tuner.idl
字号:
pointer_default(unique)
]
interface ITuningSpace : IDispatch
{
[propget, id(DISPID_TUNER_TS_UNIQUENAME),
helpstring("Unique name of the Tuning Space")]
HRESULT UniqueName(
[out, retval] BSTR *Name
);
[propput, id(DISPID_TUNER_TS_UNIQUENAME),
helpstring("Unique name of the Tuning Space")]
HRESULT UniqueName(
[in] BSTR Name
);
[propget, id(DISPID_TUNER_TS_FRIENDLYNAME),
helpstring("User-friendly name of the Tuning Space")]
HRESULT FriendlyName(
[out, retval] BSTR *Name
);
[propput, id(DISPID_TUNER_TS_FRIENDLYNAME),
helpstring("User-friendly name of the Tuning Space")]
HRESULT FriendlyName(
[in] BSTR Name
);
[propget, id(DISPID_TUNER_TS_CLSID),
helpstring("Returns the clsid of the tuning space implementation. provides script access to IPersist:GetClassID")]
HRESULT CLSID(
[out, retval] BSTR* SpaceCLSID
);
[propget, id(DISPID_TUNER_TS_NETWORKTYPE),
helpstring("Network Type (Network Proivder CLSID)")]
HRESULT NetworkType(
[out, retval] BSTR *NetworkTypeGuid
);
[propput, id(DISPID_TUNER_TS_NETWORKTYPE),
helpstring("Network Type (Network Proivder CLSID)")]
HRESULT NetworkType(
[in] BSTR NetworkTypeGuid
);
[propget, id(DISPID_TUNER_TS__NETWORKTYPE),
helpstring("Network Type (Network Proivder CLSID)"), hidden, restricted]
HRESULT _NetworkType(
[out, retval] GUID* NetworkTypeGuid
);
[propput, id(DISPID_TUNER_TS__NETWORKTYPE),
helpstring("Network Type (Network Proivder CLSID)"), hidden, restricted]
HRESULT _NetworkType(
[in] REFCLSID NetworkTypeGuid
);
// this method creates the "best" kind of tune request for this tuning space.
// the tuning space may support other kinds of tune requests created via
// other factory mechanisms(for example, see mpeg2tunerequestfactory). but,
// this method is the preferred way to get a tune request as it always returns
// the optimal type of tune request for this space.
[id(DISPID_TUNER_TS_CREATETUNEREQUEST),
helpstring("Create a Tune Request object")]
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
);
// the following property is for the network providers to store frequency/channel maps, frequency/transponder maps
// or whatever other mapping from carrier frequencies to frequency identifiers are appropriate for the tuning space
// in question. the bstr is treated as a binary blob. it is expected to contain embedded nulls, and it may be formatted
// internally in whatever fashion the network provider sees fit.
[propget, id(DISPID_TUNER_TS_FREQMAP)]
HRESULT FrequencyMapping([out, retval] BSTR *pMapping);
[propput, id(DISPID_TUNER_TS_FREQMAP)]
HRESULT FrequencyMapping(BSTR Mapping);
// the following property provides a starting point for the initial IScanningTuner after installation
[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);
}
//////////////////////////////////////////////////////////////////////////////////////
[
hidden,
restricted,
object,
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,
nonextensible,
uuid(ADA0B268-3B19-4e5b-ACC4-49F852BE13BA),
pointer_default(unique)
]
interface IDVBTuningSpace : ITuningSpace
{
[propget, id(DISPID_TUNER_TS_DVB_SYSTEMTYPE),
helpstring("Type of DVB System")
]
HRESULT SystemType(
[out, retval] DVBSystemType *SysType
);
[propput, id(DISPID_TUNER_TS_DVB_SYSTEMTYPE),
helpstring("Type of DVB System")
]
HRESULT SystemType(
[in] DVBSystemType SysType
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(843188B4-CE62-43db-966B-8145A094E040),
pointer_default(unique)
]
interface IDVBTuningSpace2 : IDVBTuningSpace
{
[propget, id(DISPID_TUNER_TS_DVB2_NETWORK_ID),
helpstring("Network ID of DVB System")
]
HRESULT NetworkID(
[out, retval] long *NetworkID
);
[propput, id(DISPID_TUNER_TS_DVB2_NETWORK_ID),
helpstring("Network ID of DVB System")
]
HRESULT NetworkID(
[in] long NetworkID
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(CDF7BE60-D954-42fd-A972-78971958E470),
pointer_default(unique)
]
interface IDVBSTuningSpace : IDVBTuningSpace2
{
[propget, id(DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ),
helpstring("Low Oscillator Frequency of DVB System in KHZ units")
]
HRESULT LowOscillator(
[out, retval] long *LowOscillator
);
[propput, id(DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ),
helpstring("Low Oscillator Frequency of DVB System in KHZ units")
]
HRESULT LowOscillator(
[in] long LowOscillator
);
[propget, id(DISPID_TUNER_TS_DVBS_HI_OSC_FREQ),
helpstring("High Oscillator Frequency of DVB System in KHZ units")
]
HRESULT HighOscillator(
[out, retval] long *HighOscillator
);
[propput, id(DISPID_TUNER_TS_DVBS_HI_OSC_FREQ),
helpstring("High Oscillator Frequency of DVB System in KHZ units")
]
HRESULT HighOscillator(
[in] long HighOscillator
);
[propget, id(DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ),
helpstring("LNB Switch Frequency of DVB System in KHZ units")
]
HRESULT LNBSwitch(
[out, retval] long *LNBSwitch
);
[propput, id(DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ),
helpstring("LNB Switch Frequency of DVB System in KHZ units")
]
HRESULT LNBSwitch(
[in] long LNBSwitch
);
[propget, id(DISPID_TUNER_TS_DVBS_INPUT_RANGE),
helpstring("Which Option/Switch contains the requested signal source")
]
HRESULT InputRange(
[out, retval] BSTR *InputRange
);
[propput, id(DISPID_TUNER_TS_DVBS_INPUT_RANGE),
helpstring("Which Option/Switch contains the requested signal source")
]
HRESULT InputRange(
[in] BSTR InputRange
);
[propget, id(DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION),
helpstring("Which Option/Switch contains the requested signal source")
]
HRESULT SpectralInversion(
[out, retval] SpectralInversion *SpectralInversionVal
);
[propput, id(DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION),
helpstring("Which Option/Switch contains the requested signal source")
]
HRESULT SpectralInversion(
[in] SpectralInversion SpectralInversionVal
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(E48244B8-7E17-4f76-A763-5090FF1E2F30),
pointer_default(unique)
]
interface IAuxInTuningSpace : ITuningSpace
{
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(2A6E293C-2595-11d3-B64C-00C04F79498E),
pointer_default(unique)
]
interface IAnalogTVTuningSpace : ITuningSpace
{
[propget, id(DISPID_TUNER_TS_ATV_MINCHANNEL),
helpstring("Smallest channel number ever provided by this tuning space")
]
HRESULT MinChannel(
[out, retval] long *MinChannelVal
);
[propput, id(DISPID_TUNER_TS_ATV_MINCHANNEL),
helpstring("Smallest channel number ever provided by this tuning space")
]
HRESULT MinChannel(
[in] long NewMinChannelVal
);
[propget, id(DISPID_TUNER_TS_ATV_MAXCHANNEL),
helpstring("Largest channel number ever provided by this tuning space")
]
HRESULT MaxChannel(
[out, retval] long *MaxChannelVal
);
[propput, id(DISPID_TUNER_TS_ATV_MAXCHANNEL),
helpstring("Largest channel number ever provided by this tuning space")
]
HRESULT MaxChannel(
[in] long NewMaxChannelVal
);
[propget, id(DISPID_TUNER_TS_ATV_INPUTTYPE),
helpstring("Input type for this tuning space")
]
HRESULT InputType([out, retval] TunerInputType *InputTypeVal);
[propput, id(DISPID_TUNER_TS_ATV_INPUTTYPE),
helpstring("Input type for this tuning space")
]
HRESULT InputType([in] TunerInputType NewInputTypeVal);
[propget, id(DISPID_TUNER_TS_ATV_COUNTRYCODE),
helpstring("International dialing prefix for country of physical broadcast source")
]
HRESULT CountryCode([out, retval] long *CountryCodeVal);
[propput, id(DISPID_TUNER_TS_ATV_COUNTRYCODE),
helpstring("International dialing prefix for country of physical broadcast source")
]
HRESULT CountryCode([in] long NewCountryCodeVal);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(0369B4E2-45B6-11d3-B650-00C04F79498E),
pointer_default(unique)
]
// note: we inherit ATSC from analog because we need the same properties.
// - the definition of channel is overloaded to be the major channel,
// - input type allows us to distinguish between broadcast and cable frequencies
// which allows us to use the atsc tuning space class for "open cable".
// - country code will allow us to redefine physical channel frequencies
// if any other countries adopt ATSC which may happen in Latin America in particular.
interface IATSCTuningSpace : IAnalogTVTuningSpace
{
[propget, id(DISPID_TUNER_TS_ATSC_MINMINORCHANNEL),
helpstring("Smallest minor channel number ever provided by this tuning space")
]
HRESULT MinMinorChannel(
[out, retval] long *MinMinorChannelVal
);
[propput, id(DISPID_TUNER_TS_ATSC_MINMINORCHANNEL),
helpstring("Smallest minor channel number ever provided by this tuning space")
]
HRESULT MinMinorChannel(
[in] long NewMinMinorChannelVal
);
[propget, id(DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL),
helpstring("Largest minor channel number ever provided by this tuning space")
]
HRESULT MaxMinorChannel(
[out, retval] long *MaxMinorChannelVal
);
[propput, id(DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL),
helpstring("Largest minor channel number ever provided by this tuning space")
]
HRESULT MaxMinorChannel(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -