WIN32_FIND_DATA

A version of this page is also available for

Windows Embedded CE 6.0 R3

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

Other Resources

FILETIME