Форматы запросов для различных команд
(0) 13 | header | Заголовок запроса. |
(+13) 1 | n_units | Количество устройств, обслуживаемых драйвером. Это поле заполняется только блочным драйвером. |
(+14) 4 | end_addr | Конечный FAR-адрес резидентной части кода драйвера. В это поле драйвер записывает адрес байта памяти, следующего за той частью кода драйвера, которая должна стать резидентной. |
(+18) 4 | parm | FAR-адрес строки параметров инициализации драйвера из файла CONFIG.SYS. Эта строка содержит все, что находится в строке файла после команды 'DEVICE=', она заканчивается символами перевода строки и возврата каретки 0Ah, 0Dh. При возврате драйвер блочного устройства должен записать в это поле адрес массива указателей на блоки параметров BIOSBIOS
(BPB), по одному указателю на каждое устройство, обслуживаемое драйвером. |
(+22) 1 | drive | Номер устройства. Для версии DOS 3.0 и более поздних версий в это поле при загрузке драйвера операционная система заносит номер, назначенный устройству, обслуживаемому драйвером. Например, для устройства А:это 0, для B: - 1 и т.д. |
(0) 13 | header | Заголовок запроса. |
(+13) 1 | media | В этом поле драйверу передается байт-описатель среды носителя данных, с которым DOS работала раньше. |
(+14) 1 | reply | В это поле драйвер должен поместить ответ о факте замены среды: 1 - диск не заменялся; 0 - неизвестно; -1 - диск был заменен. |
(+15) 4 | vol_id | Указатель на предыдущую метку тома (если установлен бит 11 слова атрибута устройства и диск был заменен) |
(0) 13 | header | Заголовок запроса. |
(+13) 1 | media | В этом поле драйверу передается байт-описатель среды носителя данных, с которым DOS работала раньше. |
(+14) 4 | buf_adr | Адрес буфера обмена. Содержимое этого буфера при вызове драйвера зависит от утановки бита 13 слова атрибутов устройства (IBM-формат). Если этот бит равен 0 (устройство формата IBM), буфер содержит первый сектор первой копии FAT. В противном случае указатель установлен на буфер свободного сектора. |
(+18) 4 | bpb_adr | Указатель на новый BPB, записывается в это поле драйвером. |
(0) 13 | header | Заголовок запроса. |
(+13) 1 | media | В этом поле драйверу передается байт-описатель среды носителя данных. |
(+14) 4 | buf_adr | Адрес буфера для передачи данных. |
(+18) 2 | count | Количество передаваемых байтов для символьных устройств или секторов для блочных устройств. |
(+20) 2 | sector | Номер начального сектора, если драйвер использует 16-битовую адресацию секторов или -1 для 32-битовой адресации. Это поле не используется символьными драйверами. |
(+22) 4 | vol_id | Указатель на метку тома в формате ASCIIZ. Возвращается блочным драйвером, если он выставляет ошибку 15 (неправильная смена диска). Это поле должно содержать ссылку на метку требуемого диска. |
(+26) 4 | sect32 | Номер начального сектора, если содержимое поля sector равно -1. Первым идет старшее слово номера сектора. Если обнаружена ошибка с номером 15, в это поле записывается указатель на метку тома. |
(0) 13 | header | Заголовок запроса. |
(+13) 1 | byte | В это поле драйвер записывает извлеченный из буфера байт, который будет считан по следующей команде ввода. |
Для команд проверки состояния запрос состоит только из заголовка, область переменного формата отсутствует.
Запрос состоит только из заголовка.
Запрос для этих команд состоит только из заголовка.
Запрос состоит только из заголовка.
(0) 13 | header | Заголовок запроса. |
(+13) 1 | funct | Это поле содержит код функции команды общего IOCTL. |
(+14) 1 | subfunc | Код подфункции для функции funct. |
(+15) 2 | si_reg | Значение регистра SI при вызове функции 44h прерывания 21h. Эта функция DOS предназначена для управления вводом/выводом. |
(+17) 2 | di_reg | Значение, передаваемое при вызове функции 44h прерывания 21h через регистр DI. |
(+19) 4 | buf | Указатель на буфер данных, содержащий управляющую информацию для устройства или предназначенный для приема информации от устройства. |
(0) 13 | header | Заголовок запроса. |
(+13) 1 | unit | Код логического устройства, которое должно стать активным при использовании команды 24, или код активного устройства, помещаемый драйвером по команде 23. |
(+14) 1 | cmd | Код команды. |
(+15) 4 | status | Слово состояния. |
(+19) 4 | reserved | Зарезервировано. |