Аппаратное обеспечение IBM PC



         

Средства MS-DOS для работы с принтером - часть 2


Поэтому приведенная выше программа не содержит обработчика ошибочных ситуаций error(). Если вас не устраивают действия, выполняемые стандартным обработчиком критических ошибок MS-DOS, вы можете составить собственный. В третьей книге первого тома "Библиотеки системного программиста" мы рассказывали вам о создании и подключении собственного обработчика критических ошибок.

Более интересные возможности по управлению процессом печати предоставляет программа резидентного спулера печати PRINT.COM. Вы знаете, что команда PRINT предназначена для выполнения печати в фоновом режиме.

Оказывается, что если запущена программа PRINT, другие программы могут взаимодействовать с ней, управляя процессом печати.

Для связи со спулером печати можно использовать несколько функций прерывания INT 2Fh:

На входе: AH = 01h;

AL = номер выполняемой операции.

На выходе: AH = 00 - спулер печати не установлен, но его можно установить, запустив программу PRINT; 01 - спулер печати не установлен и его установка невозможна (система не содержит ни одного принтера); FFh - спулер установлен.

Приведем форматы регистров для выполнения различных операций со спулером печати.

На входе: AH = 01h;

AL = 0 - проверить установку спулера печати.

На выходе: AH = 00 - спулер печати не установлен, но его можно установить, запустив программу PRINT; 01 - спулер печати не установлен и его установка невозможна; FFh - спулер установлен.

На входе: AH = 01h;

AL = 1 - передача файла спулеру для печати;

DS:DX = адрес управляющего блока:

Смещение Длина

(+0) 1 уровень запроса, равен 0; (+1) 4 FAR-адрес строки в формате ASCIIZ, содержащей путь файла.

На выходе: AH = 00 - спулер печати не установлен, но его можно установить, запустив программу PRINT; 01 - спулер печати не установлен и его установка невозможна; FFh - спулер установлен.

На входе: AH = 01h;

AL = 2 - отменить печать файла;

DS:DX = адрес строки в формате ASCIIZ, содержащей имя файла, удаляемого из очереди для печати.

На выходе: AH = 00 - спулер печати не установлен, но его можно установить, запустив программу PRINT; 01 - спулер печати не установлен и его установка невозможна; FFh - спулер установлен.




Содержание  Назад  Вперед