# WFS_ExecuteRomServerThread

## 構文

  `#include <nitro/wfs.h>`
  `void WFS_ExecuteRomServerThread(WFSServerContext *context, FSFile *file, BOOL sharedFS);`

## 引数

context | WFSServerContext構造体のポインタ
file | 登録すべきファイルシステムを保持するSRLファイルを開いた状態のFSFileオブジェクト 親機(サーバ)自身のファイルシステムを登録する場合はNULLを指定します。
sharedFS | ファイルシステムを親子で共有させるかどうかのフラグ TRUEを指定した場合, 親機(サーバ)自身のファイルシステムにfile内のオーバーレイだけが追加された混合ファイルシステムを構築します。 fileにNULLを指定した場合はこの引数は無視されます。(常にTRUEとして解釈されます)

## 返り値

ROMファイルテーブルの登録処理と内部スレッド生成に成功すればTRUEを、それらいずれかに失敗すればFALSEを返します。

## 説明

指定したSRLファイルのファイルテーブルを標準的な設定で登録し、読み込みリクエストに応答する内部スレッドも自動的に生成します。
この関数呼び出しが成功すると優先度15のスレッドが1個生成され、WFS_EndServer( )を呼び出すまで実行します。 子機(クライアント)からの読み込みリクエストに対してこのスレッドが自動的に応答するので、WFS_EVENT_SERVER_SEGMENT_REQUESTイベント通知は発生しなくなります。
ファイルテーブルの設定や読み込みリクエストの応答に特別な処理を必要としない場合、 この関数を使用することによってWFS_RegisterServerTable( )よりも格段に容易に親機(サーバ)理を実現することが出来ます。

この関数は、MBライブラリとWFSライブラリを組み合わせてよく利用される標準的な3つの登録パターンをサポートしています。
各引数の組み合わせと主な用途は以下の通りです。

file | sharedFS | タイプ | 用途
有効なファイル | FALSE | 単体型 | 配信するダウンロードプログラムの構成が親機(サーバ)と無関係である場合に有効です。 単体で完結した簡単なダウンロードプログラムを作成するのに向いています。
TRUE | FS共有型 | 配信するダウンロードプログラムの構成は親機(サーバ)と異なるがファイルシステムの内容がほとんど同一である場合に有効です。 ダウンロードプログラムのために重複したデータを用意する必要がなくなるため、ROMサイズを節約することができます。
NULL | - | クローンブート型 | 配信するダウンロードプログラムが親機(サーバ)自身のクローンブートである場合に有効です。

これらのいずれでもないカスタマイズされた設定でファイルテーブルを登録したい場合、 WFS_RegisterServerTable( )を使用してください。 この関数とWFS_RegisterServerTable( )の作用は排他的で、どちらか一方のみ使用可能です。

## 参照

`WFS_EVENT_SERVER_SEGMENT_REQUEST,
WFS_RegisterServerTable
`

## 履歴

2007/06/14 初版