Операционная система MS DOS

# 00H Получить информацию об устройстве


Вызов:



Регистр
AH 44h
AL 00h
BX Индекс устройства (handle). Значение, которое операционная система возвращает при открытии файла или устройства и которое она затем использует для доступа к открытому файлу или устройству.

Возврат без ошибки:

Регистр
CF 0
DX Информация об устройстве

Возврат с ошибкой:

Регистр
CF 1
AX 01h - запрошена несуществующая функция;

06h - BX содержит несуществующий или неоткрытый handle.

Функция возвращает в регистре DX информацию об устройстве, которая имеет следующий формат (для устройства):

Бит Значение
0 Это устройство является стандартным устройством ввода.
1 Стандартное устройство вывода.
2 NUL-устройство.
3 Часы.
4 Специальное устройство.
5 1 - двоичный режим работы;

0 - режим ASCII.

6 0 - при чтении достигнут конец файла.
7 1 - это слово информации относится к устройству (данный handle относится к устройству);

0 - слово информации относится к файлу.

8-10 Зарезервировано.
11 1 - Устройство поддерживает команды открытия/закрытия.
12 Сетевое устройство (только для DOS версии 3.0 и более поздних версий).
13 Устройство поддерживает вывод до состояния занятости.
14 Устройство может обрабатывать управляющие строки IOCTL, посылаемые подфункциями 2, 3, 4, 5 функции 44h. Этот бит может быть только прочитан, его установка подфункцией 1 функции 44h не производится.
15 Зарезервировано.

Если при вызове этой подфункции регистр BX содержал индекс файла, формат получаемой в регистре DX информации будет следующий:

Бит Значение
0-5 Номер дисковода (0-А:, 1-В: и т.д.).
6 0 - Была запись в выходной файл.
7 1 - это слово информации относится к устройству (данный handle относится к устройству);

0 - слово информации относится к файлу.

8-11 Зарезервировано.
12 Сетевое устройство (только для DOS версии 3.0 и более поздних версий).
13-14 Зарезервировано.
15 1 - Данный файл является удаленным при работе в сети (только для DOS версии 3.0 и более поздних версий).

Особое внимание следует обратить на бит 5 слова информации об устройстве. Этот бит определяет режим обмена данными DOS и драйвера - двоичный или ASCII. В двоичном режиме управляющие символы CTRL-C, CTRL-P, CTRL-S, CTRL-Z интерпретируются как обычные данные.



Содержание раздела