Microsoft DirectX 8.1 (C++) |
This section contains references for DirectMusic COM interfaces.
Interfaces in the current version are either declared or defined with names ending in 8. To be sure of using the latest version of an interface, always include this suffix when declaring the pointer.
Note IKsControl and IReferenceClock are exceptions to this rule.
Interfaces retrieved by methods are always the base version. Where a newer version exists, you must call QueryInterface to obtain it, as in the following example, where lpdmBand is an IDirectMusicBand8 interface pointer.
IDirectMusicSegment * lpdmseg;
IDirectMusicSegment8 * lpdmseg8;
HRESULT hr = lpdmBand->CreateSegment(&lpdmseg);
if (SUCCEEDED(hr))
{
hr = lpdmseg->QueryInterface(IID_IDirectMusicSegment8,
(LPVOID *)&lpdmseg8);
}
Where there is no new version of an interface, the interface name with the suffix 8 is only a define. For example, IDirectMusicGraph8 is equivalent in all respects to IDirectMusicGraph. In such cases it is not necessary to query for a new interface, but doing so does no harm and can make your code easier to maintain for future versions of DirectX.
When a method takes an interface pointer as an IN parameter, you can pass in the newer version even where the method is declared as accepting the older version. For example, a pointer to either IDirectMusicSegment or IDirectMusicSegment8 can be passed to IDirectMusicPerformance8::PlaySegmentEx.
This documentation contains full reference topics only for the latest versions of interfaces. Where a define exists, such as IDirectMusicGraph8, the interface is documented under that name.
Interface | Description |
IDirectMusic8 | Provides methods for managing buffers, ports, and the master clock. |
IDirectMusicAudioPath8 | Represents the stages of data flow from the performance to the primary sound buffer. |
IDirectMusicBand8 | Represents a DirectMusic band object. |
IDirectMusicBuffer8 | Represents a buffer containing time stamped data. |
IDirectMusicChordMap8 | Represents a |
IDirectMusicCollection8 | Manages an instance of a |
IDirectMusicComposer8 | Permits access to the composition engine. |
IDirectMusicContainer8 | Provides access to objects in a container, which is a collection of objects used by a segment or performance. |
IDirectMusicDownload8 | Represents a contiguous memory chunk used for downloading to a DLS synthesizer port. |
IDirectMusicDownloadedInstrument8 | Used to identify an instrument that has been downloaded to the synthesizer by using the IDirectMusicPort8::DownloadInstrument or the IDirectMusicPerformance8::DownloadInstrument method. |
IDirectMusicGetLoader8 | Used by an object parsing a stream when the object needs to load another object referenced by the stream. |
IDirectMusicGraph8 | Manages the loading and message flow of tools. |
IDirectMusicInstrument8 | Represents an individual instrument from a DLS collection. |
IDirectMusicLoader8 | Used for finding, enumerating, caching, and loading objects. |
IDirectMusicObject8 | Represents an object that can be loaded from a file. |
IDirectMusicPatternTrack8 | Represents a track that contains a single |
IDirectMusicPerformance8 | Manages playback. |
IDirectMusicPort8 | Provides access to a DirectMusicPort object, which represents a device that sends or receives music data. |
IDirectMusicPortDownload8 | Enables an application to communicate directly with a port that supports DLS downloading and to download memory chunks directly to the port. |
IDirectMusicScript8 | Represents a script that contains variables that can be set and retrieved by the application, and routines that can be called by the application. |
IDirectMusicSegment8 | Represents a segment, a piece of music made up of multiple tracks. |
IDirectMusicSegmentState8 | Represents a playing instance of a segment. |
IDirectMusicSong8 | Not implemented in DirectX 8.1. |
IDirectMusicStyle8 | Represents a |
IDirectMusicThru8 | Supports thruing of music messages from a capture port to another port. |
IDirectMusicTool8 | Represents a tool object that processes messages. |
IDirectMusicTrack8 | Represents a track object. |
IKsControl | Used to get, set, or query the support of properties, events, and methods. |
IReferenceClock | Represents a system reference clock. |