Константы атрибутов файлов
Атрибуты файла — это значения метаданных, хранящиеся в файловой системе на диске и используемые системой и доступны разработчикам через различные API-интерфейсы файлового ввода-вывода. Список связанных API и разделов см. в разделе См. также .
Пример
FILE_BASIC_INFO basicInfo;
BOOL result;
result = GetFileInformationByHandleEx( hFile,
FileBasicInfo,
&basicInfo,
sizeof(basicInfo));
\\...
printf(" File Attributes: ");
PrintFileAttributes(basicInfo.FileAttributes);
\\...
VOID
PrintFileAttributes(
ULONG FileAttributes
)
{
if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
printf("Archive ");
}
if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("Directory ");
}
if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("Read-Only ");
}
}
Пример взят из классического примера Windows на GitHub.
Констант/значение | Описание |
---|---|
|
Файл, доступный только для чтения. Приложения могут считывать файл, но не могут записывать в него или удалять его. Этот атрибут не учитывается в каталогах. Дополнительные сведения см. в статье Невозможно просматривать или изменять атрибуты папок только для чтения или Системные атрибуты папок в Windows Server 2003, Windows XP, Windows Vista или Windows 7. |
|
Файл или каталог скрыт. Он не включен в обычный список каталогов. |
|
Файл или каталог, часть или который используется исключительно операционной системой. |
|
Дескриптор, идентифицирующий каталог. |
|
Файл или каталог, который является архивным файлом или каталогом. Приложения обычно используют этот атрибут для пометки файлов для резервного копирования или удаления. |
|
Это значение зарезервировано для использования системой. |
|
Файл, для которых не заданы другие атрибуты. Этот атрибут действителен только при использовании отдельно. |
|
Файл, используемый для временного хранения. Файловые системы избегают записи данных обратно в массовое хранилище, если доступно достаточно памяти кэша, так как обычно приложение удаляет временный файл после закрытия дескриптора. В этом сценарии система может полностью избежать записи данных. В противном случае данные записываются после закрытия дескриптора. |
|
Файл, который является разреженным файлом. |
|
Файл или каталог, с которым связана точка повторного измерения, или файл, представляющий собой символьную ссылку. |
|
Сжатый файл или каталог. Для файла все данные в файле сжимаются. Для каталога сжатие используется по умолчанию для вновь созданных файлов и подкаталогов. |
|
Данные файла доступны не сразу. Этот атрибут указывает, что данные файла физически перемещаются в автономное хранилище. Этот атрибут используется удаленным хранилищем, которое является программным обеспечением для управления иерархическим хранилищем. Приложения не должны произвольно изменять этот атрибут. |
|
Файл или каталог не должны индексироваться службой индексирования содержимого. |
|
Зашифрованный файл или каталог. Для файла шифруются все потоки данных в файле. Для каталога шифрование используется по умолчанию для вновь созданных файлов и подкаталогов. |
|
Для каталога или потока данных пользователя настроена целостность (поддерживается только на томах ReFS). Он не включен в обычный список каталогов. Параметр целостности сохраняется вместе с файлом, если он переименован. Если файл копируется, то для конечного файла будет задана целостность, если для исходного файла или целевого каталога задана целостность. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается до Windows Server 2012. |
|
Это значение зарезервировано для использования системой. |
|
Поток данных пользователя, который не будет считываться сканером целостности данных в фоновом режиме (AKA scrubber). Если задано в каталоге, он обеспечивает только наследование. Этот флаг поддерживается только на томах дисковые пространства и ReFS. Он не включен в обычный список каталогов. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается до тех пор, пока не Windows 8 и Windows Server 2012. |
|
Файл или каталог с расширенными атрибутами. ВАЖНО: Эта константа предназначена только для внутреннего использования. |
|
Этот атрибут указывает на намерение пользователя сохранить файл или каталог полностью локально, даже если к файлу или каталогу не осуществляется активный доступ. Этот атрибут предназначен для использования с программным обеспечением для управления иерархическим хранилищем. |
|
Этот атрибут указывает, что файл или каталог не должны полностью присутствовать локально, за исключением случаев активного доступа. Этот атрибут предназначен для использования с программным обеспечением для управления иерархическим хранилищем. |
|
Этот атрибут отображается только в классах перечисления каталогов (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION и т. д.). Если этот атрибут задан, это означает, что файл или каталог не имеют физического представления в локальной системе; элемент является виртуальным. Открытие товара будет дороже, чем обычно, например, это приведет к тому, что по крайней мере часть из него будет получена из удаленного хранилища. |
|
Если этот атрибут задан, это означает, что файл или каталог не полностью присутствуют локально. Для файла это означает, что не все его данные находится в локальном хранилище (например, они могут быть разреженными, а некоторые данные все еще в удаленном хранилище). Для каталога это означает, что часть содержимого каталога виртуализируется из другого расположения. Чтение файла или перечисление каталога будет более дорогостоящим, чем обычно, например, это приведет к получению по крайней мере части содержимого файла или каталога из удаленного хранилища. Этот бит могут задать только вызывающие в режиме ядра. Мини-фильтры файловой системы ниже диапазона высоты 180000 –189999 (FSFilter HSM Load Order Group) не должны выдавать целевые кэшированные операции чтения или записи в файлы с этим атрибутом. Это может привести к загрязнению кэша и потенциальному повреждению файлов. Дополнительные сведения см. в разделе Обработка заполнителей. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Заголовок | WinNT.h (включая Windows.h) |