Команда SET LIMITS (12)

Команда SET LIMITS (12) позволяет определить границы диапазона для последующего использования связанного набора команд (нескольких команд, выполняемых в определенной последовательности).

Описание команды.

  • Байт 0

    В байт следует поместить код команды SET LIMITS, равный B3h.

  • Байт 1

    Состоит из четырех частей. В первую часть (биты 7—5) помещают логический номер устройства (ЛНУ). В данное время этот параметр не используется и оставлен ради совместимости с предыдущими стандартами интерфейса SCSI, поэтому сюда следует записать нулевое значение. Вторая часть (биты 4—2) зарезервирована и не используется. Третья часть (бит 1) указывает на запрещение чтения (34). Установка его в 1 позволит запретить любые операции чтения в пределах выбранного диапазона. Четвертая часть (бит 0) указывает на запрещение записи (33). Установка его в 1 позволит запретить любые операции записи в пределах выбранного диапазона.

  • Байты с 2 по 5

    Определяют начальный адрес для выбранного диапазона.

  • Байты с 6 по 9

    Определяют количество логических блоков в пределах диапазона выборки. Установка этого поля в 0 позволит выбрать диапазон до последнего логического блока на выбранном модуле (носителе).

  • Байт 10

    Зарезервирован и не используется.

  • Байт 11

    Служебный байт, завершающий команду. Не используется.

Любая попытка обратиться к данным вне установленного диапазона или выполнить запрещенную операцию в пределах выбранного диапазона не будет выполнена. В этом случае следует проверить байт статуса на значение STATOS_CHKCOND, а байт отчета на значение DATA PROTECT. Для закрепления рассмотренной команды SET LIMITS (12) приведем примеры использования последней в программе. Напишем функцию, запрещающую запись носителя в указанной области.

Листинг 9.13. Пример использования команды SET LIMITS на Visual C++

Аналогичный пример функции блокировки на запись, реализованный на языке Visual Basic, представлен в листинге 9.14.

Листинг 9.14. Пример использования команды SET LIMITS на Visual Basic

 

 

2021-04-01

Google сообщил о запуске проекта Dunant

Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...

подробнее
2020-04-06

Новшества в обновленной Windows 10

Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...

подробнее

 

Все новости...

 

Научно-Техническое Объединение

Тел.: +7(4752) 55-95-86

E-mail:e-mail