📄 tuner.idl
字号:
[in] long NewMaxMinorChannelVal
);
[propget, id(DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL),
helpstring("Smallest physical channel number ever provided by this tuning space")
]
HRESULT MinPhysicalChannel(
[out, retval] long *MinPhysicalChannelVal
);
[propput, id(DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL),
helpstring("Smallest physical channel number ever provided by this tuning space")
]
HRESULT MinPhysicalChannel(
[in] long NewMinPhysicalChannelVal
);
[propget, id(DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL),
helpstring("Largest physical channel number ever provided by this tuning space")
]
HRESULT MaxPhysicalChannel(
[out, retval] long *MaxPhysicalChannelVal
);
[propput, id(DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL),
helpstring("Largest physical channel number ever provided by this tuning space")
]
HRESULT MaxPhysicalChannel(
[in] long NewMaxPhysicalChannelVal
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
dual,
oleautomation,
nonextensible,
uuid(2A6E293B-2595-11d3-B64C-00C04F79498E),
pointer_default(unique)
]
interface IAnalogRadioTuningSpace : ITuningSpace {
[propget, id(DISPID_TUNER_TS_AR_MINFREQUENCY),
helpstring("Smallest frequency(KHz) ever used by this tuning space")
]
HRESULT MinFrequency(
[out, retval] long *MinFrequencyVal
);
[propput, id(DISPID_TUNER_TS_AR_MINFREQUENCY),
helpstring("Smallest frequency(KHz) ever used by this tuning space")
]
HRESULT MinFrequency(
[in] long NewMinFrequencyVal
);
[propget, id(DISPID_TUNER_TS_AR_MAXFREQUENCY),
helpstring("Largest frequency(KHz) ever used by this tuning space")
]
HRESULT MaxFrequency(
[out, retval] long *MaxFrequencyVal
);
[propput, id(DISPID_TUNER_TS_AR_MAXFREQUENCY),
helpstring("Largest frequency(KHz) ever used by this tuning space")
]
HRESULT MaxFrequency(
[in] long NewMaxFrequencyVal
);
[propget, id(DISPID_TUNER_TS_AR_STEP),
helpstring("Default step value(KHz) to next frequency for this tuning space")
]
HRESULT Step(
[out, retval] long *StepVal
);
[propput, id(DISPID_TUNER_TS_AR_STEP),
helpstring("Default step value(KHz) to next frequency for this tuning space")
]
HRESULT Step(
[in] long NewStepVal
);
}
//////////////////////////////////////////////////////////////////////////////////////
// Tune Request Interfaces
//////////////////////////////////////////////////////////////////////////////////////
// tune requests(of any kind) can only be obtained from tune request factories such as
// ITuningSpace::CreateTuneRequest. one reason for this is that we always want to be
// certain that a tune request is bound to the right tuning space. this means we don't
// have to perform consistency checks all over the place.
[
object,
nonextensible,
uuid(07DDC146-FC3D-11d2-9D8C-00C04F72D980),
dual,
oleautomation,
helpstring("Tune Request Interface"),
pointer_default(unique)
]
interface ITuneRequest : IDispatch
{
[propget, id(DISPID_TUNER_TR_TUNINGSPACE),
helpstring("Tuning Space object")]
HRESULT TuningSpace(
[out, retval] ITuningSpace **TuningSpace
);
[propget, id(DISPID_TUNER_TR_COMPONENTS),
helpstring("Components collection")]
HRESULT Components(
[out, retval] IComponents **Components
);
[id(DISPID_TUNER_TR_CLONE),
helpstring("Create a new copy of this tune request")]
HRESULT Clone(
[out, retval] ITuneRequest **NewTuneRequest
);
[propget, id(DISPID_TUNER_TR_LOCATOR),
helpstring("Locator Object")]
HRESULT Locator(
[out, retval] ILocator **Locator
);
[propput, id(DISPID_TUNER_TR_LOCATOR),
helpstring("Locator Object")]
HRESULT Locator(
[in] ILocator *Locator
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
nonextensible,
uuid(0369B4E0-45B6-11d3-B650-00C04F79498E),
dual,
oleautomation,
helpstring("Channel Tune Request Interface"),
pointer_default(unique)
]
interface IChannelTuneRequest : ITuneRequest
{
[propget, id(DISPID_CHTUNER_CTR_CHANNEL),
helpstring("Channel")]
HRESULT Channel(
[out, retval] long *Channel
);
[propput, id(DISPID_CHTUNER_CTR_CHANNEL),
helpstring("Channel")]
HRESULT Channel(
[in] long Channel
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
nonextensible,
uuid(0369B4E1-45B6-11d3-B650-00C04F79498E),
dual,
oleautomation,
helpstring("ATSC Channel Tune Request Interface"),
pointer_default(unique)
]
interface IATSCChannelTuneRequest : IChannelTuneRequest
{
[propget, id(DISPID_CHTUNER_ACTR_MINOR_CHANNEL),
helpstring("Minor Channel")]
HRESULT MinorChannel(
[out, retval] long *MinorChannel
);
[propput, id(DISPID_CHTUNER_ACTR_MINOR_CHANNEL),
helpstring("Minor Channel")]
HRESULT MinorChannel(
[in] long MinorChannel
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
nonextensible,
uuid(0D6F567E-A636-42bb-83BA-CE4C1704AFA2),
dual,
oleautomation,
helpstring("DVB Tune Request Interface"),
pointer_default(unique)
]
interface IDVBTuneRequest : ITuneRequest
{
[propget, id(DISPID_DVBTUNER_ONID),
helpstring("Original Network ID")]
HRESULT ONID(
[out, retval] long *ONID
);
[propput, id(DISPID_DVBTUNER_ONID),
helpstring("Original Network ID")]
HRESULT ONID(
[in] long ONID
);
[propget, id(DISPID_DVBTUNER_TSID),
helpstring("Transport Stream ID")]
HRESULT TSID(
[out, retval] long *TSID
);
[propput, id(DISPID_DVBTUNER_TSID),
helpstring("Transport Stream ID")]
HRESULT TSID(
[in] long TSID
);
[propget, id(DISPID_DVBTUNER_SID),
helpstring("Service ID")]
HRESULT SID(
[out, retval] long *SID
);
[propput, id(DISPID_DVBTUNER_SID),
helpstring("Service ID")]
HRESULT SID(
[in] long SID
);
}
//////////////////////////////////////////////////////////////////////////////////////
/// There are times(for example, reading from a file) when its useful to be able to tune
/// a basic mpeg2 transport stream that contains minimal tables. this requires the least
/// common denominator mpeg2 xport stream id information
/// the following tune request supplies these properties. it can typiclly only be obtained from
/// an mpeg2tunerequestfactory object. no known tune request(at this time) will return this
/// from their createtunerequest() method. in other words, this is not the "best" tune request
/// for any of the current tuning spaces.
//////////////////////////////////////////////////////////////////////////////////////
[
object,
nonextensible,
uuid(EB7D987F-8A01-42ad-B8AE-574DEEE44D1A),
dual,
oleautomation,
helpstring("MPEG2 Tune Request Interface"),
pointer_default(unique)
]
interface IMPEG2TuneRequest : ITuneRequest
{
[propget, id(DISPID_MP2TUNER_TSID),
helpstring("Transport Stream ID")]
HRESULT TSID(
[out, retval] long *TSID
);
[propput, id(DISPID_MP2TUNER_TSID),
helpstring("Transport Stream ID")]
HRESULT TSID(
[in] long TSID
);
[propget, id(DISPID_MP2TUNER_PROGNO),
helpstring("Program Number ID")]
HRESULT ProgNo(
[out, retval] long *ProgNo
);
[propput, id(DISPID_MP2TUNER_PROGNO),
helpstring("Program Number ID")]
HRESULT ProgNo(
[in] long ProgNo
);
}
[
object,
nonextensible,
hidden,
uuid(14E11ABD-EE37-4893-9EA1-6964DE933E39),
dual,
oleautomation,
helpstring("MPEG2 Tune Request Factory Interface"),
pointer_default(unique)
]
interface IMPEG2TuneRequestFactory : IDispatch
{
[id(DISPID_MP2TUNERFACTORY_CREATETUNEREQUEST),
helpstring("Create MPEG2 Tune Request for specified tuning space(if possible)")]
HRESULT CreateTuneRequest(
[in] ITuningSpace *TuningSpace,
[out, retval] IMPEG2TuneRequest **TuneRequest
);
}
[
object,
hidden,
restricted,
nonextensible,
uuid(1B9D5FC3-5BBC-4b6c-BB18-B9D10E3EEEBF),
helpstring("MPEG2 Tune Request Supported Interface"),
pointer_default(unique)
]
interface IMPEG2TuneRequestSupport : IUnknown
{
}
//////////////////////////////////////////////////////////////////////////////////////
// Tuner Interfaces
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
nonextensible,
uuid(28C52640-018A-11d3-9D8E-00C04F72D980),
helpstring("Tuner Interface"),
pointer_default(unique)
]
interface ITuner : IUnknown
{
[propget, helpstring("Tuning Space object")]
HRESULT TuningSpace(
[out, retval] ITuningSpace **TuningSpace
);
[propput, helpstring("Tuning Space object")]
HRESULT TuningSpace(
[in] ITuningSpace *TuningSpace
);
[hidden, restricted, helpstring("Returns an enumerator for Tuning Spaces accepted by this tuner")]
HRESULT EnumTuningSpaces(
[out, retval] IEnumTuningSpaces **ppEnum
);
[propget, helpstring("Tune Request object")]
HRESULT TuneRequest(
[out, retval] ITuneRequest **TuneRequest
);
[propput, helpstring("Tune Request object")]
HRESULT TuneRequest(
[in] ITuneRequest *TuneRequest
);
[helpstring("Validate the tuning request without tuning")]
HRESULT Validate(
[in] ITuneRequest *TuneRequest
);
[propget, helpstring("Preferred Component Types collection")]
HRESULT PreferredComponentTypes(
[out, retval] IComponentTypes **ComponentTypes
);
[propput, helpstring("Preferred Component Types collection")]
HRESULT PreferredComponentTypes(
[in] IComponentTypes *ComponentTypes
);
[propget, helpstring("Signal Strength")]
HRESULT SignalStrength(
[out, retval] long *Strength
);
[helpstring("Trigger Signal events (interval in milliseconds; 0 turns off trigger)")]
HRESULT TriggerSignalEvents(
[in] long Interval
);
}
//////////////////////////////////////////////////////////////////////////////////////
[
object,
hidden,
nonextensible,
uuid(1DFD0A5C-0284-11d3-9D8E-00C04F72D980),
helpstring("Scanning Tuner Interface"),
pointer_default(unique)
]
interface IScanningTuner : ITuner
{
[helpstring("Seek to the next valid selection")]
HRESULT SeekUp(
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -