Partilhar via


Personalizando os monitores de porta da impressora

Você pode definir novos esquemas para dispositivos de impressão que tenham recursos acima e além do esquema padrão de comunicações bidi personalizando os monitores de porta padrão TCP/IP ou Web Services for Devices (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. Este 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. Tais esquemas devem aderir à estrutura dos arquivos Tcpbidi.xsd ou WsdBidi.xsd fornecidos com o WDK.

Observação Se o esquema de comunicações bidi atender aos seus requisitos, você não precisa criar um arquivo de extensão bidi e, portanto, não tem necessidade de 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 suportado com consultas adicionais. Qualquer outro cliente que enumere um esquema suportado para uma porta específica obtém consultas adicionais, mas geralmente não consegue compreendê-las.

  2. Você planeja incluir consultas do esquema de impressão padrão que não são suportadas nos monitores de porta TCP/IP ou WSD padrão porque as consultas precisam de informações específicas do driver. Neste caso, deves 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 aqueles na base de informações de gerenciamento (MIB) da impressora.

  3. Você pretende personalizar a maneira como as consultas padrão funcionam, como definindo um identificador de objeto personalizado (OID) ou alterando o intervalo de atualização. Por exemplo, o monitor de porta TCP/IP padrão sonda dispositivos que não suportam Eventos de Serviços Web num 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 uma construção Value associada 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 de comunicação bidi no esquema de impressão padrão não poderá responder a consultas que exijam dados específicos do driver (como dados relacionados a compartimentos de entrada e saída).

Observação Os compartimentos de roteamento de rede no Windows Vista permitem que processos confiáveis se conectem a diferentes interfaces de rede (virtuais ou físicas), 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 assume a identidade do utilizador 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 é XML bem formado que deve ser válido de acordo com os arquivos Tcpbidi.xsd ou WsdBidi.xsd fornecidos com o Microsoft Windows Driver Kit (WDK). As construções definidas nesses arquivos .xsd permitem que você defina novos esquemas.

A seguir está 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 para Bidi Data Types

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

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