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.

DWORD GetFileAttributes(
LPCTSTR lpFileName ); 


  • 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:

    The file or directory is an archive file or directory. Applications use this attribute to mark files for backup or removal.
    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.
    The handle identifies a directory.
    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.
    The file or directory is hidden. It is not included in an ordinary directory listing.
    This file is an operating system file stored in ROM. These files are read-only; they cannot be modified.
    The file or directory has no other attributes set. This attribute is valid only if used alone.
    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.
    The file has an associated reparse point.
    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.
    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.
    The file is a sparse file.
    The file or directory is part of, or is used exclusively by, the operating system.
    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.
    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.


Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Winbase.h   Coredll.lib

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

CreateFile, CreateProcess, CeGetFileAttributes, FindFirstFile, FindNextFile, GetLastError, LoadLibrary, SetFileAttributes

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.