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. 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.
GetFileAttributes, GET_FILEEX_INFO_LEVELS, SetFileAttributes