Microsoft DirectX 8.0

BDA COM Interfaces

The following Microsoft® Broadcast Driver Architecture (BDA) COM interfaces are accessible to C/C++ applications:

Tuning Space Interfaces

Applications can create or access a Tuning Space using the Tuning Space Container object, which supports ITuningSpaceContainer. You will never use the base class ITuningSpace interface directly; you will always use a derived interface that is specific to a particular network type.

ITuningSpaceBase class for specific tuning space interfaces.
IAnalogRadioTuningSpaceTuning Space specific to terrestrial Radio networks.
IAnalogTVTuningSpaceTuning Space specific to analog TV networks.
IATSCTuningSpaceTuning Space specific to ATSC networks.
IDVBTuningSpaceTuning Space specific to DVB networks.
ITuningSpaceContainerCreated by applications to create new Tuning Spaces or enumerate or modify existing ones.
IEnumTuningSpacesStandard COM enumeration interface for Tuning Spaces.

Tune Request Interfaces

Tune requests are not created directly by applications. They are created through a call to ITuningSpace::CreateTuneRequest on the Tuning Space object. After receiving a pointer to the returned object, an application calls QueryInterface on that object for the network-specific interface that will be used to modify the Tune Request.

ITuneRequestExposed on Tune Request objects, which are created by a Tuning Space object. Applications can modify and submit Tune Requests to the Tuner.
IChannelTuneRequestImplemented on Tune Request objects specific to analog TV networks.
IATSCChannelTuneRequestImplemented on Tune request objects specific to ATSC TV networks.

Stream Component Interfaces

A "component" in this context refers to a substream within a broadcast. Applications create Component objects only in order to specify a set of default preferred component types that will be associated with a Tuning Space. The actual components of a broadcast stream can only be discovered after reception begins. The Network Provider at that point will fill in the Component object information and the application can then retrieve this information and use it, for example, to change the audio stream or determine which audio streams are currently available.

IComponentBase class for specific component interfaces.
IComponentTypeBase class for specific component type interfaces.
IComponentTypesProvides a standard COM enumeration of component types.
IComponentsProvides a standard COM enumeration of components.
ILanguageComponentTypeComponent type associated with the language of the substream.
IMPEG2ComponentTypeImplemented on a component type associated with an MPEG-2 stream type.
IATSCComponentTypeImplemented on a component type that indicates whether the audio substream is in AC-3 format.
IEnumComponentsImplemented on a standard COM collection object containing all the active or inactive components on the current broadcast stream.

Locator Interfaces

Locator objects are used in some cases by the Network Provider and other filters in the graph to determine how and where to tune to implement a Tune Request. These interfaces are not used by applications except possibly for debugging purposes.

ILocatorBase class for network-type specific tuning space locators. Not used by applications.
IATSCLocatorCalled by the Network Provider to obtain information about tuning within an ATSC network. Not used by applications.

Network Provider Interfaces

These interfaces are exposed on the Network Provider filter and enable the filter to process Tune Requests and other commands from an application.

ITunerBase class interface for accepting Tune Requests and other data from an application. Supported on the Network Provider filter in the filter graph.
IScanningTunerSupported on the Network Provider filter in the filter graph. Inherits from ITuner. Applications using the default Network Provider filter should QueryInterface for IScanningTuner, not ITuner.