|
Пользуясь тем же самым примером, если
прикладная программа требует вывода 128 байт на символьное уст-
- 6-15 -
ройство, и драйвер работает в неподготовленном режиме, то MS-DOS
сделает единственное обращение к драйверу с функцией "ВЫВОД" или
"ВЫВОД С ПРОВЕРКОЙ", задавая количество передаваемых байт равным
128.
IOCTL БИТ 4: SPECL
Подобно биту CTRL, бит SPECL в слове конфигурации точно отра-
жает состояние бита SPECL в слове атрибутов. Будучи установлен-
ным, этот бит означает, что данный драйвер (который почти всегда
является драйвером консоли) способен выполнять высокоскоростной
вывод в двоичном режиме, используя прерывание INT 29H.
Бит BIN, определяющий неподготовленный режим, также требует
разрешения высокоскоростного режима вывода, определяемого атрибу-
том SPECL. Если установлены как бит слова конфигурации BIN, так и
бит слова атрибутов SPECL, значит драйвер будет работать в режиме
высокоскоростного вывода. Этот режим и бит атрибутов SPECL обсуж-
даются более глубоко в разделе "Слове атрибутов заголовка драйве-
ра".
Группа команд управления вводом/выводом
Четыре IOCTL команды, появившиеся в MS-DOS версии 3.3 - коман-
ды C, D, E и F - являются необязательными и разрешены только при
установленном бите 6 слова атрибутов драйвера. Группа подфункций,
обеспечиваемых командами C и D, представляет собой довольно "раз-
ношерстное" собрание весьма специфических функций. Эта группа,
как правило, используется для поддержки определенных, заданных
изготовителем устройства функциональных особенностей, таких как
переключение фонтов в принтере, форматирование диска и т.д. Если
Вам кажется, что у Вас есть необходимость использовать эти коман-
ды, следует обратиться к руководству программиста, где представ-
лена более подробная информация.
Команды E и F позволяют прикладному программисту управлять
назначением и освобождением логических дисков, например так, как
это делается командой SUBST. Команда E ("Получить имя логического
диска") возвращает назначение, использованное при последнем обра-
щении к реальному устройству, а команда F ("Установить имя логи-
ческого диска") используется для изменения назначенных имен логи-
ческих дисков.
Прямой доступ к диску через прерывания INT 25H и INT 25H
С другой стороны спектра от доступа к устройству с помощью
описателей файлов (ДОМД) лежат прерывания прямого доступа к диску
: "Чтение по абсолютному адресу" (INT 25H) и "Запись по абсолют-
ному адресу" (INT 26H). Согласно названию, прерывания прямого
доступа к диску работают исключительно с блоковыми устройствами,
например с дисками. Задача этих прерываний заключается в обеспе-
чении работы с дисками напрямую, не используя файловую структуру
MS-DOS.
|