ファイル関数の戻り値
FatFsのAPIでは、一部の関数を除き結果に応じた共通のリザルト・コード(enum型)を返します。関数が成功した場合は0を返します。失敗した場合は0以外の値を返し、値はエラーの種類を示します。
- FR_OK (0)
- 関数は成功した。
- FR_DISK_ERR
- 下位レイヤ(ディスクI/O関数)で回復不能なエラーが発生した。
- FR_INT_ERR
- 内部処理の健全性に異常が検出された。原因としては次のようなことが考えられます。
- ボリューム上のFAT構造にエラーがある。
- スタック不足や他のタスク等によるワーク・エリア(ファイル・システム・オブジェクトやファイル・オブジェクト)の破壊。多くはこれが原因。
- そのファイルオブジェクトでは過去にFR_DISK_ERRが発生している。
- FR_NOT_READY
- 物理ドライブが動作可能な状態にない。または、ドライブの初期化に失敗した。
- FR_NO_FILE
- 指定されたファイルが見つからなかった。
- FR_NO_PATH
- 指定されたパスが見つからなかった。
- FR_INVALID_NAME
- 指定された文字列がパス名のフォーマットとして無効。
- FR_DENIED
- そのオブジェクトに対する操作の拒否。原因としては次のようなことが考えられます。
- 書き込み禁止属性(AM_RDO)を持つファイルを書き込みモードで開こうとした。
- 書き込み禁止属性を持つファイルやディレクトリを削除しようとした。
- 空でないディレクトリまたはカレント・ディレクトリを削除しようとした。
- FA_READを付けずに開いたファイルに対して読み出しを行った。
- FA_WRITEを付けずに開いたファイルに対して変更操作を行った。
- ディレクトリ・テーブルが満杯でファイルやディレクトリを作成できなかった。
- ボリュームが満杯でディレクトリを作成できなかった。
- FR_EXIST
- 新しく作成しようとしたオブジェクトと同じ名前のオブジェクトが既に存在する。
- FR_INVALID_OBJECT
- 指定されたファイル・オブジェクトやディレクトリ・オブジェクトが無効。
- FR_WRITE_PROTECTED
- 物理ドライブが書き込み禁止状態のとき、書き込みを伴う操作を行おうとした。
- FR_INVALID_DRIVE
- 指定されたドライブ番号が無効。(関連オプション: _VOLUMES)
- FR_NOT_ENABLED
- そのボリュームの操作に必要なワーク・エリア(ファイル・システム・オブジェクト構造体)が与えられていない。
- FR_NO_FILESYSTEM
- 物理ドライブ上に有効なFATボリュームが見つからなかった。
- FR_MKFS_ABORTED
- f_mkfs()の処理が開始前に中断された。原因としては次のようなことが考えられます。
- ボリュームが小さすぎる。
- FATタイプの計算に矛盾が見つかった。クラスタ数がFATタイプの境界付近になるときに発生する場合があります。
- FR_TIMEOUT
- 再入制御による待ち時間が定義された時間を越えたため、関数は実行されなかった。(関連オプション: _TIMEOUT)
- FR_LOCKED
- 多重アクセス排他機能により、そのファイルに対して行おうとしたアクセスが拒否された。(関連オプション: _FS_SHARE)
- FR_NOT_ENOUGH_CORE
- メモリ不足による失敗。原因としては次のようなことが考えられます。
- LFN操作バッファの動的確保に失敗した。(関連オプション: _USE_LFN)
- 与えられた配列のサイズが実際に必要なサイズに対して不足している。
- FR_TOO_MANY_OPEN_FILES
- 同時オープン可能なファイル数を越えてファイルを開こうとした。(関連オプション: _FS_SHARE)
- FR_INVALID_PARAMETER
- 与えられたパラメータが無効または矛盾している。