Compartilhar via


Personalizando os Monitores de Porta da Impressora

Você pode definir novos esquemas para dispositivos de impressão que têm funcionalidades acima e além do esquema de comunicações bidi padrão personalizando os monitores de porta padrão TCP/IP ou Serviços Web para Dispositivos (WSD) fornecidos com o Windows Vista. Você deve criar um arquivo de extensão bidi, um arquivo XML que define novos esquemas específicos para esse driver. Esse arquivo de extensão é instalado quando o driver é instalado. Quando o monitor de porta TCP/IP ou WSD identifica esse arquivo de extensão, o monitor carrega o arquivo e pode usar os esquemas bidi adicionais.

Os esquemas em um arquivo de extensão bidi são um subconjunto do esquema de impressão padrão. Esses esquemas devem aderir à estrutura dos arquivos Tcpbidi.xsd ou WsdBidi.xsd fornecidos com o WDK.

Nota Se o esquema de comunicações bidi atender aos seus requisitos, você não precisará criar um arquivo de extensão bidi e, portanto, não precisará personalizar os monitores de porta de impressão.

Você deve criar um arquivo de extensão bidi e associá-lo a um driver de impressora se qualquer uma das seguintes condições se aplicar:

  1. O driver da impressora precisa de informações da impressora que não podem ser encontradas no esquema de impressão padrão. Para obter essas informações, você deve estender o esquema com suporte com consultas adicionais. Qualquer outro cliente que enumera um esquema com suporte para uma porta específica obtém consultas adicionais, mas geralmente não pode entendê-las.

  2. Você planeja incluir consultas do esquema de impressão padrão que não têm suporte nos monitores de porta TCP/IP ou WSD padrão porque as consultas precisam de informações específicas do driver. Nesse caso, você deve estender o esquema de impressão. Normalmente, você deve estender as partes do esquema de impressão relacionadas a compartimentos de entrada e saída para mídia de impressão. Você também deve fornecer um mapeamento entre os nomes dos compartimentos definidos no esquema bidi e os da MIB (base de informações de gerenciamento) da impressora.

  3. Você pretende personalizar a maneira como as consultas padrão funcionam, como definindo um OID (identificador de objeto personalizado) ou alterando o intervalo de atualização. Por exemplo, o monitor de porta TCP/IP padrão sonda dispositivos que não dão suporte a Eventos de Serviços Web em um intervalo padrão de 600 segundos (10 minutos). Você pode alterar o intervalo de sondagem criando uma extensão bidi que define o atributo refreshInterval em um constructo Value associado ao dispositivo. (Consulte a Memory propriedade no exemplo de código a seguir.)

Se o driver não tiver nenhum arquivo de extensão bidi associado, o suporte à comunicação bidi no esquema de impressão padrão não poderá responder a consultas que exigem dados específicos do driver (como dados relacionados a compartimentos de entrada e saída).

Nota Os compartimentos de roteamento de rede no Windows Vista permitem que processos bem confiáveis se conectem a diferentes adaptadores de rede (sejam virtuais ou físicos), mantendo as várias interfaces isoladas umas das outras. Por exemplo, o Windows Vista usa esses compartimentos para impor políticas de VPN que não permitem acesso simultâneo à VPN e à rede local e à Internet de um usuário. Durante a impressão, o spooler representa o usuário ao abrir uma porta de impressora TCP. Consequentemente, o spooler não pode imprimir em uma impressora de rede local enquanto um usuário está conectado a uma VPN.

Estrutura de um arquivo de extensão Bidi

Um arquivo de extensão bidi é um XML bem formado que deve ser válido de acordo com os arquivos Tcpbidi.xsd ou WsdBidi.xsd fornecidos com o WDK (Microsoft Windows Driver Kit). Constructos definidos nesses arquivos .xsd permitem que você defina novos esquemas.

Veja a seguir um exemplo incompleto de um arquivo de extensão bidi TCP/IP que mostra sua estrutura básica. A estrutura de um arquivo de extensão bidi WSD é semelhante.

<?xml version="1.0" encoding="US-ASCII"?>
<bidi:Schema xmlns:bidi="https://schemas.microsoft.com/windows/2005/03/printing/bidi">
  <Schema>
    <Property name="Printer">
      <Property name="Configuration">
        <Property name= "Memory">
          <Value name="Size" type="BIDI_INT" oid="1.3.6.1.2.1.25.2.2" refreshInterval="600" drvPrinterEvent="true" />
          .
          .
          .
        </Property>
      </Property>
    </Property>
  </Schema>
</bidi:Schema>

No exemplo de código anterior, observe que:

  • O elemento Root contém exatamente um elemento Schema. A hierarquia do esquema começa com o elemento Schema.

  • O elemento Schema tem elementos Property como nós e elementos Value como folhas.

  • Cada elemento Value define uma técnica específica pela qual os dados podem ser recuperados.

Conversão de WinSNMP em tipos de dados Bidi

A correspondência entre tipos SNMP (Simple Network Management Protocol) e tipos bidi é fornecida no tópico BIDI_TYPE enumeração.

O restante desta seção contém os tópicos a seguir para ajudá-lo a criar suas próprias extensões de esquema bidi.

Extensões de esquema TCP/IP

Extensões de esquema WSD