Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Usbprint.sys, juntamente com USBMON, fornece uma interface muito semelhante à usada por impressoras paralelas. Em muitos casos, é possível que um único driver de impressora ou monitor de idioma funcione corretamente em impressoras paralelas e USB sem modificação. Se um monitor de idiomas usar apenas as funções WritePort e ReadPort e a solicitação IOCTL_PAR_QUERY_DEVICE_ID , ele será portátil entre impressoras USB e paralelas.
Em alguns casos, pode ser necessário que um monitor de idiomas faça solicitações específicas do fornecedor a uma impressora para aproveitar os recursos especiais da impressora. Para fazer isso, use IOCTL_USBPRINT_VENDOR_SET_COMMAND e IOCTL_USBPRINT_VENDOR_GET_COMMAND. Observe, no entanto, que o uso dessas IOCTLs torna um monitor de idioma incompatível com o monitor de porta paralela.
Normalmente, os monitores de idioma não têm acesso a um identificador de dispositivo para a impressora que estão gerenciando. Ao invés disso, eles têm um nome de porta fornecido pelo monitor de porta que fica entre o monitor de idioma e o driver de barramento (Usbprint.sys neste caso). Consulte Interação do monitor de idioma e porta para obter mais informações. A falta de um identificador de dispositivo impede que os monitores de linguagem chamem diretamente IOCTLs do driver de barramento do dispositivo. Para superar essa limitação, o USBMON implementa a API GetPrinterDataFromPort , que permite que monitores de idioma emitam IOCTLs através de USBMON para USBPRINT.
A pilha de impressão USB partilha as seguintes APIs e IOCTL com a pilha de impressão paralela:
As seguintes IOCTLs são específicas para a pilha de impressão USB:
IOCTL_USBPRINT_VENDOR_GET_COMMAND
IOCTL_USBPRINT_VENDOR_SET_COMMAND
Observação
Usbprint.sys não fornece um mecanismo para obter descritores do dispositivo, nem para manipular diretamente os tubos USB.