Microsoft DirectX 8.0 (C++)

コンテナ形式

コンテナ形式は、セグメントまたはスタイル形式など、ほかのチャンクを格納するチャンクである。セグメント ファイルやスクリプト ファイルに含めることができる。構造は次のとおりである。

RIFF ( 'DMCN' 
    <conh-ck>       // コンテナ ヘッダー チャンク
    [<guid-ck>]     // コンテナの GUID
    [<vers-ck>]     // オプションのバージョン情報
    [<UNFO-list>]   // 名前、作者、著作権情報、コメント
    <cosl-list>     // オブジェクトのリスト
)

<conh-ck>

このチャンクには、ヘッダー構造が含まれる。

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

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

これらの 3 つのチャンクについては、「共通のチャンク」を参照すること。

<cosl-list>

コンテナ形式の最後の要素は、コンテナ内のオブジェクトを表すチャンクの配列である。

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

各オブジェクトは、次の形式で格納される。

<cobl-list> -> LIST( 'cobl'
    [<coba-ck>]      
    <cobh-ck>       // 必要なヘッダー
    [<data> ] or [ DMRF-list ]

先頭の要素はエイリアス、つまり、このオブジェクトのコンテナ内で使用される別名である。

<coba-ck> -> coba( <WCHAR>...)  // Null で終わる文字列

2 番目の要素は、オブジェクトのヘッダーである。

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

ヘッダーの後には通常、<cobh-ck> に指定されるタイプのオブジェクト データが続く。これは、セグメント形式スタイル形式など、RIFF チャンクの形式をとることができる。これが DMRF リストである場合は、オブジェクトへの参照である。DMRF の詳細については、「参照リスト」を参照すること。