SetFileAttributes函数设置文件的属性。
BOOL SetFileAttributes(
LPCTSTR 【lpFileName】, | //文件名的地址 |
DWORD 【dwFileAttributes】 | //要设置的属性的地址 |
); |
参数
【lpFileName】
指向一个字符串,指定要设置其属性的文件的名称。
Windows 95:此字符串不得超过MAX_PATH个字符。
Windows NT: MAX_PATH字符的路径的默认字符串大小限制。此限制与SetFileAttributes功能如何解析路径有关。通过调用宽(W)版本SetFileAttributes并在路径前面加上“\\\\?”,应用程序可以超越此限制并发送长度超过MAX_PATH字符的路径。“\\\\?\\”告诉功能关闭路径解析;它允许使用比MAX_PATH长的路径与SetFileAttributesW一起使用。这也适用于UNC名称。“\\\\?\\”作为路径的一部分被忽略。例如,“\\\\?\\ C:\\ myworld \\ private”被视为“C:\\ myworld \\ private”,“\\\\?\\ UNC \\ bill_g_1 \\ hotstuff \\ coolapps”被视为“\\\\ bill_g_1 \\ hotstuff \\ coolapps”。
【dwFileAttributes】
指定要为文件设置的文件属性。此参数可以是以下值的组合。但是,所有其他值都覆盖FILE_ATTRIBUTE_NORMAL。
值 | 含义 |
FILE_ATTRIBUTE_ARCHIVE | 该文件是一个归档文件。应用程序使用此值来标记文件进行备份或删除。 |
FILE_ATTRIBUTE_HIDDEN | 该文件被隐藏。它不包括在普通目录列表中。 |
FILE_ATTRIBUTE_NORMAL | 该文件没有设置其他属性。此值仅在单独使用时有效。 |
FILE_ATTRIBUTE_OFFLINE | 该文件的数据不能立即可用。表示文件数据已被物理移动到离线存储。 |
FILE_ATTRIBUTE_READONLY | 该文件是只读的。应用程序可以读取文件,但无法写入或删除它。 |
FILE_ATTRIBUTE_SYSTEM | 该文件是操作系统的一部分,或由它专门使用。 |
FILE_ATTRIBUTE_TEMPORARY | 该文件正在用于临时存储。文件系统尝试将所有数据保存在内存中,以便更快地访问数据,而不是将数据刷新回大容量存储。一旦临时文件不再需要,应由应用程序删除。 |
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
您不能使用SetFileAttribute函数来设置文件的压缩状态。在【dwFileAttributes】参数中设置FILE_ATTRIBUTE_COMPRESSED什么都不做。使用DeviceIoControl函数和FSCTL_SET_COMPRESSION操作设置文件的压缩状态。
也可以看看