Platform SDK: DirectX

Overview of DirectMusic Objects and Interfaces

[Visual Basic]

The information in this section pertains only to applications written in C++. See Overview of DirectMusic Classes.

[C++]

In DirectMusic, it is helpful to make a distinction between objects and their COM interfaces because many objects have multiple interfaces. The object that supports the IDirectMusicCollection interface, for example, also supports the standard COM IPersistStream interface, as well as the IDirectMusicObject interface.

In this documentation, DirectMusic objects are referred to by the name of their principal or unique interface, but without the initial I; thus the object represented by IDirectMusicCollection is called the DirectMusicCollection object. Objects are also referred to by short names, such as collection, performance, segment, and track.

Interface pointers are often used as pointers to their objects so that these objects can be accessed through the methods of other interfaces. In fact, one interface, IDirectMusicDownloadedInstrument, has no unique methods of its own and is used only as a parameter to the methods of other interfaces.

DirectMusic consists of many COM objects and interfaces that are related to one another in rather complex ways. However, they can be divided into categories, according to their broad functionality, as follows: