Набор флагов файла
Так же как и MS-DOS, операционная система Microsoft Windows NT присваивает файлам при их создании различные флаги (атрибуты). Вы можете определить атрибуты файла при помощи функции GetFileAttributes:
DWORD GetFileAttributes(LPCTSTR lpFileName);
В качестве единственного параметра этой функции необходимо передать полный или частичный путь к файлу. Функция вернет слово, значение которого является логической комбинацией следующих атрибутов:
Атрибут | Описание | ||
FILE_ATTRIBUTE_ARCHIVE | Файл был архивирован (выгружен) | ||
FILE_ATTRIBUTE_COMPRESSED | Файл, имеющий этот атрибут, динамически сжимается при записи и восстанавливается при чтении | ||
FILE_ATTRIBUTE_NORMAL | Остальные перечисленные в этом списка атрибуты не установлены | ||
FILE_ATTRIBUTE_HIDDEN | Скрытый файл | ||
FILE_ATTRIBUTE_READONLY | Файл можно только читать | ||
FILE_ATTRIBUTE_SYSTEM | Файл является частью операционной системы |
Для установки новых атрибутов вы можете воспользоваться функцией SetFileAttributes:
BOOL SetFileAttributes(
LPCTSTR lpFileName, // адрес строки пути к файлу
DWORD dwFileAttributes); // адрес слова с новыми
// атрибутами
Если вам нужно изменить только один из битов слова атрибутов, необходимо вначале получить старое слово атрибутов при помощи функции GetFileAttributes, а затем, изменив в нем только нужные биты, установить новое значение слова атрибутов функцией SetFileAttributes.