Команда 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 завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...
подробнее