GetFileAttributes

This function returns attributes for a specified file or directory. A remote application interface (RAPI) version of this function exists, and it is named CeGetFileAttributes.

At a Glance

Header file: Winbase.h
Windows CE versions: 1.0 and later

Syntax

DWORD GetFileAttributes(LPCTSTR lpFileName);

Parameters

lpFileName

[in] Pointer to a null-terminated string that specifies the name of a file or directory.

There is a default string size limit for paths of MAX_PATH characters. This limit is related to how the GetFileAttributes function parses paths.

Return Values

The attributes of the specified file or directory, returned in a DWORD, indicates success. 0xFFFFFFFF indicates failure. To get extended error information, call GetLastError.

The attributes returned upon success can be one or more of the following values:

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_INROM

This file is an operating system file stored in ROM. These files are read-only; they cannot be modified.

FILE_ATTRIBUTE_NORMAL

The file or directory has no other attributes set. This attribute is valid only if used alone.

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_ROMMODULE

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, instead the LoadLibrary and CreateProcess functions must be used.

FILE_ATTRIBUTE_ROMSTATICREF

The file is a DLL module that has a static reference from at least one other file that is in the modules section of the image. A file having this attribute can not replace the functionality of the DLL with a RAM copy of the same DLL. A file having this attribute must also have the FILE_ATTRIBUTE_INROM and FILE_ATTRIBUTE_ROMMODULE attributes.

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.

FILE_ATTRIBUTE_ROMSTATICREF

The DLL module is statically linked to other modules in ROM. The functionality of this DLL cannot be replaced by a module with the same name that is in a different location.

See Also

FindFirstFile, FindNextFile, SetFileAttributes