FSDirectoryEntryInfo(W)

定義


#define	FS_ENTRY_SHORTNAME_MAX      16
#define	FS_ENTRY_LONGNAME_MAX	    260

typedef struct FSDirectoryEntryInfo
{
    char        shortname[FS_ENTRY_SHORTNAME_MAX];
    u32         shortname_length;
    char        longname[FS_ENTRY_LONGNAME_MAX];
    u32         longname_length;
    u32         attributes;
    FSDateTime  atime;
    FSDateTime  mtime;
    FSDateTime  ctime;
    u32         filesize;
    u32         id;
}
FSDirectoryEntryInfo;

typedef struct FSDirectoryEntryInfoW
{
    u32         attributes;
    FSDateTime  atime;
    FSDateTime  mtime;
    FSDateTime  ctime;
    u32         filesize;
    u32         id;
    u32         shortname_length;
    u32         longname_length;
    char        shortname[FS_ENTRY_SHORTNAME_MAX];
    u16         longname[FS_ENTRY_LONGNAME_MAX];
}
FSDirectoryEntryInfoW;

説明

FS_ReadDirectory()またはFS_ReadDirectoryW() で取得できるエントリ情報をあらわす構造体です。
各メンバの内容は以下の通りです。

shortnameいわゆるFATフォーマットの8.3形式におけるエントリ名です。エントリが短縮された別名を持つ場合に限り、その文字列が格納されます。
そうでない場合は空文字列となります。
このフィールドの文字コードはファイルの作成環境に依存し、TWLで作成したファイルであればShift_JISになります。
shortname_lengthshortnameの有効文字数です。
shortnameは必ず終端に'\0'が付与されますが、利便性のために用意されています。
longnameエントリ名です。
FSDirectoryEntryInfo構造体ではShift_JIS、FSDirectoryEntryInfoW構造体ではUTF16-LEとして格納されます。
longname_lengthlongnameの有効文字数です。
longnameは必ず終端にL'\0'が付与されますが、利便性のために用意されています。
attributesエントリの属性です。各フラグの意味はFSPathInfoのattributesと同じです。
mtimeFSDateTime型で表現されるエントリ最終更新時刻です。
時刻情報が有効でない場合は全てのメンバが0になります。
filesizeファイルサイズです。
エントリがファイルである場合にのみ有効です。
idファイルまたはディレクトリのIDです。
得られた値は FS_OpenFileFast() などに使用することが出来ます。
NANDアーカイブなど、ファイルIDやディレクトリIDをサポートしていない場合は常にFS_INVALID_FILE_IDとなります。

参照

FS_CreateFile FS_CreateDirectory

履歴

2008/09/02 Unicode版の構造体について追記。
2008/06/13 attributesフラグの説明をFSPathInfoと統合しリンク先を追加
2007/09/18 初版