# FS_OpenFileFast

## 構文

  `#include <nitro/fs.h>`
  `BOOL FS_OpenFileFast( FSFile *p_file, FSFileID file_id );`

## 引数

p_file | FSFile構造体のアドレス
file_id | FSDirEntry構造体のfile_idで指定されるファイルID

## 返り値

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

## 説明

指定したファイルIDでファイルを開きます。
このIDは`FS_ReadDir()`によって取得します。
`FS_ReadDirectory()`を使用する場合は、 得られるID(FSDirectoryEntryInfo.id)の形式がFSFile構造体ではないため、 FSFile構造体を別途用意してarcとfile_idを直接設定する必要があります。

## 注意

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

## 参照

`FSFileID FSFile FS_OpenFileEx FS_CloseFile FS_GetFileLength FS_ReadFile FS_SeekFile FS_SeekFileToBegin FS_SeekFileToEnd FS_ReadDir FSDirEntry FS_ReadDirectory FSDirectoryEntryInfo`

## 履歴

2009/07/29 構造体の値コピーが無保証である旨を追記
2009/07/16 FS_ReadDirectoryを使用する際の制約について追記
2008/10/02 参照リストを一部更新
2004/11/02 引数名をヘッダファイルと同一に訂正
2004/09/24 呼び出し時および完了の条件についての注意を記述追加
2004/05/14 idの型をu32からFSFileIDへ変更
2004/04/02 ファイルシステム → ROM ファイルシステム
2004/04/01 初版