IDirectMusicContainer8 Interface
The IDirectMusicContainer8 interface provides access to objects in a container, which is a collection of objects used by a segment or performance. The interface can be obtained when a container is loaded by a call to IDirectMusicLoader8::GetObject or IDirectMusicLoader8::LoadObjectFromFile.
When a container object is loaded, it makes all its objects available to the loader. When the container is released, all objects it refers to are released from the loader. However, any objects still in use when the container is released are not freed until explicitly released. If they are keeping a stream open, as DLS collections and streaming waveforms do, the stream also stays open. As a result, the container file stays locked, just as an individual WAV or DLS file would.
A container can be embedded in a segment. The container is placed in the file before the segment's tracks, so it can be read and its objects installed in the loader before the tracks are loaded. When the tracks are loaded, the loader is able to supply links to referenced objects in the container.
IDirectMusicContainer8 is a type definition for IDirectMusicContainer. The two interface names are interchangeable.
In addition to the methods inherited from IUnknown, the IDirectMusicContainer8 interface exposes the following method.
Method | Description |
EnumObject | Retrieves information about an object in the container. |
Requirements
** Header:** Dmusici.h
Library: Dmloader.dll, Dmloaded.dll
See Also