WIN32_FIND_DATA
A version of this page is also available for
4/8/2010
This structure describes a file found by the FindFirstFile, the FindFirstFileEx or the FindNextFile function.
Syntax
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwOID;
TCHAR cFileName[MAX_PATH];
} WIN32_FIND_DATA;
Members
dwFileAttributes
File attributes of the file found. The following table shows possible values. This member can be set to any combination of these values.Value Description FILE_ATTRIBUTE_ARCHIVE
Indicates that the file or directory is an archive file or directory. Applications use this attribute to mark files for backup or removal.
FILE_ATTRIBUTE_COMPRESSED
Indicates that the file or directory is compressed. For a file, this means that all 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
Indicates that the handle identifies a directory.
FILE_ATTRIBUTE_ENCRYPTED
Indicates that the file or directory is encrypted. For a file, this means that all data streams are encrypted. For a directory, this means that encryption is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_HIDDEN
Indicates that the file or directory is hidden. It is not included in an ordinary directory listing.
FILE_ATTRIBUTE_INROM
Indicates that this file is an operating system file stored in ROM. These files are read-only. They cannot be modified.
FILE_ATTRIBUTE_NORMAL
Indicates that the file or directory has no other attributes set. This attribute is valid only if used alone.
FILE_ATTRIBUTE_READONLY
Indicates that the file or directory is read-only. Applications can read the file but cannot write to it or delete it. In the case of a directory, applications cannot delete it.
FILE_ATTRIBUTE_REPARSE_POINT
Indicates that the file has an associated reparse point.
FILE_ATTRIBUTE_ROMMODULE
Indicates that this file is an operating system file stored in ROM and executed directly from ROM, rather than being first copied to RAM. The CreateFile function cannot be used to access this file. Use the LoadLibrary and the CreateProcess functions instead.
FILE_ATTRIBUTE_ROMSTATICREF
Indicates that the file is a DLL module that has an implicit reference from at least one other file that is in the modules section of the image. A file with this attribute cannot replace the functionality of the DLL with a RAM copy of the same DLL. A file with this attribute must also have the FILE_ATTRIBUTE_INROM and the FILE_ATTRIBUTE_ROMMODULE attributes.
FILE_ATTRIBUTE_SPARSE_FILE
Indicates that the file is a sparse file.
FILE_ATTRIBUTE_SYSTEM
Indicates that the file or directory is part of the OS or is used exclusively by the OS.
FILE_ATTRIBUTE_TEMPORARY
Indicates that the file is being used for temporary storage. File systems attempt to keep all of the data in memory for quicker access, rather than flushing it back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed.
- ftCreationTime
FILETIME structure containing the time at which the file was created. The FindFirstFile and the FindNextFile functions 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
FILETIME structure containing the time at which the file was last accessed. The time is in UTC format; the FILETIME members are set to zero if the file system does not support this member.
- ftLastWriteTime
FILETIME structure containing the time that the file was last written to. The time is in UTC format; the FILETIME members are set to zero if the file system does not support this member.
- nFileSizeHigh
High-order DWORD value of the file size, in bytes. This member is set to zero unless the file size is greater than MAXDWORD. The size of the file is equal to(nFileSizeHigh * MAXDWORD+1) + nFileSizeLow
.
- nFileSizeLow
Low-order DWORD value of the file size, in bytes.
- dwOID
Object identifier (OID) of the file.
- cFileName
Null-terminated string that is the name of the file.
Remarks
Not all file systems can record creation and last access time, and not all file systems record them in the same manner. For example, the object store (RAM) file system maintains only the last modified time.
If a file has a long name, the complete name appears in the cFileName member.
Requirements
Header | winbase.h |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
File I/O Structures
FindFirstFile
FindNextFile
FindFirstFileEx