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つの登録パターンをサポートしています。
各引数の組み合わせと主な用途は以下の通りです。

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

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

参照

WFS_EVENT_SERVER_SEGMENT_REQUEST,
WFS_RegisterServerTable

履歴

2007/06/14 初版