Сетевая печать в FreeDOS (VirtualBox) на общем принтере Windows?

Сетевая печать в FreeDOS (VirtualBox) на общем принтере Windows?

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

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

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

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

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

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

решение1

Я не знаком с сетевыми возможностями FreeDOS, но если вы можете использовать «net use» для общего сетевого диска, вы также должны иметь возможность сделать:

Net use lpt1 \\server\printershare

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

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

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

Связанный контент