Creating Controls for WebTV for Windows

[This is preliminary documentation and subject to change.]

Microsoft® WebTV® for Windows, a component of the Microsoft® Windows® 98 operating system, is the user interface for Broadcast Architecture. WebTV for Windows hosts several controls, such as Internet Explorer and the Microsoft® ActiveX® control for video (the Video control), that it uses to present data such as live video, Program Guide information, and enhancements.

You can extend the Broadcast Architecture user interface by writing custom controls that are hosted by WebTV for Windows. Because Broadcast Architecture uses Hypertext Markup Language (HTML) for its user interface, writing a control for WebTV for Windows is as simple as writing an signed ActiveX control.

However, you need not stop there. WebTV for Windows exposes COM interfaces that enable your control to interact with it. You can query WebTV for Windows about its state, programmatically control it, and receive event notifications from it. You call the WebTV for Windows interfaces from any programming language that supports COM and the GetActiveObject Automation function.

For example, you can write a control that queries the state of WebTV for Windows to monitor a user's viewing habits. This information might be used locally to build a user profile and then to recommend future broadcasts that the user might enjoy. The information might also be transmitted through the back channel to advertisers and broadcast content providers, to enable them to compile information about which episodes are most successful.

The following topics describe tasks your WebTV for Windows control can implement:

The software supporting Broadcast Architecture includes two sample applications that work with WebTV for Windows. To locate these samples, see Broadcast Architecture Sample Applications.

Note that all ActiveX controls hosted by WebTV for Windows must be signed. Otherwise the control is not displayed or run by WebTV for Windows. This additional security is to prevent unauthorized controls from being downloaded and run as enhancements. To locate information on how to sign an ActiveX control, see Further Information on Development Tasks in Broadcast Architecture.

For more information about WebTV for Windows and the interfaces its exposes, see WebTV for Windows and the ITVViewer and ITVControl interfaces.

Note  WebTV for Windows controls that need to access information from the Guide database should link to the static library, dbsetst.lib, instead of dbsets.dll. This is because dbsets.dll is single-threaded and may already be in use by a loader when your application runs.