Функция возвращает 0 при успешном завершении или код ошибки:
Код ошибки | Значение |
0xFE | У программы нет прав для изменения атрибута |
0xFF | Файл не найден |
Для того чтобы узнать байт расширенного атрибута файла, используйте функцию GetExtendedFileAttributes():
int GetExtendedFileAttributes(char *FilePath, BYTE *ExtendedFileattributes);
Параметр FilePath задает путь к файлу, параметр ExtendedFileattributes определяет адрес байта памяти, в который будет записано значение байта расширенных атрибутов файла.
Функция возвращает 0 при успешном завершении или код ошибки:
Код ошибки | Значение |
0xFE | У программы нет прав для просмотра каталога |
0xFF | Файл не найден |
Для получения и изменения расширенных атрибутов файла и можно использовать функцию B6h прерывания INT 21h:
На входе: | AH | = | B6h; |
AL | = | Выполняемая функция: 00h - получить байт расширенного атрибута; 01h - изменить байт расширенного атрибута; |
|
DS:DX | = | Адрес буфера, содержащего путь к файлу; | |
CL | = | Новое значение расширенного атрибута. | |
На выходе: | AL | = | 0, если операция завершилась без ошибок, или код ошибки: FCh - нет прав для выполнения функции; FFh - файл не найден; |
CL | = | Если при вызове функции регистр AL содержал значение 00h, в регистр CL будет записано значение расширенного атрибута указанного файла. |