Acessando propriedades de frequência de um nó de sintonizador BDA
Um provedor de rede usa a propriedade KSPROPSETID_BdaFrequencyFilter definida para controlar um nó de sintonizador RF em uma topologia de filtro BDA. Por exemplo, o provedor de rede usa essa propriedade definida para informar ao nó do sintonizador como ajustar o sinal RF.
No snippet de código a seguir, o pino de controle do nó do sintonizador no minidriver BDA intercepta e fornece métodos para propriedades do conjunto de propriedades KSPROPSETID_BdaFrequencyFilter. Observe que algumas propriedades KSPROPSETID_BdaFrequencyFilter só são aplicáveis a tipos específicos de sintonizadores.
//
// BDA RF Tune Frequency Filter
//
// Defines the dispatch routines for the Properties
// on the RF Tuner Node
//
DEFINE_KSPROPERTY_TABLE(RFNodeFrequencyProperties)
{
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_FREQUENCY(
CAntennaPin::GetCenterFrequency,
CAntennaPin::PutCenterFrequency
),
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_FREQUENCY_MULTIPLIER(
NULL,
CAntennaPin::PutFrequencyMultiplier // If this set handler
// is not called, the minidriver must determine that the
// frequency is in kHz. That is, the default multiplier is
// 1000 (1Hz x 1000).
),
#ifdef SATELLITE_TUNER // Only applicable to satellite tuners.
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_POLARITY(
NULL, NULL
),
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_RANGE(
NULL, NULL
),
#endif // SATELLITE_TUNER
#ifdef CHANNEL_BASED_TUNER // Only applicable to channel-based tuners.
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_TRANSPONDER(
NULL, NULL
),
#endif // CHANNEL_BASED_TUNER
#ifdef DVBT_TUNER // Only applicable to tuners that tune Digital Video Broadcast (DVB) signals.
DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_BANDWIDTH(
NULL, NULL
),
#endif // DVBT_TUNER
};