English
PROGRAMMER'S GUIDEファイルシステムライブラリ
戻る|   ■
ファイルシステムライブラリ

付録B

エラー対処法


 以下のエラーコードについて原因と対処法を述べます。

GFS_ERR_CDRD

 原 因:
CDブロックがリードエラーを起こしました。
 対 処:
GFS_NwExecOne,GFS_NwExecServerにおいてリードエラーが発生した場合、 関数値としてGFS_ERR_CDRDを返しますが、そのままサーバ関数を呼ぶとリカバリ処理をします。 完了復帰型アクセスでは、GFS_ERR_CDRDを返すだけでリカバリ処理は行いません。 この場合は、再度ファイルの読み込みを実行してください。
リードエラーが頻繁に発生する場合には、CD-ROMのハードウェアとメディアを確認してください。

GFS_ERR_CDNODISC

 原 因:
CD-ROMがセットされていません。
 対 処:
CD-ROMをセットしてやり直してください。

GFS_ERR_CDROM

 原 因:
CD-ROMでないディスクがセットされています。
 対 処:
正しいCD-ROMをセットしてやり直してください。

GFS_ERR_DIRTBL

 原 因:
ディレクトリ管理構造体の内容が不正です。
 対 処:
GFS_InitGFS_LoadDirの呼び出しの前に、ディレクトリ管理構造体の各メンバに値の設定し忘れがないか、不正な値が設定されていないか確認してください。

GFS_ERR_OPENMAX

 原 因:
最大オープン数の値が不正です。
 対 処:
GFS_Initの呼び出しで最大オープン数の指定が1から24の範囲を超えていないか確認してください。

GFS_ERR_DIR

 原 因:
指定されたファイルはディレクトリではありません。
 対 処:
ファイル識別子とファイルの対応を確認してください。

GFS_ERR_CDBFS

 原 因:
CDブロックファイルシステムの使用宣言をしていないのに使おうとしました。
 対 処:
CDブロックファイルシステムを利用するなら、ディレクトリ管理領域のアドレスにNULLを指定してGFS_Initを呼び出してください。
CDブロックファイルシステムを使用しないなら、GFS_LoadDir,GFS_SetDirでNULLを指定しないようにしてください。

GFS_ERR_NONAME

 原 因:
現在のディレクトリではファイル名を扱えません。
 対 処:
GFS_DIRTBL_TYPEGFS_DIR_NAMEを設定したディレクトリ管理領域を指定して、 GFS_InitGFS_LoadDirを呼び出してください。

GFS_ERR_NEXIST

 原 因:
指定されたファイル名は存在しません。
 対 処:
カレントディレクトリの設定かファイル名の指定が間違っていないか確認してください。

GFS_ERR_FID

 原 因:
ファイル識別子の指定が不正です。
 対 処:
指定したファイル識別子が、カレントディレクトリに設定したディレクトリ管理構造体のGFS_DIR_NDIRの範囲を超えていないか確認してください。

GFS_ERR_HNDL

 原 因:
ファイルハンドルが不正です。
 対 処:
ファイルハンドルを格納する変数にGFS_Openの関数値を設定し忘れていないこと、およびその変数の内容を破壊していないことを確認してください。

GFS_ERR_SEEK

 原 因:
シーク位置が不正です。
 対 処:
基準位置とオフセットより計算したシーク位置を確認してください。

GFS_ERR_ORG

 原 因:
GFS_Seekの基準位置が不正です。
 対 処:
基準位置が、GFS_SEEK_SET、GFS_SEEK_CUR、GFS_SEEK_ENDのどれかであることを確認してください。

GFS_ERR_NUM

 原 因:
バイト数が負で指定されました。
 対 処:
GFS_ByteToSctで指定したバイト数を確認してください。

GFS_ERR_OFS

 原 因:
オフセットが不正です。
 対 処:
GFS_Loadで指定した読み込み開始セクタ位置を確認してください。

GFS_ERR_FBUSY

 原 因:
指定ファイルハンドルに対する処理が残っています。
 対 処:
目的のファイルのアクセスが終了してから再アクセスするようプログラムを修正するか、あるいはファイル構成を再検討してください。

GFS_ERR_PARA

 原 因:
パラメータが不正です。
 対 処:
次の各関数に正しい引数が与えられていることを確認してください。

GFS_ERR_BUSY

 原 因:
多重処理を行おうとしました。
 対 処:
6.3 多重処理」を参照してください。

GFS_ERR_NOHNDL

 原 因:
ファイルハンドルに空きがありません。
 対 処:
GFS_lnitで同時に開くファイルの最大数の指定を大きくするか、同時に開くファイルの数を減らしてください。

GFS_ERR_FATAL

 原 因:
CDドライブが<FATAL>状態です。
 対 処:

  1. GFS_Init,GFS_LodDirの場合は、再度実行してください。

  2. ファイルの読み込み中は、一度ファイルをクローズし再度オープンして読み直してください。

  3. くり返し実行してもエラーになる場合は、故障などが考えられます。メッセージを表示するかマルチプレイヤに移ってください。


GFS_ERR_PUINUSE

 原 因:
ピックアップ動作中にGFS_CdMovePickupを呼び出しました。
 対 処:
ファイルアクセスを行っていない状態でGFS_CdMovePikupを呼び出すようにしてください。

GFS_ERR_ALIGN

 原 因:
ファイルの読み込み先がワード境界に配置されていません。
 対 処:
読み込み領域をワード境界に配置してください。

GFS_ERR_TMOUT

 原 因:
CDブロックから所定の時間内に応答が得られませんでした。
 対 処:
ハードウェアの異常が考えられます。

GFS_ERR_CDOPEN

 原 因:
CDドライブのトレイが開いています。
 対 処:
SYS_EXECDMP()を呼び出して、マルチプレーヤに戻ってください。

 CDブロックの割り込み要因レジスタ(HIRQREQ)のDCHGビット(bit5)が1の時も、トレイが開いている状態として扱います。
 開発中は、GFS_Initを呼ぶ前にCDステータスがオープンでないことを確認してDCHGビットをクリアする処理を行ってください。
 製品版では、BOOT ROMがDCHGフラグをクリアするのでアプリケーションがクリアしてはいけません。


GFS_ERR_BFUL

 原 因:
取り出しモードがGFS_GMODE_RESIDENTの時に、CDバッファがいっぱいになり、読み込みが中止されます。
 対 処:
取り出しモードがGFS_GMODE_RESIDENTの時には、CDバッファがいっぱいにならないようにアクセスの順序、読み込み量を調整してください。

戻る|   ■
PROGRAMMER'S GUIDEファイルシステムライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997