MS-DOS для программиста


Общее управление устройством GENERIC IOCTL - часть 2


/p>

Таблица разметки дорожки начинается с двухбайтового слова, содержащего общее количество секторов на дорожке. Затем для каждого сектора в таблице находится по два двухбайтовых слова, содержащих номер сектора (1, 2 и т. д.) и размер сектора. То есть для каждого сектора в таблице содержится два слова.

Если в поле "специальные функции" бит 2 установлен в 1, размеры всех секторов должны быть одинаковыми.

  • Записать/прочитать дорожку (CL = 41h/61h)

Смещение Размер Содержимое поля
0 1 Специальные функции (это поле всегда содержит 0)
1 2 Номер головки
3 2 Номер дорожки
5 2 Номер начального сектора (нумерация секторов, в отличие от нумерации головок и дорожек начинается с 0)
7 2 Общее количество секторов на дорожке, уменьшенное на единицу
9 4 Дальний указатель на буфер обмена с диском, в который помещается считываемая информация или откуда берется записываемая информация

  • Форматировать/проверить дорожку (CL = 42h/62h)

Смещение Размер Содержимое поля
0 1 Специальные функции. Для этой операции определен только бит 0. Перед вызовом команды значение, равное 0, требуется для форматирования дорожки. Если этот бит установлен в 1, то проверяется возможность использования заданного формата дорожки. Если после выполнения команды значение бита равно 0, то заданный формат дорожки и заполненную таблицу разметки дорожки можно использовать. Если значение бита 0 равно 1, то указанный формат дорожки не поддерживается
1 2 Номер головки для форматирования или проверки
3 2 Номер дорожки для форматирования или проверки

Перед началом выполнения операции программа должна получить и сохранить текущие параметры устройства. Для получения текущих параметров устройства необходимо выполнить операцию с кодом 60h. Затем программа должна установить новые параметры устройства, которые будут использованы в операциях чтения, записи, проверки или форматирования. Для установки параметров программа должна выполнить операцию с кодом 40h.

После выполнения операции программа должна восстановить первоначальные параметры устройства, выполнив операцию с кодом 40h.




Начало  Назад  Вперед



Книжный магазин