The GetFileAttributes function returns attributes for a specified file or directory.
DWORD GetFileAttributes(
LPCTSTR lpFileName // pointer to the name of a file or directory
);
\\?\
" to the path. The "\\?\
" tells the function to turn off path parsing; it lets paths longer than MAX_PATH be used with GetFileAttributesW. However, each component in the path cannot be more than MAX_PATH characters long. This also works with UNC names. The "\\?\
" is ignored as part of the path. For example, "\\?\C:\myworld\private
" is seen as "C:\myworld\private
", and "\\?\UNC\bill_g_1\hotstuff\coolapps
" is seen as "\\bill_g_1\hotstuff\coolapps
".\\?\
" prefix.
If the function succeeds, the return value contains the attributes of the specified file or directory.
If the function fails, the return value is 0xFFFFFFFF. To get extended error information, call GetLastError.
The attributes can be one or more of the following values:
Attribute | Meaning |
---|---|
FILE_ATTRIBUTE_ARCHIVE | The file or directory is an archive file or directory. Applications use this attribute 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 handle identifies a directory. |
FILE_ATTRIBUTE_ENCRYPTED | 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 | The file or directory is hidden. It is not included in an ordinary directory listing. |
FILE_ATTRIBUTE_NORMAL | The file or directory has no other attributes set. This attribute 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 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 | The file has an associated reparse point. |
FILE_ATTRIBUTE_SPARSE_FILE | The file is a sparse file. |
FILE_ATTRIBUTE_SYSTEM | The file or directory is part of, or is used exclusively by, the operating system. |
FILE_ATTRIBUTE_TEMPORARY | 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 the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed. |
Windows CE: Windows CE supports the following additional return values:
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winbase.h.
Import Library: Use kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
File I/O Overview, File Functions, DeviceIoControl, FindFirstFile, FindNextFile, SetFileAttributes