WIN32_FIND_DATA

FindFirstFile 関数または FindNextFile 関数で検索されたファイルの情報が格納されます。

#define  MAX_PATH           260

typedef struct _WIN32_FIND_DATA {
    DWORD  dwFileAttributes;       // 属性
    FILETIME  ftCreateTime;        // 作成日時
    FILETIME  ftLastAccessTime;    // 最終アクセス日時
    FILETIME  ftLastWriteTime;     // 最終更新日時
    DWORD  nFileSizeHigh;          // ファイルサイズ(上位32ビット)
    DWORD  nFileSizeLow;           // ファイルサイズ(下位32ビット)
    DWORD  dwReserved0;            // リパースタグ
    DWORD  dwReserved1;            // 予約
    TCHAR  cFileName[MAX_PATH];    // ファイル名
    TCHAR  cAlternateFileName[14]; // 8.3形式のファイル名
} WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;

メンバ

dwFileAttributes

検索されたファイルの属性が格納されます。以下の値の組み合わせになります。

意味
0x00000001 (FILE_ATTRIBUTE_READONLY)

読み取り専用属性を持ちます。この属性を持つファイルは読み込むことができますが書き込んだり削除したりすることはできません。この属性を持つディレクトリを削除することはできません。

0x00000002 (FILE_ATTRIBUTE_HIDDEN)

隠しファイル属性を持ちます。

0x00000004 (FILE_ATTRIBUTE_SYSTEM)

システム属性を持ちます。

0x00000010 (FILE_ATTRIBUTE_DIRECTORY)

ディレクトリです。

0x00000020 (FILE_ATTRIBUTE_ARCHIVE)

アーカイブ属性を持ちます。

0x00000040 (FILE_ATTRIBUTE_ENCRYPTED)

暗号化属性を持ちます。この属性を持つファイルはデータが暗号化されていることを示します。この属性を持つディレクトリは、このディレクトリの中に新しく作成されるファイルやサブディレクトリがデフォルトで暗号化属性を持つことを示します。

0x00000080 (FILE_ATTRIBUTE_NORMAL)

ほかのどの属性も設定されていません。

0x00000100 (FILE_ATTRIBUTE_TEMPORARY)

一時記憶領域として利用されているファイルです。

0x00000200 (FILE_ATTRIBUTE_SPARSE_FILE)

スパースファイルです。

0x00000400 (FILE_ATTRIBUTE_REPARSE_POINT)

関連付けられたリパースポイントを持ちます。

0x00000800 (FILE_ATTRIBUTE_COMPRESSED)

圧縮属性を持ちます。この属性を持つファイルはデータが圧縮されていることを示します。この属性を持つディレクトリは、このディレクトリの中に新しく作成されるファイルやサブディレクトリがデフォルトで圧縮属性を持つことを示します。

0x00001000 (FILE_ATTRIBUTE_OFFLINE)

ファイルは直接利用することができません。この属性は、ファイルがオフラインストレージに移動されたものであることを示します。アプリケーションはこの属性を変更するべきではありません。

ftCreateTime, ftLastAccessTime, ftLastWriteTime

それぞれ作成日時、最終アクセス日時、最終更新日時が格納された FILETIME 構造体です。これらは世界標準時の形式で与えられます。ファイルシステムが作成日時、最終アクセス日時、最終更新日時をサポートしていない場合は、対応するメンバに 0 が格納されます。

nFileSizeHigh, nFileSizeLow

バイト単位で示されたファイルサイズの上位32ビットと下位32ビットの値がそれぞれ格納されます。

dwReserved0

dwFileAttributes メンバに FILE_ATTRIBUTE_REPARSE_POINT 属性が含まれる場合は、リパースタグが格納されます。それ以外の場合は 0 が格納されます。

dwReserved1

将来の拡張のために予約されています。

cFileName

ファイル名を表すヌル終端文字列が格納されます。

cAlternateFileName

DOS形式(8.3形式)のファイル名を表すヌル終端文字列が格納されます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降

変数との対応 (ANSI 版の場合)

HSP 変数 メンバ
メンバ名 オフセット サイズ
finddata.0 dwFileAttributes 0 4
finddata.1 ftCreateTime dwLowDateTime 4 4
finddata.2 dwHighDateTime 8 4
finddata.3 ftLastAccessTime dwLowDateTime 12 4
finddata.4 dwHighDateTime 16 4
finddata.5 ftLastWriteTime dwLowDateTime 20 4
finddata.6 dwHighDateTime 24 4
finddata.7 nFileSizeHigh 28 4
finddata.8 nFileSizeLow 32 4
finddata.9 dwReserved0 36 4
finddata.10 dwReserved1 40 4
finddata.11 cFileName 44 260
finddata.75
finddata.76 cAlternateFileName 304 14 (16)
finddata.79