Hardware-Assisted Scanning Algorithm

This section applies only to operating systems starting with Microsoft Windows Vista.

A driver sets the fSupportsHardwareAssistedScanning member of the KSPROPERTY_TUNER_SCAN_CAPS_S structure in a call to its KSPROPERTY_TUNER_SCAN_CAPS property to indicate that it and its associated hardware support event-based scanning operations. The tuner filter (KsTvTune.ax) calls the driver's KSPROPERTY_TUNER_SCAN_CAPS property to determine whether the driver supports hardware-assisted scanning. The tuner filter also calls the KSPROPERTY_TUNER_SCAN_CAPS to determine the broadcast network types that the driver supports scanning on. If the driver supports hardware-assisted scanning, it can return scanning capabilities of each supported broadcast network type through its KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS property. Scanning capabilities include, for example, providing the amount of time that the tuning device requires for a frequency setting to become stable (settling time) and providing the frequency ranges that the tuning filter can use to sense the presence of a tunable signal (sensing ranges). For information about scanning capabilities of an analog broadcast network, see the TUNER_ANALOG_CAPS_S structure.

KsTvTune.ax uses the settling-time value as an approximation. KsTvTune.ax can provide an application with a close estimate for how long the scan process might take based on the scanning frequency range and the sensing range. After the driver's KSEVENT_TUNER_INITIATE_SCAN event is called to start the scanning process, the application can wait for the event notification for the stipulated time.

For hardware-assisted scanning, depending on whether the tuning device has locked onto a signal, the driver returns either Tuner_LockType_None or Tuner_LockType_Locked status from a call to its KSPROPERTY_TUNER_SCAN_STATUS property. If the driver has locked onto a signal, the driver also returns the frequency of the locked signal.