Microsoft DirectX 8.1 (C++)

Guide Store Data Architecture

This topic applies to Windows XP Home Edition and Windows XP Professional only.

The Guide Store is a COM in-process server, contained in Mstvgs.dll, which has many interfaces. Each interface manages a single object, and objects are often related to, or contain references to, other objects. For example, a ChannelLineup object is related to one or more Channel objects.

Except for the GuideStore object, which is the overall manager of the application's view of the repository, objects are gathered in collections. All collection objects belong to an Objects collection. Most applications don't need to work with the Objects collection directly.

Collections are views of data in the repository. From the collection of all Program objects, you could retrieve a subset containing only those with certain metaproperties. The Program objects in the new collection are not copied from the parent collection; they are the same objects. If you use a method of any collection to remove the object, it is removed from the repository and is no longer available in any collection.

The following table shows the objects that are gathered in collections.

Object Collection Description
Channel Channels A named service; for example, a broadcast service associated with a particular channel. See the Note following this table.
ChannelLineup ChannelLineups A named set of channels; for example, a list of the user's favorite channels.
GuideDataProvider GuideDataProviders A source of EPG data.
MetaProperty MetaProperties Data of any type associated with another object; for example, the rating of a program.
MetaPropertySet MetaPropertySets A named set of MetaPropertyType objects. For example, the "Ratings" set could contain MetaPropertyType objects called "Language", "Violence", and so on.
MetaPropertyType MetaPropertyTypes Prototype for a MetaProperty; for example, "Violence" without an associated value.
Program Programs A unique program, such as a particular episode of a series.
ScheduleEntry ScheduleEntries A program on a particular service at a scheduled time.
Service Services A broadcast service associated with a TuneRequest; for example, a television channel. See the Note following this table.

Note   Typically, a Service is associated with a particular broadcast service such as a television station. The provider name of the Service might be a call-letter sequence or some other identifier. A Channel object associates a Service with a name such as "Channel 4" or "Preset 1". Services can be related to multiple channels.

From the client's point of view, the most important object is the ScheduleEntry object. This entry contains start and stop times for a single broadcast program, along with references to a Program object and a Service object. These objects contain certain fixed properties as well as metaproperties, which contain miscellaneous information determined by the implementation.

The following diagram shows the object hierarchy within a ScheduleEntry object.

Guide Store Object Hierarchy

A ScheduleEntry object provides the time of the broadcast and refers to one Program object and one Service object. The Program object provides the name and duration of the program. The Service object provides information about the broadcaster. A client application can obtain a tune request from the Service object and, at the correct time, send the tune request to the Video Control.

For information on the objects discussed in this topic, see the following:

C++

Visual Basic