Команда RECOVER BUFFERED DATA

Команда RECOVER BUFFERED DATA позволяет получить обратно данные инициатора (программы), которые были переданы адресату (принтеру), но еще не напечатаны (находятся в буфере принтера). Как правило, эта команда используется для того, чтобы исключить ошибки или возникновение различных аварийных ситуаций при печати данных из буфера устройства. Порядок возвращения данных этой командой такой же, какой использовался командой PRINT или SLEW AND PRINT для передачи данных на печать. Можно выполнить команду RECOVER BUFFERED DATA несколько раз, пока не будут возвращены все данные.

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

  • Байт 0

    В байт следует поместить код команды RECOVER BUFFERED DATA, равный 14h.

  • Байт 1

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

  • Байты с 2 по 4

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

  • Байт 5

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

При попытке вернуть большее количество данных, чем содержится в буфере, байт статуса после выполнения команды будет содержать условие ошибки, которое нужно обработать в программе. Для иллюстрации работы с данной командой, приведем примеры. Напишем функцию, которая возвращает 2000 байт из буфера принтера, которые были ранее помещены туда командой PRINT, но еще не выведены на печать (см. листинг 8.5).

Листинг 8.5. Пример использования команды RECOVER BUFFERED DATA на Visual C++

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

Листинг 8.6. Пример использования команды RECOVER BUFFERED DATA

на Visual Basic

 

 

2021-04-01

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

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

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

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

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

подробнее

 

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

 

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

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

E-mail:e-mail