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