Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

DOS Fn 5eH: Разные сетевые функции




Выход

Вход

DOS Fn 5cH: блокировать/разблокировать доступ к файлу

Выход

Вход

DOS Fn 5bH: создать новый файл

Выход

Вход

  • AH = 5aH DOS 3.0+
  • DS:DX = адрес строки ASCIIZ с диском и путем (заканчивается)
  • CX = атрибут файла
  • AX = код ошибки если CF установлен и описатель файла (если нет ошибки)
  • DS:DX = (не изменяется) становится полным ASCIIZ-именем нового файла

Описание:

открывает (создает) файл с уникальным именем в оглавлении, указанном строкой ASCIIZ, на которую указывает DS:DX. COMMAND.COM использует эту функцию, когда создает временные "канальные" файлы, используемые при переназначении ввода-вывода. Описание пути должно быть готово к присоединению в его конец имени файла. Вы должны обеспечить минимум 12 байт в конце строки. Сама строка должна быть заполнена в одной из форм:

  • "d:путь",0 (указаны диск и путь)
  • ИЛИ "d:",0 (умалчиваемое оглавление диска)
  • ИЛИ "d:",0 (корневое оглавление диска)
  • ИЛИ "",0 (умалчиваемые диск и оглавление)

После возврата строка DS:DX будет дополнена именем файла.

Замечания:

DOS создает имя файла из шестнадцатеричных цифр, получаемых из текущих даты и времени. если имя файла уже существует, DOS продолжает создавать новые имена, пока не получит уникальное имя. создаваемые таким способом файлы - по существу НЕ ВРЕМЕННЫЕ, и их следует удалять посредством функции DOS 41H, когда они не нужны.

Версии:

доступна, начиная с DOS 3.0

  • AH = 5bH DOS 3.0+
  • DS:DX = адрес строки ASCIIZ с именем файла
  • CX = атрибут файла
  • AX = код ошибки если CF установлен и описатель файла если ошибок нет

Описание:

DS:DX указывает на строку ASCIIZ в форме: "d:путьимяфайла",0. Если диск и/или путь опущены, они принимаются по умолчанию. Этот вызов идентичен функции DOS 3cH CREATE, с тем исключением, что он вернет ошибку, если файл с заданным именем уже существует. Файл открывается для чтения/записи в совместимом режиме доступа

  • AH = 5cH DOS 3.0+
  • AL = подфункция: 0 = заблокировать область файла
  • = 1 = разблокировать ранее захваченную область
  • BX = описатель файла (handle)
  • CX:DX = смещение ((CX * 65536) + DX) от начала файла
  • SI:DI = длина блокируемой области ((SI * 65536) + DI) байт
  • AX = код ошибки если CF установлен

Описание:

блокирует или освобождает доступ к участку файла, идентифицируемого описателем в BX. область файла, начинающаяся по логическому смещению CX:DX и имеющая длину SI:DI, блокируется (захватывается) или разблокируется (освобождается). смещение и длина обязательны. Разделение файлов ДОЛЖНО быть активизировано (командой SHARE), иначе функция вернет код ошибки "неверный номер функции." Блокировка действует на операции чтения, записи и открытия со стороны порожденного или конкурирующего процесса. при попытке такого доступа (и режиме доступа, определенном при OPEN как "режим разделения", который запрещает такой доступ), DOS отвергает операцию через вызов INT 24H (обработчик критических ошибок) после трех попыток. DOS при этом выдает сообщение "Abort, Retry, Ignore". Рекомендуемое действие - НЕ пытаться читать файл и ожидать кода ошибки. Вместо этого попытайтесь заблокировать область и действуйте в соответствии с кодом возврата. это позволяет избежать довольно неустойчивого состояния DOS, связанного с выполнением INT 24H. Блокировка за концом файла не является ошибкой. Вы можете захватить весь файл, задав CX=0, DX=0, SI=0ffffH, DI=0ffffH и AL=0. при освобождении, смещение и длина участка должны точно совпадать со смещением и длиной захваченного участка.

Замечания:

Дублирование описателя через 45H или 46H дублирует и блокировки. Даже если во время OPEN выбран режим доступа Inherit, механизм блокировки не даст никаких привилегий доступа порожденным процессам, созданным функцией 4bH EXEC (они трактуются как отдельные). Важно, чтобы все блокировки файла были сняты до завершения программы. если вы используете блокировку, особо отслеживайте вызовы INT 23H (выход Ctrl-Break) и INT 24H (выход по критической ошибке), чтобы снять блокировки до действительного завершения программы. Рекомендуется освобождать блокировки как можно скорее. всегда блокируйте, обрабатывайте файл и освобождайте блокировку одной операцией.

Версии:

доступна, начиная с DOS 3.0




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1115; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.