Platform SDK: DirectX

RIFF について

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」を参照すること。