Dos7book
.pdf
Приложение А.05: Структуры данных для драйверов
Примечание 6: установление в единицу бита 11 означает, что драйвер способен обслуживать накопители на сменных носителях, в частности, передавая сигналы блокировки и разблокировки сменных дисков.
Примечание 7: установление в единицу бита 14 означает, что драйвер способен принимать управляющие параметры, посланные через прерывания
INT 21\AX=4403h или INT 21\AX=4405h (8.02-41).
A.05-3 Избранные запросы к драйверам устройств
Взаимодействие между DOS и драйвером любого устройства осуществляется посылкой в регистрах ES:BX адреса блока данных запроса при вызове программы стратегии драйвера командой CALL FAR. Драйвер принимает код операции в блоке данных запроса и инициирует ее исполнение. Потом DOS вызывает программу прерывания драйвера, которая заполняет тот же блок полученными данными. DOS принимает результат, если байт статуса в возвращенном блоке данных подтверждает успешное завершение запрошенной операции (A.05-4).
Такие же формы блоков данных запроса принимает обработчик прерывания INT 2F\AX=0802h (8.03-03), который неявно обращается к тем драйверам дисководов, которые входят в состав ядра DOS. Этими драйверами обслуживаются дисководы, для которых имеются соответствующие таблицы DDT (A.03-2). Только к этим логическим дискам можно обращаться посредством INT 2F\AX=0802h.
1-я колонка приведенной ниже таблицы показывает размер блока данных запроса в байтах, 2-я колонка – код запрашиваемой операции, 4-я колонка – тип драйверов, к которым данная операция может быть адресована. В 5-й колонке показано, может ли данная операция быть запрошена через прерывание INT 2F\AX=0802h. Знаками "звездочка" отмечены ссылки на примечания.
Длина |
Код |
Операция |
Тип |
802 |
Формат |
|
драйверов |
данных |
|||||
|
|
|
|
|||
19h |
00h |
Инициализация |
все |
Нет |
A.05-5 |
|
0Fh |
01h |
Проверка носителя |
дисковые |
Да |
*2 |
|
14h |
03h |
Посылка строки IOCTL |
*1 |
Нет |
A.05-7 |
|
1Eh |
04h |
Считывание данных |
все |
Да |
A.05-6 |
|
0Eh |
05h |
Копирование байта |
канальные |
Нет |
*3 |
|
0Dh |
06h |
Запрос статуса ввода |
канальные |
Нет |
A.05-4 |
|
0Dh |
07h |
Сброс входного буфера |
канальные |
Нет |
A.05-4 |
|
1Eh |
08h |
Запись (посылка) данных |
все |
Да |
A.05-6 |
|
1Eh |
09h |
Запись с верификацией |
дисковые |
Да |
A.05-6 |
|
0Dh |
0Ah |
Запрос статуса вывода |
канальные |
Нет |
A.05-4 |
|
0Dh |
0Bh |
Сброс выходного буфера |
канальные |
Нет |
A.05-4 |
|
14h |
0Ch |
Прием строки IOCTL |
*1 |
Нет |
A.05-7 |
|
|
|
– 619 – |
|
|
|
Приложение А.05: Структуры данных для драйверов
Продолжение таблицы А.05-3 |
|
|
|
|||
|
0Dh |
0Dh |
Открывание устройства |
все |
Нет |
A.05-4 |
|
0Dh |
0Eh |
Закрывание устройства |
все |
Нет |
A.05-4 |
|
0Dh |
0Fh |
Сменный ли диск? |
дисковые |
Да |
A.05-4 |
|
14h |
10h |
Посылка до занятости |
канальные |
Нет |
A.05-7 |
|
0Dh |
17h |
Номер логического диска |
дисковые |
Да |
A.05-4 |
Примечание 1: с запросами на посылку и возврат строк IOCTL можно обращаться только к тем драйверам (как дисковым, так и канальным), у которых в слове атрибутов (A.05-2) установлен в единицу бит 14.
Примечание 2: в блоке данных запроса на проверку носителя драйвер принимает идентификатор носителя в байте со смещением 0Dh и возвращает байт статуса в ячейке со смещением 0Eh. Байт статуса значит:
FFh – носитель не был сменен 01h – носитель был сменен
00h – состояние носителя не определено.
Примечание 3: в блоке данных запроса на копирование байта (неразрушающее считывание) возвращается один байт данных в ячейке со смещением 0Dh, при условии, что в возвращаемом байте статуса со смещением 04h (A.05-4) бит BUSY ("занято") не установлен.
A.05-4 Формат заголовка блока данных запроса
Описываемый формат заголовка используется при вызовах драйверов командой CALL FAR (A.05-3), а также при обращениях к ним через прерывание INT 2F\AX=0802h (8.03-03). В обоих случаях регистры ES:BX должны содержать указатель на блок данных запроса, в котором заголовок представлен байтами 00h – 0Ch. Для многих операций (06h, 07h, 0Ah, 0Bh, 0Dh, 0Eh, 0Fh, 17h) блок данных запроса не содержит ничего кроме заголовка. Структура заголовка, одинаковая для всех операций, показана в приведенной ниже таблице.
Смещение |
Длина |
Содержание |
|
|
00h |
1 |
Длина блока данных (колонка 1 таблицы A.05-3) |
||
01h |
1 |
Адресуемый логический диск (примечание 1) |
||
02h |
1 |
Код операции (колонка 2 в таблице A.05-3) |
||
03h |
1 |
Код ошибки (примечания 3 и 4) |
||
04h |
1 |
Статус: |
01h |
– операция выполнена |
|
|
|
02h |
– устройство занято |
|
|
|
80h |
– произошла ошибка. |
Примечание 1: здесь логический диск определяется своим номером в списке дисков, обслуживаемых тем драйвером, к которому происходит обращение. При обращениях через прерывание INT 2F\AX=0802h
– 620 –
Приложение А.05: Структуры данных для драйверов
(8.03-03) номера совпадают с номерами логических дисков: 00h = A:, 02h = C: и т.д., но только в пределах начальной группы дисков, для которых имеются соответствующие таблицы DDT (A.03-2).
Примечание 2: если операция 0Fh (Сменный ли диск?) возвращает статус 02h ("занято"), то адресуемый диск – несменный жесткий диск.
Примечание 3: код ошибки выдается только если статус имеет значение 80h, то есть подтверждает факт ошибки. Тогда расшифровывать код ошибки следует по записям для прерывания INT 2F в таблице A.06-1.
Примечание 4: операция 17h ("определить логический диск") возвращает абсолютный номер логического диска в ячейке со смещением 03h. Тип диска и его наличие в дисководе не проверяются. Если запрашиваемый номер диска выходит за рамки списка дисков, обслуживаемых данным драйвером, то возвращается значение 00h.
A.05-5 Блок данных для запроса операции инициализации
Только однажды, сразу после загрузки драйвера, DOS вызывает его командой CALL FAR (7.03-08) с запросом на инициализацию. При вызове в регистрах ES:BX указывается адрес блока данных, а его заголовке (A.05-4) – код 00h операции инициализации. Получив такой запрос, драйвер проверяет наличие и фактическое состояние всех тех аппаратных средств, которые он должен обслуживать. При этом и исходные данные, и возвращаемые результаты выходят за рамки заголовка блока данных (A.05-4). Формат выходящей за пределы заголовка части блока данных (со смещениями 0Dh – 18h) показан в приведенной ниже таблице.
Смещение |
Длина |
Содержание |
0Dh |
1 |
При возврате: число логических дисков, |
|
|
обслуживаемых данным драйвером. |
0Eh |
4 |
При вызове: адрес 1-го байта за границей участка, |
|
|
который может быть выделен драйверу. |
|
|
При возврате: адрес 1-го свободного байта после |
|
|
участка, занятого резидентным модулем. |
12h |
4 |
При вызове: указатель на командную строку с |
|
|
параметрами вызова драйвера. |
|
|
При возврате только для дисковых драйверов: |
|
|
указатель на блок данных BPB (A.03-4). |
16h |
1 |
При вызове: первый свободный номер диска, |
|
|
предоставляемый драйверу (A: = 00h). |
17h |
2 |
При возврате: флаг сообщения (примечание 2) |
Примечание 1: канальные драйверы перед возвратом данных должны обнулять четырехбайтовое слово, начинающееся со смещения 12h.
– 621 –
Приложение А.05: Структуры данных для драйверов
Примечание 2: когда возвращаемый драйвером флаг сообщения об ошибке имеет значение 0000h, то никакое сообщение не выдается, а когда этот флаг имеет значение 0001h, то DOS выводит на экран сообщение: "There is an error in your CONFIG.SYS file in line..." ( = В Вашем файле CONFIG.SYS имеется ошибка в строке...).
A.05-6 Блок запроса на пересылку данных
Описываемая форма блока данных запроса используется при прямом вызове драйверов (A.05-3) командой CALL FAR (7.03-08), а также при вызове посредством прерывания INT 2F\AX=0802h (8.03-03) с целью пересылки данных. При вызове в регистрах ES:BX указывается адрес блока данных запроса, а его заголовке (A.05-4)
– код запрашиваемой операции: 04h, 08h или 09h. Когда запрошена операция считывания (код 04h), принимаемые данные записываются в предварительно выделенную буферную область в памяти компьютера. Операции записи (коды 08h и 09h) напротив, посылают данные из буферной области на диск или в канал вывода. Для всех упомянутых операций блоки данных запроса включают заголовок (A.05-4) и остальную часть с параметрами доступа к данным. Размещение параметров за пределами заголовка показано в приведенной ниже таблице.
Смещение |
Длина |
Содержание |
0Dh |
1 |
Идентификатор носителя (только для дисков) |
0Eh |
4 |
Адрес буферной области для данных |
12h |
2 |
Длина пакета данных (примечание 1) |
14h |
2 |
Номер начального сектора (примечание 2) |
16h |
4 |
Указатель на идентификатор тома (примечание 3) |
1Ah |
4 |
Номер начального сектора (примечание 2) |
Примечание 1: при обращении к драйверам каналов длина считываемого или записываемого пакета данных выражается в байтах, а при обращении к дисковым драйверам – в количестве секторов.
Примечание 2: в других DOS может использоваться иной формат с четырехбайтовым номером начального сектора в ячейке 14h;
отличительным признаком такого формата является длина блока данных 18h, указываемая в первом байте заголовка (A.05-4). MS-DOS7 использует 4-байтовый номер начального сектора только если драйвер поддерживает 32-битную адресацию, о чем свидетельствует установленный в единицу бит 1 в слове атрибутов драйвера (A.05-2). В таких случаях начальный номер сектора указывается в ячейке со смещением 1Ah, а в ячейку со смещением 14h записывается слово FFFFh.
– 622 –
Приложение А.05: Структуры данных для драйверов
Примечание 3: адрес идентификатора тома возвращается в случае возникновения ошибки 0Fh (неправомерная смена носителя записи).
A.05-7 Блок данных запроса для строковых операций
Описываемая форма блока данных запроса используется при вызове драйверов (A.05-3) командой CALL FAR (7.03-08) с целью посылки или приема строки байтов. При вызове в регистрах ES:BX указывается адрес блока данных запроса, а его заголовке (A.05-4) – код запрашиваемой операции: 03h, 0Ch или 10h. Операция 10h посылает данные в канал. Операции посылки и приема строк управляющих параметров (03h, 0Ch) могут быть адресованы только тем драйверам, которые способны пользоваться механизмом программного управления (IOCTL), о чем свидетельствует установление в единицу бита 14 в слове атрибутов (A.05-2). Запрос с кодом операции 03h "предлагает" драйверу "принять к сведению" новые значения управляющих параметров, посланные посредством функций INT 21\AX=4403h и INT 21\AX=4405h (8.02-41). Запрос с кодом операции 0Ch выдается операционной системой с тем, чтобы драйвер выдал действующие значения параметров,
запрашиваемые функциями INT 21\AX=4402h и INT 21\AX=4404h (8.02-41).
Блоки данных запроса упомянутых операций имеют одинаковую структуру, включающую заголовок (A.05-4) и остальную часть. Размещение данных за пределами заголовка показано в приведенной ниже таблице.
Смещение |
Длина |
Содержание |
0Dh |
1 |
Идентификатор носителя (только для дисков) |
0Eh |
4 |
Адрес буферной области для данных |
12h |
2 |
При вызове: число байтов в строке |
|
|
При возврате: число пересланных байтов |
A.06 Коды ошибок
A.06-1 Сводная таблица кодов завершения
Почти все обработчики прерываний возвращают код завершения (код ошибки). Прерывания MS-DOS обычно возвращают его в регистре AL. Операции системы BIOS могут возвращать его в регистре AH. Интерпретации кодов завершения от разных обработчиков нередко не совпадают. В приведенной ниже таблице сведены вместе почти все значения кодов завершения, которые могут встретиться при работе в MS-DOS7. Правильную интерпретацию несложно выбрать по номеру того прерывания, которое возвратило данный код завершения, или по названию резидентного модуля драйвера.
– 623 –
Приложение А.06: |
Коды ошибок |
Код |
Источник |
Расшифровка |
00h |
INT 24-2F |
Попытка записи на защищенный от записи диск |
|
Прочие |
Нет ошибки, успешное завершение операции |
01h |
INT 13 |
Неверный параметр, или несуществующий диск |
|
INT 15 |
Ошибка контроля четности |
|
INT 16 |
Буфер клавиатуры уже полон |
|
INT 24-2F |
Неизвестный драйверу номер диска |
|
Прочие |
Неверно указаны функция или код операции |
02h |
INT 13 |
Адресная метка не найдена |
|
INT 15 |
Ошибка прерывания |
|
INT 24-2F |
Дисковод не готов к исполнению команды |
|
Прочие |
Файл не найден |
03h |
INT 13 |
Диск защищен от записи |
|
INT 15 |
Ошибка в управлении линией 20-го разряда адреса |
|
INT 24-2F |
Неизвестная драйверу команда |
|
Прочие |
Ошибка в спецификации пути |
04h |
INT 13 |
Сектор не найден или ошибка считывания |
|
INT 24-2F |
Ошибка в данных (неверный код CRC) |
|
Прочие |
Слишком много файлов (нет места в JFT или в SFT) |
05h |
INT 13 |
Неудача попытки приведения в начальное состояние |
|
INT 24-2F |
Неверная длина блока данных запроса |
|
Прочие |
Нет прав доступа |
06h |
INT 13 |
Диск сменен или не вставлен в дисковод |
|
INT 24-2F |
Ошибка поиска |
|
Прочие |
Неверно указана номерная ссылка |
07h |
INT 13 |
Ошибка в таблице параметров жесткого диска |
|
INT 24-2F |
Неизвестный тип носителя записи |
|
Прочие |
Ошибка в блоке данных управления памятью |
08h |
INT 13 |
Выход за границу области DMA |
|
INT 24-2F |
Сектор не найден |
|
Прочие |
Имеющейся памяти недостаточно |
09h |
INT 13 |
Выход за 64 кбайт памяти или 80h секторов диска |
|
INT 15 |
Неверный APM-идентификатор устройства |
|
INT 24, 2F |
В принтере нет бумаги |
|
Прочие |
Неверный адрес блока памяти |
0Ah |
INT 13 |
Обнаружен дефектный сектор |
|
INT 24-2F |
Попытка записи кончилась неудачно |
|
Прочие |
Неверная спецификация окружения |
0Bh |
INT 13 |
Заданная дорожка не читается или не существует |
|
INT 15 |
Прибор не поставлен под управление APM |
|
INT 24-2F |
Попытка считывания не удалась |
– 624 –
|
|
|
Приложение А.06: |
Коды ошибок |
|||
Продолжение таблицы А.06-1 |
|
|
|||||
|
|
Прочие |
|
|
Неверный формат |
|
|
|
|
|
|
|
|||
|
0Ch |
INT 13 |
|
|
Неизвестный формат дорожки или носителя |
|
|
|
|
INT 24-2F |
|
|
Отказ общего характера |
|
|
|
|
Прочие |
|
|
Неверный код доступа |
|
|
|
0Dh |
INT 13 |
|
|
Неверное число секторов при форматировании |
|
|
|
|
INT 24-26 |
|
|
Нарушение условий совместного доступа |
|
|
|
|
Прочие |
|
|
Неверные данные |
|
|
|
0Eh |
INT 13 |
|
|
Обнаружена адресная метка управляющих данных |
|
|
|
|
INT 24-2F |
|
|
Попытка доступа к закрытому диску |
|
|
|
0Fh |
INT 13 |
|
|
Уровень арбитража DMA за пределами допуска |
|
|
|
|
INT 24-2F |
|
|
Ошибочная смена диска |
|
|
|
|
Прочие |
|
|
Неверный номер дисковода |
|
|
|
10h |
INT 13 |
|
|
Неисправимые ошибки кодов CRC или ECC |
|
|
|
|
INT 24 |
|
|
Блок данных FCB недоступен |
|
|
|
|
Прочие |
|
|
Попытка удалить текущий каталог |
|
|
|
11h |
INT 13 |
|
|
Ошибки в данных скорректированы кодом ECC |
|
|
|
|
INT 24-26 |
|
|
Переполнение буфера регистрации доступа |
|
|
|
|
Прочие |
|
|
Не то же самое устройство |
|
|
|
12h |
INT 24 |
|
|
Несовпадение кодовых страниц |
|
|
|
|
Прочие |
|
|
Больше файлов нет, или индекс вышел за допуск |
|
|
|
13h |
INT 24-26 |
|
|
Нет ввода данных |
|
|
|
|
Прочие |
|
|
Диск защищен от записи |
|
|
|
14h |
INT 24, 26 |
|
|
Имеющегося дискового пространства недостаточно |
|
|
|
|
Прочие |
|
|
Обращение к неизвестному устройству |
|
|
|
15h |
|
|
|
Дисковод не готов к исполнению операции |
|
|
|
16h |
|
|
|
Неизвестная команда |
|
|
|
17h |
|
|
|
Ошибка, выявленная контрольным кодом CRC |
|
|
|
18h |
|
|
|
Неверная длина блока данных запроса |
|
|
|
19h |
|
|
|
Ошибка при поиске |
|
|
|
1Ah |
|
|
|
Неизвестный тип носителя, неизвестный формат |
|
|
|
1Bh |
|
|
|
Сектор не найден |
|
|
|
1Ch |
|
|
|
В принтере нет бумаги |
|
|
|
1Dh |
|
|
|
Неудача при попытке записи |
|
|
|
1Eh |
|
|
|
Неудача при попытке считывания |
|
|
|
1Fh |
|
|
|
Отказ общего характера |
|
|
|
20h |
INT 13 |
|
|
Отказ контроллера |
|
|
|
|
Прочие |
|
|
Нарушение условий совместного доступа |
|
|
|
21h |
|
|
|
Попытка доступа к закрытому для доступа диску |
|
|
|
22h |
|
|
|
Ошибочная смена диска (примечание 2 к A.06-1) |
|
|
|
23h |
|
|
|
Блок данных FCB (File Control Block) недоступен |
|
|
|
24h |
|
|
|
Переполнение буфера совместного доступа |
|
|
|
25h |
|
|
|
Несоответствие кодовых страниц |
|
|
– 625 –
|
|
|
Приложение А.06: |
Коды ошибок |
||||
Продолжение таблицы А.06-1 |
|
|
|
|||||
|
26h |
|
|
|
Нет ввода для завершения файловой операции |
|
|
|
|
|
|
|
|||||
|
27h |
|
|
|
Имеющегося дискового пространства недостаточно |
|
|
|
|
30h |
INT 13 |
|
|
Датчика наличия носителя в дисководе нет |
|
|
|
|
31h |
INT 13 |
|
|
В дисководе отсутствует сменный диск |
|
|
|
|
32h |
INT 13 |
|
|
Дисковод не поддерживает носители такого формата |
|
|
|
|
|
Прочие |
|
|
Сетевой запрос не поддерживается |
|
|
|
|
33h |
|
|
|
Запрашиваемый компьютер не отвечает |
|
|
|
|
34h |
|
|
|
Указанное сетевое имя уже используется |
|
|
|
|
35h |
|
|
|
Указанное имя сетевого устройства не найдено |
|
|
|
|
36h |
|
|
|
Сеть занята |
|
|
|
|
37h |
|
|
|
Запрошенное сетевое устройство не существует |
|
|
|
|
38h |
|
|
|
Превышен предел сетевой команды BIOS |
|
|
|
|
39h |
|
|
|
Аппаратная ошибка сетевого адаптера |
|
|
|
|
3Ah |
|
|
|
Неправильный отклик со стороны сети |
|
|
|
|
3Bh |
|
|
|
Неожиданная сетевая ошибка |
|
|
|
|
3Ch |
|
|
|
Несовместимый сетевой адаптер |
|
|
|
|
3Dh |
|
|
|
Достигнут предел длины очереди запросов на печать |
|
|
|
|
3Eh |
|
|
|
Длина очереди запросов не исчерпана |
|
|
|
|
3Fh |
|
|
|
Недостаточно места для распечатки файла |
|
|
|
|
40h |
INT 13 |
|
|
Ошибка при выполнении поиска |
|
|
|
|
|
Прочие |
|
|
Указанное сетевое имя удалено |
|
|
|
|
41h |
|
|
|
В доступе к сети отказано |
|
|
|
|
42h |
|
|
|
Тип сетевого устройства указан неверно |
|
|
|
|
43h |
|
|
|
Запрошенное сетевое имя не найдено |
|
|
|
|
44h |
|
|
|
Достигнут предел количества сетевых имен |
|
|
|
|
45h |
|
|
|
Достигнут предел сетевой сессии BIOS |
|
|
|
|
46h |
|
|
|
Временная пауза |
|
|
|
|
47h |
|
|
|
Посланный запрос к сети не принят |
|
|
|
|
48h |
|
|
|
Сетевое перенаправление операций отложено |
|
|
|
|
50h |
|
|
|
Такой файл существует |
|
|
|
|
52h |
|
|
|
Нет возможности создать каталог |
|
|
|
|
53h |
|
|
|
Неудачный исход (fail) при вызове INT 24h |
|
|
|
|
54h |
|
|
|
Слишком много перенаправлений |
|
|
|
|
55h |
|
|
|
Дублирующие перенаправления |
|
|
|
|
56h |
|
|
|
Неверный пароль |
|
|
|
|
57h |
|
|
|
Неверный параметр |
|
|
|
|
58h |
|
|
|
Неудачное завершение передачи данных в сеть |
|
|
|
|
59h |
|
|
|
Запрошенная функция не поддерживается сетью |
|
|
|
|
5Ah |
|
|
|
Требуемый компонент системы не установлен |
|
|
|
|
60h |
INT 15 |
|
|
Запрошенный режим APM недоступен |
|
|
|
|
64h |
Mscdex.exe |
|
|
Неизвестная ошибка |
|
|
|
|
65h |
Mscdex.exe |
|
|
Не готов к исполнению операции |
|
|
|
– 626 –
|
|
|
|
Приложение А.06: |
Коды ошибок |
||||
Продолжение таблицы А.06-1 |
|
|
|
||||||
|
66h |
|
Mscdex.exe |
|
|
EMS-память недоступна |
|
|
|
|
|
|
|
||||||
|
67h |
|
Mscdex.exe |
|
|
Формат диска отличен от High Sierra и ISO-9660 |
|
|
|
|
68h |
|
Mscdex.exe |
|
|
Заслонка оптического дисковода открыта |
|
|
|
|
80h |
|
INT 13 |
|
|
Дисковод не отвечает, время ожидания истекло |
|
|
|
|
|
|
INT 67 |
|
|
Внутренняя ошибка |
|
|
|
|
|
|
Прочие |
|
|
Неверная команда, данная функция не реализована |
|
|
|
|
81h |
|
INT 67 |
|
|
Неправильное функционирование оборудования |
|
|
|
|
|
|
Himem.sys |
|
|
Установлено, что загружен драйвер Vdisk |
|
|
|
|
82h |
|
Himem.sys |
|
|
Сбой управления линией A20 адресной шины |
|
|
|
|
83h |
|
INT 67 |
|
|
Неверная номерная ссылка |
|
|
|
|
84h |
|
INT 67 |
|
|
В запросе неверно указан код функции |
|
|
|
|
85h |
|
INT 67 |
|
|
Лимит номерных ссылок исчерпан |
|
|
|
|
86h |
|
INT 67 |
|
|
Ошибка при сохранении распределения страниц |
|
|
|
|
|
|
Прочие |
|
|
Запрошенная функция не поддерживается |
|
|
|
|
87h |
|
INT 67 |
|
|
Количество страниц памяти недостаточно |
|
|
|
|
88h |
|
INT 67 |
|
|
Свободных страниц памяти слишком мало |
|
|
|
|
89h |
|
INT 67 |
|
|
Запрошено нулевое количество страниц памяти |
|
|
|
|
8Ah |
|
INT 67 |
|
|
Запрошен неверный номер логической страницы |
|
|
|
|
8Bh |
|
INT 67 |
|
|
Запрошен неверный номер физической страницы |
|
|
|
|
8Ch |
|
INT 67 |
|
|
Нет места для записи распределения страниц |
|
|
|
|
8Dh |
|
INT 67 |
|
|
Ошибка при сохранении распределения страниц |
|
|
|
|
8Eh |
|
INT 67 |
|
|
Ошибка при восстановлении распределения страниц |
|
|
|
|
|
|
Himem.sys |
|
|
Общий отказ XMS-драйвера |
|
|
|
|
8Fh |
|
INT 67 |
|
|
Неизвестный номер подфункции |
|
|
|
|
|
|
Himem.sys |
|
|
Неисправимая ошибка XMS-драйвера |
|
|
|
|
90h |
|
INT 67 |
|
|
Неизвестный тип атрибута |
|
|
|
|
|
|
Himem.sys |
|
|
Область HMA недоступна или не существует |
|
|
|
|
91h |
|
INT 67 |
|
|
Запрошенное свойство не поддерживается |
|
|
|
|
|
|
Himem.sys |
|
|
Область HMA уже используется |
|
|
|
|
92h |
|
INT 67 |
|
|
Успешное завершение с перезаписью части данных |
|
|
|
|
|
|
Himem.sys |
|
|
Значение DX меньше предела /HMAMIN (5.04-01) |
|
|
|
|
93h |
|
INT 67 |
|
|
Длина пакета больше, чем выделенное место |
|
|
|
|
|
|
Himem.sys |
|
|
Область HMA не выделена |
|
|
|
|
94h |
|
INT 67 |
|
|
Обычная и расширенная памяти перекрываются |
|
|
|
|
|
|
Himem.sys |
|
|
Линия A20 шины адреса все еще активна |
|
|
|
|
95h |
|
INT 67 |
|
|
Смещения превышает размер логической страницы |
|
|
|
|
96h |
|
INT 67 |
|
|
Размер области выходит за пределы 1 Мегабайта |
|
|
|
|
97h |
|
INT 67 |
|
|
Области источника и назначения перекрываются |
|
|
|
|
98h |
|
INT 67 |
|
|
Неизвестный тип области источника или назначения |
|
|
|
|
9Ah |
|
INT 67 |
|
|
Указанная группа регистров не поддерживается |
|
|
|
|
9Bh |
|
INT 67 |
|
|
Все группы регистров уже распределены |
|
|
|
|
9Ch |
|
INT 67 |
|
|
Группа регистров DMA не поддерживается |
|
|
|
– 627 –
|
|
|
|
Приложение А.06: |
Коды ошибок |
||||
Продолжение таблицы А.06-1 |
|
|
|
||||||
|
9Dh |
|
INT 67 |
|
|
Память под группы регистров не выделена |
|
|
|
|
|
|
|
||||||
|
9Eh |
|
INT 67 |
|
|
Предназначенные каналы DMA не поддерживаются |
|
|
|
|
9Fh |
|
INT 67 |
|
|
Запрошенный канал DMA не поддерживается |
|
|
|
|
A0h |
|
INT 67 |
|
|
Ссылка с запрошенным именем не существует |
|
|
|
|
|
|
Himem.sys |
|
|
Вся расширенная память уже распределена |
|
|
|
|
A1h |
|
INT 67 |
|
|
Номерная ссылка с таким именем уже существует |
|
|
|
|
|
|
Himem.sys |
|
|
Свободных ссылок больше нет |
|
|
|
|
A2h |
|
INT 67 |
|
|
"Заворот" адресов вокруг границы 1 Мбайт |
|
|
|
|
|
|
Himem.sys |
|
|
Неверная номерная ссылка |
|
|
|
|
A3h |
|
INT 67 |
|
|
Массив данных источника поврежден |
|
|
|
|
|
|
Himem.sys |
|
|
Неверная номерная ссылка на источник |
|
|
|
|
A4h |
|
INT 67 |
|
|
Операционная система отказала в доступе |
|
|
|
|
|
|
Himem.sys |
|
|
Значение смещения для источника указано неверно |
|
|
|
|
A5h |
|
Himem.sys |
|
|
Неверная номерная ссылка на область назначения |
|
|
|
|
A6h |
|
Himem.sys |
|
|
Смещение для области назначения указано неверно |
|
|
|
|
A7h |
|
Himem.sys |
|
|
Недопустимое значение длины пакета данных |
|
|
|
|
A8h |
|
Himem.sys |
|
|
Недопустимое перекрытие копируемых данных |
|
|
|
|
A9h |
|
Himem.sys |
|
|
Выявлена ошибка при контроле четности |
|
|
|
|
AAh |
|
INT 13 |
|
|
Дисковод не готов к исполнению операции |
|
|
|
|
|
|
Himem.sys |
|
|
Блок памяти не закрыт |
|
|
|
|
ABh |
|
Himem.sys |
|
|
Блок памяти уже закрыт |
|
|
|
|
ACh |
|
Himem.sys |
|
|
Переполнение счетчика актов закрывания |
|
|
|
|
ADh |
|
Himem.sys |
|
|
Неудачное завершение операции закрывания |
|
|
|
|
B0h |
|
Himem.sys |
|
|
Доступны только блоки UMB меньшего размера |
|
|
|
|
|
|
INT 13 |
|
|
Носитель записи в накопителе не заблокирован |
|
|
|
|
B1h |
|
Himem.sys |
|
|
Свободных блоков UMB больше нет |
|
|
|
|
|
|
INT 13 |
|
|
Носитель записи в накопителе заблокирован |
|
|
|
|
B2h |
|
Himem.sys |
|
|
Указан неверный сегмент блока UMB |
|
|
|
|
|
|
INT 13 |
|
|
Данный носитель записи – несменяемый |
|
|
|
|
B3h |
|
INT 13 |
|
|
Диск задействован, кэш-буфер записи не пуст |
|
|
|
|
B4h |
|
INT 13 |
|
|
Переполнение счетчика актов закрывания |
|
|
|
|
B5h |
|
INT 13 |
|
|
Команда на выдвижение лотка не исполнена |
|
|
|
|
B6h |
|
|
|
|
Носитель защищен от записи |
|
|
|
|
BBh |
|
INT 13 |
|
|
Неизвестная ошибка жесткого магнитного диска |
|
|
|
|
CCh |
|
INT 13 |
|
|
Ошибка при записи на жесткий магнитный диск |
|
|
|
|
E0h |
|
INT 13 |
|
|
Ошибка в регистре состояния дисковода |
|
|
|
|
FFh |
|
INT 13 |
|
|
Ошибка опознавания на жестком магнитном диске |
|
|
|
|
|
|
INT 15 |
|
|
Ошибка активизации линии A20 шины адреса |
|
|
|
|
|
|
Прочие |
|
|
Подходящий файл не найден, или их больше нет, или |
|
|
|
|
|
|
|
|
|
ошибка в блоке FCB (A.09-5). |
|
|
|
– 628 –
