У меня есть сценарий с принтером на компьютере под управлением Windows 8, который необходимо использовать совместно с экземпляром FreeDOS, работающим на том же компьютере, через VirtualBox.

Изначально я надеялся, что есть функция общего доступа к принтерам, которая будет похожа на VMware или Parallels, однако я не нахожу "удобную" опцию. Этот принтер будет часто использоваться для печати из самой Windows, но тогда эта старая добрая программа DOS также должна иметь возможность печатать время от времени.

Я подумал, что, возможно, лучшим вариантом будет включить общий доступ к принтеру по сети в Windows, а затем попытаться каким-либо образом подключить сетевой принтер к виртуальному параллельному порту в экземпляре FreeDOS.

У меня отлично работает сеть TCP/IP в экземпляре FreeDOS, но теперь нужно захватить порт общего принтера для некоторого виртуального lpt, который я бы предположил.

Еще одна мысль, которая пришла мне в голову, заключается в том, что мне может потребоваться приобрести какое-то программное обеспечение на стороне Windows, чтобы обеспечить более универсальный ввод для DOS, который, следовательно, позволит простому символу приложения DOS извергаться, требуя более сложной обработки драйвера.

Есть идеи, как этого добиться?

1 ответ1

0

Я не знаком с сетью FreeDOS, но если вы можете использовать "net use" на общем сетевом диске, вы также должны уметь:

Net use lpt1 \\server\printershare

Ваше приложение MS-DOS должно поддерживать печать на сетевых принтерах.
Если приложения MS-DOS пытаются манипулировать аппаратным чипом LPT напрямую, это не сработает. Если он обращается к LPT1 в виде файла, это будет работать.

Для этого не нужно предоставлять драйверы или тому подобное на стороне Windows. Он с радостью передаст необработанные байты, полученные от клиента DOS, непосредственно на принтер. (В качестве альтернативы вы можете настроить принтер в Windows как принтер «Общий / Только текст», чтобы быть абсолютно уверенным, что Windows не коснется заданий на печать.)

Если ваше приложение DOS настаивает на контроле аппаратного обеспечения принтера, то единственный способ заставить эту работу (AFAIK) - установить настоящий параллельный принтер в хост-системе и подключить этот параллельный порт непосредственно к виртуальной машине FreeDOS. (Он не будет использоваться в системе хостов одновременно!)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .