Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прогр.docx
Скачиваний:
23
Добавлен:
21.12.2018
Размер:
2.58 Mб
Скачать

1) Создать каталог

Функция DOS 39h — Создать каталог

Ввод:

АН = 39h

DS:DX = адрес ASCIZ-строки с путем, в котором все каталоги, кроме последнего, существуют.

Вывод:

CF = 0, если каталог создан

CF = 1 и АХ = 3, если путь не найден, 5 — если доступ запрещен

2) Удалить каталог

Функция DOS 3Ah — Удалить каталог

Ввод:

АН = 3Ah

DS:DX = адрес ASCIZ-строки с путем, последний каталог в котором будет удален (только если он пустой, не является текущим)

Вывод:

CF = 0, если каталог удален

CF = 1 и АХ = 3, если путь не найден, 5 — если доступ запрещен, 10h — если удаляемый каталог — текущий

5) Определить текущий каталог

Функция DOS 47h — Определить текущий каталог

Ввод:

АН = 47h

DL = номер диска (00h — текущий, 01h — А: и т.д.)

DS:SI = 64-байтный буфер для текущего пути (ASCIZ-строка без имени диска, первого и последнего символа «\»)

Вывод:

CF = 0 и АХ = 0100h, если операция выполнена

CF = 1 и АХ = 0Fh, если указан несуществующий диск

Перечень функций прерывания 21h, работающих с файлами, которые имеют длинные имена и соответствующие функции api Win32.

+

+

+

+

+

+

+

Перечислим функции api Win32, имеющие отношение к работе с файловой системой.

+

+

+

+

+

+

+

+

+

+

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

1) В Win32 получить время создания, время последнего доступа и время последней модификации файла можно с помощью функции GetFileTime.

BOOL GetFileTime(HANDLE hFile,

LPFILETIME lpCreationTime,

LPFILETIME lpLastAccessTime,

LPFILETIME lpLastWriteTime);

Перед вызовом данной функции, необходимо открыть файл, о значениях времени которого необходимо получить информацию. Функции GetFileTime передается дескриптор этого файла и указатели на три экземпляра структуры FILETIME, в которые будут записаны время создания (lpCreationTime), время последнего доступа (lpLastAccessTime) и время последней записи (lpLastWriteTime).

2) Установить время создания, последнего доступа или модификации файлов можно с помощью функции SetFileTime.

BOOL SetFileTime(HANDLE hFile,

const FILETIME *lpCreationTime,

const FILETIME *lpLastAccessTime,

const FILETIME *lpLastWriteTime ):

В качестве входных параметров функция SetFileTime принимает указатели на три экземпляра структуры FILETIME и дескриптор файла. Экземпляры структур уже заполнены необходимыми значениями времени. В случае успешного завершения функция возвращает ненулевое значение в регистре ЕАХ.