Share via


IRegisterTuner interface (tuner.h)

[The feature associated with this page, Microsoft TV Technologies, is a legacy feature. Microsoft strongly recommends that new code does not use this feature.]

This feature is expected to be available on a future version of the Windows operating system.

The IRegisterTuner interface registers an apartment-threaded tuner with the tuner marshaller and registers the tuner marshaller with the graph service provider.

A common scenario that uses the video control involves a physical remote control sending infrared commands to a set-top box. The set-top box can be plugged into an auxiliary input or into the radio frequency (RF) tuner on the playback device. The analog tuner in the video control must be tuned to the input channel to receive the signal, but the content is actually on a different channel. Some filters need the actual content channel; they query ITuner to retrieve it.

However, an object outside the filter graph and the video control may be doing the actual tuning. If the external object is apartment-model threaded, synchronization issues may occur because ITuner can be called on any thread. The tuner marshaller is a utility object that simplifies this situation by storing the apartment model interface pointer and registering itself instead. Whenever the tuner marshaller ITuner interface is called, the tuner marshaller does the correct marshalling and passes the call to the external apartment-model object. The tuner marshaller also handles registering with the graph service provider.

Inheritance

The IRegisterTuner interface inherits from the IUnknown interface. IRegisterTuner also has these types of members:

Methods

The IRegisterTuner interface has these methods.

 
IRegisterTuner::Register

This feature is expected to be available on a future version of the Windows operating system.
IRegisterTuner::Unregister

This feature is expected to be available on a future version of the Windows operating system.

Remarks

To declare the interface identifier (IID) for this interface, use the __uuidof operator: __uuidof(IRegisterTuner).

Requirements

Requirement Value
Target Platform Windows
Header tuner.h

See also

BDA Interfaces