# FS_CreateFileFromMemory

## 構文

  `#include <nitro/fs.h>`
  `BOOL FS_CreateFileFromMemory(FSFile *p_file, void *buf, u32 size);`

## 引数

p_file | FSFile構造体のアドレス
buf | リードおよびライトの対象となるメモリ領域先頭
size | bufのバイトサイズ

## 返り値

ファイルが正しく開ければ TRUE を, そうでないなら FALSE を返します。

## 説明

指定したメモリマップ上のアドレス領域を一時的なファイルとみなし、そのファイルを開きます。
この関数で開いたファイルは以下の関数にのみ対応します。
``

- FS_SeekFile(), FS_SeekFileToBegin(), FS_SeekFileToEnd()
- FS_ReadFile(), FS_WriteFile()
- FS_ReadFileAsync(), FS_WriteFileAsync() (ただし同期版と同様に振舞います)
- FS_CloseFile()

詳細は「メモリファイルアーカイブ」の説明を参照ください。

## 注意

- この関数を割り込みハンドラ(IRQモード)から呼び出すことはできません。
  また、割り込みを禁止したままの状態にあると処理が完了しない場合がある点に注意して下さい。
- 開いたファイルの構造体はシステムリソースに関連付けられるため、 別の構造体にそのままコピーしても情報の移動や複製はできません。 詳細は`FSFile構造体`をご参照ください。

## 参照

`FSFile FSArchive メモリファイルアーカイブ`

## 履歴

2009/07/29 構造体の値コピーが無保証である旨を追記
2005/06/28 初版