メモリファイルアーカイブ

概要

この項では、ファイルシステムにデフォルトで用意される「メモリファイルアーカイブ」について説明します。

仕様

メモリファイルアーカイブの基本的な動作は以下の通りです。

FS_CreateFileFromMemory()の初回呼び出し時に自動的にロードされます。

・指定されたメモリにMI_CpuCopy8()でアクセスし、ファイルとしての操作を実現します。内部でキャッシュの無効化やクリーンは行われません。

・ファイルのリード/ライト操作以外(ディレクトリやパス名に関するコマンド全般)に対応しません。ファイルシステムへアーカイブ名も登録されません。

・非同期版の関数を呼び出された場合にも、常に同期版として動作します。


実装

メモリファイルアーカイブの具体的な実装は以下の通りです。

[リードコールバック]
MI_CpuCopy8()によってメモリからデータを読み出します。
常に FS_RESULT_SUCCESS を応答します。

[ライトコールバック]
MI_CpuCopy8()によってメモリへデータを書き込みます。
常に FS_RESULT_SUCCESS を応答します。

[ユーザプロシージャ]
FS_COMMAND_SEEKDIR
FS_COMMAND_READDIR
FS_COMMAND_FINDPATH
FS_COMMAND_GETPATH
FS_COMMAND_OPENFILEFAST
これらのコマンドには対応せず、常に FS_RESULT_UNSUPPORTED を返します。
その他 FS_RESULT_PROC_UNKNOWNを返し、デフォルトのコマンド実装に任せます。

参照

FSArchive FS_ARCHIVE_PROC_FUNC
FS_SetArchiveProc

履歴

2005/06/28 初版