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

## 概要

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

## 仕様

メモリファイルアーカイブの基本的な動作は以下の通りです。
・`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 初版