Eu tenho um cenário com uma impressora em uma máquina Windows 8 que precisa ser compartilhada com uma instância do FreeDOS que está rodando na mesma máquina via VirtualBox.
Inicialmente, eu esperava que houvesse um recurso de compartilhamento de impressora semelhante ao VMware ou Parallels, mas não estou encontrando uma opção "conveniente". Esta impressora será freqüentemente usada para imprimir no próprio Windows, mas esse bom e velho programa DOS também precisa ser capaz de imprimir de vez em quando.
Eu estava pensando que talvez a melhor opção seria habilitar o compartilhamento de rede da impressora no Windows e então tentar conectar a impressora em rede a uma porta paralela virtual na instância do FreeDOS de alguma forma.
Eu tenho a rede TCP/IP funcionando perfeitamente na instância do FreeDOS, mas agora é uma questão de pegar a porta da impressora compartilhada para algum lpt virtual, eu presumo.
Um outro pensamento que passou pela minha cabeça é que talvez eu precise adquirir algum software no lado do Windows para fornecer uma entrada mais universal para o DOS que permitirá, portanto, um simples lançamento de caracteres do aplicativo DOS em vez de precisar de algum processamento de driver mais pesado.
Alguma idéia de como fazer isso?
Responder1
Não estou familiarizado com a rede FreeDOS, mas se você puder fazer o "uso da rede" em uma unidade de rede compartilhada, também poderá fazer:
Net use lpt1 \\server\printershare
Seu aplicativo MS-DOS deve suportar impressão em impressoras de rede.
Se os aplicativos MS-DOS tentarem manipular diretamente o chip de hardware LPT, isso não funcionará. Se acessar LPT1 como um arquivo, isso funcionará.
Não há necessidade de fornecer drivers ou similares no lado do Windows para isso. Felizmente, ele passará os bytes brutos recebidos do cliente DOS diretamente para a impressora. (Como alternativa, você pode configurar a impressora no Windows como impressora "genérica/somente texto" para ter certeza absoluta de que o Windows não tocará nos trabalhos de impressão.)
Se o seu aplicativo DOS insiste em controlar o hardware da impressora por si só, a única maneira de fazer isso funcionar é (AFAIK) ter uma impressora paralela real no sistema host e mapear essa porta paralela diretamente na VM FreeDOS. (Mas não poderá ser usado no sistema hosts ao mesmo tempo!)