Функция 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. |
|
Замечания по платформе |
Не имеется |