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


         

в которой будет возвращена информация


Вход: АН = 714fh; ВХ = дескриптор, полученный функцией 714eh; ES:DI — адрес структуры WIN32FINDDATA, в которой будет возвращена информация о файле; SI — формат, в котором возвращается дата и время (0 — дата и время возвращаются в 64-разрядном формате; 1 — дата и время возвращаются в формате MS DOS).

Выход: CF = 0 — успешное выполнение функции, в результате в регистрах АХ и СХ возвращается следующая информация: СХ = возможные значения: 0000 — все символы структуры WIN32FINDDATA, составляющие основное и альтернативное имя файла, успешно преобразованы из Unicode; 0001 — основное имя, возвращенное в структуре WIN32FINDDATA, содержит знаки подчеркивания на месте символов, не преобразованных из Unicode; 0002 — альтернативное имя, возвращенное в структуре WIN32FINDDATA, содержит знаки подчеркивания на месте символов, не преобразованных из Unicode; CF = 1 — АХ = код ошибки при неудачном выполнении функции. Функция 714eh в отличие от аналогичных функций «старой» MS DOS использует не область DTA, а некоторый блок в памяти. Этот блок важно своевременно освобождать, для этого и предназначена функция 71alh.

Вход: АН = 71Alh; ВХ = дескриптор, полученный функцией 714eh. Выход: CF = 0 — успешное выполнение функции; CF = 1 — АХ = код ошибки при неудачном выполнении функции.

Ниже приведена структура WI N32_FIND_DATA, в которую в процессе поиска записывается информация о файлах.

WIN32_FIND_DATA struc

DwFlleAttributes dd ?

FtCreationTime dd 2 dup(?)

FtLastAccessTime dd 2 dup(?)

FtLastWriteTime dd 2 dup(?)

NFileSizeHigh dd ? .размер файла в байтах (старшее слово)

NFiieSizeLow dd ? ;размер файла в байтах (младшее слово)

DwReservedO dd 0 ;резерв

OwReservedl dd 0 ;резерв

CFileName db MAX_PATH dup(?)

CAlternateFileName db 14 dup(?) WIN32_FIND_DATA ends

Поля этой структуры описаны в следующей таблице.

dwFileAttributes

Атрибуты найденного файла (см. описание аналогичного элемента структуры BY HANDLE FILE INFORMATION)

ftCreationTime

Время создания файла в одном из двух форматов: MS DOS или в 64-разрядном, в зависимости от параметров, указанных при вызове функций 714eh (найти первый файл) и 714fh (найти следующий файл)

ftLastAccessTime

Время последнего доступа к файлу в одном из двух форматов: MS DOS или в 64-разрядном, в зависимости от параметров, указанных при вызове функций 714eh и 714fh

fUastWrUeTime

MS DOS или в 64-разрядном, в зависимости от параметров, указанных при вызове функций 714eh и 714fh

CFileName

ASCIIZ-строка, содержащая имя файла. Размер строки должен быть не менее 256 символов

cAlternateFileName

ASCIIZ-строка, содержащая альтернативное имя файла в стандартном формате 8.3. Если элемент cFileName содержит имя в формате 8.3 или файловая система не поддерживает альтернативные имена в формате 8.3, то элемент cAlternateFileName равен нулю

<

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