Platform SDK: DirectX |
RIFF ファイルの基本的な構成単位はチャンクである。チャンクは、データの論理的な単位である。各チャンクには、次のフィールドが含まれている。
ほかのチャンクに含まれているチャンクは、サブチャンクである。サブチャンクを含むことができるチャンクは、チャンク識別子が RIFF または LIST のチャンクだけである。
ファイルの最初のチャンクは、RIFF として識別されなければならない。ファイル内のその他のチャンクはすべて、RIFF チャンクのサブチャンクとなる。
RIFF チャンクでは、データ フィールドの最初の 4 バイトに追加フィールドが含まれる。追加フィールドでは、チャンクの形式タイプが提供される。形式タイプは、ファイルに格納されるデータの形式を識別する、4 文字のコードである。たとえば、DirectMusic のスタイルの形式タイプは DMST である。
LIST チャンクも、データ フィールドの最初の 4 バイトに追加フィールドを含んでいる。この追加フィールドには、フィールドのリスト タイプが含まれる。リスト タイプは、リストの内容を識別する 4 文字のコードである。たとえば、DirectMusic のスタイルは、パフォーマンスの特定のパート (音色トラック) に関するデータを含む、リスト タイプが "part" の LIST チャンクを持っている。
LIST チャンクは、サブチャンクをグループ化したものである。これらのサブチャンクのいくつかは繰り返し現れる場合があるが、LIST は配列ではない。使用されている用語のために、混乱が生じる可能性がある。たとえば、<part-list> というラベルの付いたチャンクは、パートのリストであると予想するかもしれないが、実際には、"パート" チャンクの要素のリストであり、1 つのパートを示している。
注 : DirectMusic ファイルで使用されているすべての 4 文字コードには、対応するマクロが Dmusicf.h に用意されている。たとえば、DMST の FOURCC は、DMUS_FOURCC_STYLE_FORM マクロによって返される。
一般的な RIFF ファイルの詳細については、Platform SDK ドキュメントの「Resource Interchange File Format Services」を参照すること。