Monitores de idioma

Monitores de idioma são DLLs no modo de usuário que atendem a duas finalidades:

  • Eles fornecem um caminho de comunicação duplex completo entre o spooler de impressão e impressoras bidirecionais que são capazes de fornecer informações de status acessíveis ao software.

  • Eles adicionam informações de controle de impressora, como comandos definidos por um idioma de trabalho de impressora, ao fluxo de dados.

A Microsoft fornece um monitor de idioma, Pjlmon.dll, que dá suporte a PJL (linguagem de trabalho de impressora) e fornece comunicação bidirecional para impressoras PJL. Para obter mais informações, consulte Monitor de idioma de exemplo.

Monitores de idioma personalizados podem ser gravados para dar suporte a outras linguagens de controle de trabalho, para impressoras unidirecionais ou bidirecionais.

Monitores de idioma são opcionais e associados apenas a um tipo de impressora específico se incluídos no arquivo INF da impressora, conforme descrito em Instalando um monitor de impressão.

Se você desmarcara caixa Habilitar suporte bidirecional marcar na guia Portas da caixa de diálogo propriedades da impressora, o spooler não chamará as funções StartDocPort, WritePort, EndDocPort, GetPrinterDataFromPort, ReadPort do monitor de idioma.

O spooler continuará a chamar as funções OpenPortEx, ClosePort, SendRecvBidiDataFromPort mesmo quando Habilitar suporte bidirecional estiver limpo. A caixa Habilitar suporte bidirecional marcar não afeta as chamadas para o monitor de idioma que são feitas quando um aplicativo chama funções na API de comunicação bidirecional.

Se um monitor de idioma estiver associado a uma impressora, o monitor de idioma receberá o fluxo de dados da impressora do processador de impressão, o modificará e o passará para o monitor de porta da impressora. Para obter mais informações, consulte Interação de monitor de porta e linguagem.

Observação

Os monitores de linguagem sempre devem implementar a função SendRecvBidiDataFromPort e incluir o endereço da função no membro pfnSendRecvBidiDataFromPort da estrutura MONITOR2 .

Caso o monitor de idioma não dê suporte a bidi ou a solicitação contenha valores de esquema bidi aos quais o monitor de idioma não dá suporte, o monitor de idioma deverá encaminhar as chamadas para a função SendRecvBidiDataFromPort do monitor de porta.