Сети NetWare 3.12-4.1.Книга ответов

       

Как работает перехват LPT-порта?



Как работает перехват LPT-порта?

Перехват порта, независимо от способа его установки (утилитой CAPTURE или с помощью NetWare User Tools и Windows), работает следующим образом:

Весь принтерный вывод, поступающий через BIOS INT 17h (инициализация, вывод символа и опрос состояния принтера) для порта с перехватываемым номером, накапливается в небольшом буфере, из которого пакетами передается в очередь сервера. В отличие от принтера, который печатал бы поступающие символы по мере поступления в свой буфер (матричный или струйный - построчно, лазерный - постранично), сетевой принтер начнет печатать задание только после того, как файл задания будет закрыт. Тонкости возникают при определении момента (повода) для закрытия задания. Если установить опцию AutoEndcap, CAPTURE посылает сигнал о закрытии файла задания (печати очередной порции) по закрытии DOS-устройства PRN приложением, которое генерировало поток данных через функции DOS. Если приложение само не закрывает PRN, то это сделает DOS по завершении работы этого приложения. Чтобы не ждать этого события и иметь возможность печати из программ, использующих INT 17h а не DOS-функции, CAPTURE можно настроить на закрытие заданий по тайм-ауту. В этом случае при паузе между выводом, превышающей заданный порог, текущее задание закрывается и обслуживается принт-сервером, а по возобновлении вывода открывается новый файл-задание. В общем случае этот способ при корректной настройке работает, однако он может являться источником различных сюрпризов. Если установлена опция NoAutoendcap и отключен тайм-аут (TImeout=0), закрытие задания произойдет только по запуску ENDCAP.EXE или повторному запуску CAPTURE для того же порта.

Запуску ENNDCAP эквивалентно нажатие кнопки End Capture (NetWare User Tools) в Windows.

В NetWare 4.x ENDCAP.EXE заменяется опцией EndCap команды CAPTURE.



Содержание раздела