Сборник по задачам и примерам Assembler



         

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



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

Аналогично группе функций MS DOS для работы с файловой системой файловая подсистема Win32 содержит ряд функций, с помощью которых можно определить характеристики конкретного файла.

Начальные значения атрибутов файла назначаются при создании файла. Впоследствии их можно изменить вызовом функции SetFi I eAttributes.

BOOL SetFileAttributestLPCTSTR ipFileName. DWORD dwFi1eAttributes);

Параметры этой функции означают следующее:

ш ipFileName — указатель на ASCIIZ-строку, содержащую имя файла;

Ш dwFil eAttri butes — двойное слово, определяющее, какие атрибуты файла могут быть установлены.

Планируя использование этой функции, необходимо иметь в виду, что не все возможные атрибуты файлов могут быть установлены с ее помощью. Перечислим те атрибуты, комбинацию которых можно задавать для изменения атрибутов файла, специфицированного параметром lpFileName: FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTENORMAL,

FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_

SYSTEM, FILEATTRIBUTETEMPORARY.

При удачном завершении функция SetFi 1 eAttri butes возвращает ненулевое значение в регистре ЕАХ. В случае неудачи функция возвращает в регистре ЕАХ значение NULL.

Для получения атрибутов файла используется функция GetFil eAttri butes.

DWORD GetFileAttributes(LPCTSTR lpFileName):

Функция имеет один параметр lpFileName, который является указателем на ASCIIZ-строку, содержащую имя файла.

При удачном завершении функция GetFil eAttri butes возвращает значение в регистре ЕАХ, которое является комбинацией атрибутов файла, специфицированного параметром lpFileName. Выделить эти атрибуты можно, используя логические команды ассемблера или команды обработки битов. В случае неудачи функция возвращает в регистре ЕАХ значение NULL.

В приложениях очень часто требуется определить размер файла. Для этого Win32 содержит отдельную функцию GetFileSize. DWORD GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh ): Параметры функции означают следующее:

  • hFile — дескриптор файла, размер которого требуется определить;



  • Содержание  Назад  Вперед