Microsoft DirectX 8.0 (C++)

スクリプト形式

ここでは、DirectMusic のスクリプトに関する情報を格納するチャンクの構造について説明する。

RIFF ( 'DMSC'
    <schd-ck>       // スクリプト ヘッダー チャンク
    [<guid-ck>]     // スクリプトの GUID
    [<vers-ck>]     // オプションのバージョン情報
    [<UNFO-list>]   // 名前、作者、著作権情報、コメント
    <scve-ck>       // DirectMusic のバージョン
    <DMCN-form>     // スクリプトが参照するコンテンツのコンテナ
    <scla-ck>       // スクリプト言語
    <scsr-ck> or <DMRF> // ソース コード
)

<schd-ck>

ヘッダー チャンクには、DMUS_IO_SCRIPT_HEADER 構造体のフラグが含まれる。

<schd-ck> -> schd( <DMUS_IO_SCRIPT_HEADER> )

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

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

<scve-ck>

このチャンクは、スクリプトがオーサリングされた対象の DirectMusic のバージョンを表す。

<scve-ck> -> scve( <DMUS_IO_VERSION> )

<DMCN-form>

このチャンクについては、「コンテナ形式」を参照すること。

<scla-ck>

このチャンクは、スクリプティング言語を表す NULL で終わる文字列である。

<scla-ck> -> scla( <WCHAR>... )

<scsr-ck> または <DMRF>

最後のチャンクには、ソース コードが WCHAR 値の NULL で終わる配列として含まれる。

<scsr-ck> -> scsr( <WCHAR>... )

別の方法として、最後のチャンクは、スクリプト コードを含むテキスト ファイルを指す、参照リスト チャンクにすることもできる。このテキスト ファイルは DirectMusic オブジェクトではないので、DMUS_IO_REFERENCEguidClassID メンバは GUID_NULL でなければならない。