4.8.3. Закрытие и удаление файла

Функция DOS3Eh: Закрыть файл Вход:    АН - 3Eh

ВХ = идентификатор Выход: CF = О, если не произошла ошибка

CF - 1 и АХ - 6, если неправильный идентификатор

Если файл был открыт для записи, все файловые буфера сбрасываются на диск, устанавливается время модификации файла и записывается его новая длина.

Функция DOS    Удаление файла

Вход:   АН = 41h

DS:DX = адрес с полным именем файла

Выход: CF = 0, если файл удален

CF = 1 и АН = 02h, если файл не найден; 03h, если путь не найден; 05h, если доступ запрещен

Удалить файл можно только после того, как он будет закрыт, иначе DOS про­должит выполнение записи в несуществующий файл, что может привести к раз­рушению файловой системы. Функция не позволяет использовать маски (символы * и ? в имени файла) для удаления сразу нескольких файлов, хотя это­го можно добиться, вызывая ее через недокументированную функцию 5DOOh. Но, начиная с DOS 7.0 (Windows 95), официальная функция удаления файла способ­на работать сразу с несколькими файлами.

Функция LFN    Удаление файлов с длинным именем

Вход:    АХ = 7141h

DS:DX = адрес ASCIZ-строки с длинным именем файла

SI   OOOOh: маски не разрешены и атрибуты в СХ игнорируются

Выход:

SI

CF CF 0001Ь: маски в имени файла и атрибуты в СХ разрешены: СЪ = атрибуты, которые файлы могут иметь СН = атрибуты, которые файлы должны иметь = 0, если файл или файлы удалены

= 1 и АХ = код ошибки, если произошла ошибка. Код 7100п означа­ет, что функция не поддерживается