SetFileAttributes
The SetFileAttributes
function sets a file s attributes.
BOOL SetFileAttributes(
LPCTSTR lpFileName, |
// address of
filename |
DWORD dwFileAttributes |
// address of
attributes to set |
); |
|
Parameters
lpFileName
Points to a
string that specifies the name of the file whose attributes are to be set.
Windows
95: This string must not exceed
MAX_PATH characters.
Windows
NT: There is a default string size
limit for paths of MAX_PATH characters. This limit is related to how the SetFileAttributes
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 SetFileAttributes
and prepending \\?\ to the path. The \\?\ tells the function to turn off path parsing; it lets
paths longer than MAX_PATH be used with SetFileAttributesW. 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 .
dwFileAttributes
Specifies the
file attributes to set for the file. This parameter can be a combination of the
following values. However, all other values override FILE_ATTRIBUTE_NORMAL.
Value |
Meaning |
FILE_ATTRIBUTE_ARCHIVE |
The file is
an archive file. Applications use this value to mark files for backup or
removal. |
FILE_ATTRIBUTE_HIDDEN |
The file is
hidden. It is not included in an ordinary directory listing. |
FILE_ATTRIBUTE_NORMAL |
The file
has no other attributes set. This value 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 is
read-only. Applications can read the file but cannot write to it or delete
it. |
FILE_ATTRIBUTE_SYSTEM |
The file is
part of the operating system or is used exclusively by it. |
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. |
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
You cannot
use the SetFileAttribute function to set a file s compression state. Setting
FILE_ATTRIBUTE_COMPRESSED in the dwFileAttributes parameter does
nothing. Use the DeviceIoControl function and the FSCTL_SET_COMPRESSION
operation to set a file s compression state.
See Also