## FILINFO

`FILINFO`構造体は、`f_stat/f_readdir/f_findfirst/f_findnext`関数で返されるオブジェクトに関する情報を保持します。

    typedef struct {
        DWORD fsize;     /* ファイル サイズ */
        WORD fdate;      /* 最後に更新された日付 */
        WORD ftime;      /* 最後に更新された時刻  */
        BYTE fattrib;    /* アトリビュート */
        TCHAR fname[13]; /* 短いファイル名 (8.3フォーマット) */
    #if _USE_LFN
        TCHAR* lfname;   /* 長いファイル名のバッファへのポインタ */
        int lfsize;      /* 長いファイル名のバッファのサイズ [文字数] */
    #endif
    } FILINFO;

#### メンバ

fsize
  ファイルのバイト単位のサイズが格納されます。ディレクトリの場合は常に0です。
fdate
  ファイルの変更された日付、またはディレクトリの作成された日付が格納されます。
  bit15:9
    1980年を起点とした年が 0..127 で入ります。
  bit8:5
    月が 1..12 の値で入ります。
  bit4:0
    日が 1..31 の値で入ります。
ftime
  ファイルの変更された時刻、またはディレクトリの作成された時刻が格納されます。
  bit15:11
    時が 0..23 の値で入ります。
  bit10:5
    分が 0..59 の値で入ります。
  bit4:0
    秒/2が 0..29 の値で入ります。
fattrib
  属性フラグが格納されます。フラグは`AM_DIR, AM_RDO, AM_HID, AM_SYS, AM_ARC`の組み合わせとなります。
fname[]
  8.3形式の名前(SFN)が`'\0'`で終わる文字列として格納されます。非LFN構成のときは、常に大文字で返されます。LFN構成のときは、文字列に含まれるASCII英字が小文字になる場合があります。
lfname
  長いファイル名(LFN)を格納するバッファへのポインタ。このメンバは、この構造体を使用する前にアプリケーションにより初期化されなければなりません。NULLが設定されるとLFNは返されません。非LFN構成のときはこのメンバは存在しません。
lfsize
  長いファイル名を格納するバッファのサイズ(要素数)。このメンバは、この構造体を使用する前にアプリケーションにより初期化されなければなりません。非LFN構成のときはこのメンバは存在しません。

戻る