The GetFileAttributesEx function obtains attribute information about a specified file or directory.
This function is similar to the GetFileAttributes function. GetFileAttributes returns a set of FAT-style attribute information. GetFileAttributesEx is designed to obtain other sets of file or directory attribute information. Currently, GetFileAttributeEx obtains a set of standard attributes that is a superset of the FAT-style attribute information.
BOOL GetFileAttributesEx(
LPCTSTR lpFileName, // pointer to string that specifies a
// file or directory
GET_FILEEX_INFO_LEVELS fInfoLevelId,
// value that specifies the type of
// attribute information to obtain
LPVOID lpFileInformation // pointer to buffer to receive
// attribute information
);
By default, this string is limited to MAX_PATH characters. The limit is related to how the GetFileAttributesEx function parses paths. An application can transcend this limit and send in paths longer than MAX_PATH characters by calling the wide (W) version of GetFileAttributesEx and prepending "\\?\
" to the path. However, each component in the path cannot be more than MAX_PATH characters long. The "\\?\
" tells the function to turn off path parsing. This technique 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\peanuts\hotstuff\coolapps
" is seen as "\\peanuts\hotstuff\coolapps
".
If the function succeeds, the return value is a nonzero value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Windows NT: Requires version 4.0 or later.
Windows: Requires Windows 98 or later.
Windows CE: Unsupported.
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, GetFileAttributes, GET_FILEEX_INFO_LEVELS, SetFileAttributes