Функция SetFileAttributes


Функция SetFileAttributes устанавливает атрибуты файла.

Синтаксис

BOOL SetFileAttributes(
  LPCTSTR lpFileName,      // имя файла
  DWORD dwFileAttributes   // атрибуты
);

Параметры

lpFileName

[in] Указатель на строку символов, определяющую имя файла, атрибуты которого должны быть установлены.

Windows NT/2000/XP: В версии ANSI этой функции, имя ограничивается  значением флажка MAX_PATH. Чтобы выйти за пределы этого ограничения, до длины 32 767 символов, вызовите Unicode версию этой функции и присоедините спереди пути "\\?\". Подробную информацию см. в статье Именование файлов.

Windows 95/98/Me: Эта символьная строка не должна выходить за пределы значения флажка  MAX_PATH.

dwFileAttributes

[in] Устанавливаемые атрибуты файла. Этот параметр может состоять из одного или нескольких нижеследующих значений. Однако, все другие значения отменяют атрибут FILE_ATTRIBUTE_NORMAL.

Атрибут Предназначение
FILE_ATTRIBUTE_ARCHIVE Этот файл - архивный файл. Приложения используют этот атрибут, чтобы отметить файлы для резервирования или перемещения.
FILE_ATTRIBUTE_HIDDEN Файл скрытый. Он не включается в обычный список каталога.
FILE_ATTRIBUTE_NORMAL У файла нет другого набора атрибутов. Этот атрибут допустим только в том случае, если используется в одиночку.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Файл не индексируется содержащей индексацию службой.
FILE_ATTRIBUTE_OFFLINE Данные файла  непосредственно не доступны. Этот атрибут указывает, что данные файла были физически перемещены на автономное запоминающее устройство. Этот атрибут используется Удаленным хранилищем, программным обеспечением иерархического управления памятью. Приложения не должны произвольно изменять этот атрибут.
FILE_ATTRIBUTE_READONLY Файл только для чтения. Приложения могут читать файл, но не могут записать в него или удалить его.
FILE_ATTRIBUTE_SYSTEM Файл - это часть операционной системы или используется исключительно ею.
FILE_ATTRIBUTE_TEMPORARY Файл используется для временного сохранения. Файловые системы избегают писать данные обратно на запоминающее устройство большой емкости, если доступна достаточная кэш-память, потому что приложение часто  удаляет временный файл вскоре после того, как дескриптор закрывается. В этом случае, система может полностью отменить запись данных. В противном случае, данные должны быть записаны после того, как дескриптор закроется. 
 

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - не нуль.

Если функция завершается ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные данные об ошибке, вызовите GetLastError.

Замечания

Нижеследующая таблица описывает, как установить атрибуты, которые не могут быть установлены при помощи использования функции SetFileAttributes.

Атрибут Как установить его
FILE_ATTRIBUTE_COMPRESSED Чтобы установить сжатое состояние файла, используйте функцию DeviceIoControl с операцией FSCTL_SET_COMPRESSION.
FILE_ATTRIBUTE_DEVICE Зарезервировано; не используется.
FILE_ATTRIBUTE_DIRECTORY Файлы не могут быть преобразованы в каталоги. Чтобы создать каталог, используйте функцию CreateDirectory или CreateDirectoryEx.
FILE_ATTRIBUTE_ENCRYPTED Чтобы создать зашифрованный файл, используйте функцию CreateFile с атрибутом FILE_ATTRIBUTE_ENCRYPTED. Чтобы конвертировать существующий файл в зашифрованный, используйте функцию EncryptFile.
FILE_ATTRIBUTE_REPARSE_POINT Чтобы связать точку монтирования с файлом или каталогом, используйте функцию DeviceIoControl с операцией FSCTL_SET_REPARSE_POINT.
FILE_ATTRIBUTE_SPARSE_FILE Чтобы установить атрибут разреженности файла, используйте функцию DeviceIoControl с операцией FSCTL_SET_SPARSE.
 

Код примера

Пример смотри в статье Извлечение и изменение атрибутов файла.

Смотри также 

Обзор Управление файламиФункции, используемые в управлении файлами, GetFileAttributes

Размещение и совместимость  SetFileAttributes

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да

е

Windows Me

Да

н

Windows 98

Да

т

Windows 95

Да

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    

Используемая библиотека

Kernel32.lib

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Реализуется как версии Unicode и  ANSI для Windows NT/2000/XP. Обратите внимание, что поддержка Unicode в Windows 95/98/Me требует программы Microsoft Layer for Unicode.

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz