Microsoft DirectX 9.0

Container Form

The container form is a chunk that contains other chunks such as segment or style forms. It can be contained within a segment or script file. It is organized as follows:

RIFF ( 'DMCN' 
  <conh-ck>   // Container header chunk.
  [<guid-ck>]   // GUID for container.
  [<vers-ck>]   // Optional version information.
  [<UNFO-list>] // Name, author, copyright information, comments.
  <cosl-list>   // List of objects.
)

<conh-ck>

This chunk contains a header structure.

<conh-ck> -> 'conh' ( <DMUS_IO_CONTAINER_HEADER> )

<guid-ck>, <vers-ck>, <UNFO-list>

For information on these three chunks, see Common Chunks.

<cosl-list>

The final element of the container form is an array of chunks that describe the objects in the container.

<cosl-list> -> LIST ( 'cosl'
  <cobl-list>... 
  )

Each object is stored in the following format:

<cobl-list> -> LIST( 'cobl'
  [<coba-ck>]  
  <cobh-ck>   // Required header
  [<data> ] or [ DMRF-list ]

The first element is an alias, or alternative name by which this object is known within the container.

<coba-ck> -> coba( <WCHAR>... )  // Null-terminated string

The second element header for the object.

<cobh-ck> -> cobh ( <DMUS_IO_CONTAINED_OBJECT_HEADER> )

The header is normally followed by object data of the type specified in <cobh-ck>. This can be in the form of a RIFF chunk such as a Segment Form or a Style Form. If it is a DMRF-list, it is a reference to the object. For more information on DMRF, see Reference List.