Prev Next

WIN32_FIND_DATA info  Overview  Group

The WIN32_FIND_DATA structure describes a file found by the FindFirstFile, FindFirstFileEx, or FindNextFile function.

typedef struct _WIN32_FIND_DATA { // wfd 

    DWORD dwFileAttributes; 

    FILETIME ftCreationTime; 

    FILETIME ftLastAccessTime; 

    FILETIME ftLastWriteTime; 

    DWORD    nFileSizeHigh; 

    DWORD    nFileSizeLow; 

    DWORD    dwReserved0; 

    DWORD    dwReserved1; 

    TCHAR    cFileName[ MAX_PATH ]; 

    TCHAR    cAlternateFileName[ 14 ]; 

} WIN32_FIND_DATA; 

 

Members

dwFileAttributes
Specifies the file attributes of the file found. This member can be one or more of the following values:

Value

Meaning

FILE_ATTRIBUTE_ARCHIVE

The file is an archive file. Applications use this value to mark files for backup or removal.

FILE_ATTRIBUTE_COMPRESSED

The file or directory is compressed. For a file, this means that all of the data in the file is compressed. For a directory, this means that compression is the default for newly created files and subdirectories.

FILE_ATTRIBUTE_DIRECTORY

The file is a directory.

FILE_ATTRIBUTE_HIDDEN

The file is hidden. It is not included in an ordinary directory listing.

FILE_ATTRIBUTE_NORMAL

The file has no other attributes set. This value is valid only if used alone.

FILE_ATTRIBUTE_OFFLINE

The data of the file is not immediately available. Indicates that the file data has been physically moved to offline storage.

FILE_ATTRIBUTE_READONLY

The file is read-only. Applications can read the file but cannot write to it or delete it.

FILE_ATTRIBUTE_SYSTEM

The file is part of the operating system or is used exclusively by it.

FILE_ATTRIBUTE_TEMPORARY

The file is being used for temporary storage. Applications should write to the file only if absolutely necessary. Most of the file’s data remains in memory without being flushed to the media because the file will soon be deleted.

ftCreationTime
Specifies a FILETIME structure containing the time the file was created. FindFirstFile and FindNextFile report file times in Coordinated Universal Time (UTC) format. These functions set the FILETIME members to zero if the file system containing the file does not support this time member. You can use the FileTimeToLocalFileTime function to convert from UTC to local time, and then use the FileTimeToSystemTime function to convert the local time to a SYSTEMTIME structure containing individual members for the month, day, year, weekday, hour, minute, second, and millisecond.
ftLastAccessTime
Specifies a FILETIME structure containing the time that the file was last accessed. The time is in UTC format; the FILETIME members are zero if the file system does not support this time member.
ftLastWriteTime
Specifies a FILETIME structure containing the time that the file was last written to. The time is in UTC format; the FILETIME members are zero if the file system does not support this time member.
nFileSizeHigh
Specifies the high-order DWORD value of the file size, in bytes. This value is zero unless the file size is greater than MAXDWORD. The size of the file is equal to (nFileSizeHigh * MAXDWORD) + nFileSizeLow.
nFileSizeLow
Specifies the low-order DWORD value of the file size, in bytes.
dwReserved0
Reserved for future use.
dwReserved1
Reserved for future use.
cFileName
A null-terminated string that is the name of the file.
cAlternateFileName
A null-terminated string that is an alternative name for the file. This name is in the classic 8.3 (filename.ext) filename format.

Remarks

If a file has a long filename, the complete name appears in the cFileName field, and the 8.3 format truncated version of the name appears in the cAlternateFileName field. Otherwise, cAlternateFileName is empty. As an alternative, you can use the GetShortPathName function to find the 8.3 format version of a filename.

See Also

FINDEX_INFO_LEVELS FindFirstFile, FindFirstFileEx, FindNextFile, FILETIME, FileTimeToLocalFileTime, FileTimeToSystemTime, GetShortPathName