Microsoft DirectX 8.1 (C++)

Metaproperties

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

Metaproperties contain miscellaneous information about Guide Store objects.

Metaproperty types, and the properties themselves, are contained in a variety of objects, as summarized in the following table.

Object Description Data
MetaPropertySets Manages a collection of MetaPropertySet objects. Collection.
MetaPropertySet Manages a collection of MetaPropertyType objects. Name; collection.
MetaPropertyType Defines type of property; can be used to create MetaProperty objects. Name.
MetaProperties Manages a collection of MetaProperty objects. Collection.
MetaProperty Defines type and value of property. MetaPropertyType; value.

Another object, MetaPropertyCondition, is used to compare an existing or hypothetical MetaProperty object against all objects in a MetaProperties collection.

Using MetaProperty and MetaPropertyType objects as selection criteria, an application can query the Guide Store for a collection of program, service, or schedule objects that contain a specified set of characteristics. For example, it might do the following:

An application can add MetaProperty and MetaPropertyType objects to schedule entries or programs. For example, an application might have access to a separate database of movies with critical ratings from zero to five stars. To apply information from this database to the Guide Store, it first creates a MetaPropertyType object called a "star". Then it finds all programs in the Guide Store repository that are movies, based on the standard metaproperties supplied by the EPG, and compares their names with entries in its private database. When it finds a match, it creates a new MetaProperty object containing the star rating and adds this to the MetaProperties collection attached to the Program object. The star rating of each movie can then be used as a selection criterion in preparing a schedule of programs that might interest the user.

Similarly, a client application might create a MetaPropertyType called "favorite". Each user is given the opportunity to tag certain programs as favorites. When a program is tagged, the name of the user is assigned to a MetaProperty object, which is then added to the Program object's MetaProperties collection. Subsequent queries determine whether any of the favorites are to be broadcast in a specified time period, enabling the application to present a personalized schedule for the user.