Compartilhar via


Construindo uma consulta de esquema de comunicação Bidi

Há três pontos a serem lembrados quando você constrói uma consulta de esquema de comunicações bidi:

  1. A consulta deve começar com a Printer propriedade , que deve ser precedida por um caractere de barra invertida (\).

  2. Todas as propriedades na consulta devem ser separadas por um caractere de ponto (.).

  3. Se a consulta incluir um valor, o valor deverá ser separado de sua propriedade pai por dois-pontos (:).

Exemplo de solicitação e resposta

Veja a seguir exemplos do formato de consulta e resposta XML exigido pelas interfaces de comunicação bidi e especificamente pela interface COM IBidiSpl2. O primeiro exemplo é uma solicitação que contém dois esquemas. O primeiro esquema determina se uma unidade duplex está instalada. O segundo esquema determina os valores associados ao disco rígido.

<bidi:Get xmlns:bidi="https://schemas.microsoft.com/windows/2005/03/printing/bidi">
  <Query schema="\Printer.Configuration.DuplexUnit:Installed"/>
  <Query schema="\Printer.Configuration.HardDisk"/>
</bidi:Get>

O exemplo a seguir é um conjunto de respostas típicas dos esquemas no primeiro exemplo. A primeira resposta indica que a unidade duplex está instalada. As respostas restantes indicam que um disco rígido está instalado e que sua capacidade é de 20 MB, dos quais há 10 MB não utilizados.

<bidi:Get xmlns:bidi="https://schemas.microsoft.com/windows/2005/03/printing/bidi">
  <Query schema="\Printer.Configuration.DuplexUnit:Installed">
    <Schema name="\Printer.Configuration.DuplexUnit:Installed">
      <BIDI_BOOL>true</BIDI_BOOL>
    </Schema>
  </Query>
  <Query schema="\Printer.Configuration.HardDisk">
    <Schema name="\Printer.Configuration.HardDisk:Installed">
      <BIDI_BOOL>true</BIDI_BOOL>
    </Schema>
    <Schema name="\Printer.Configuration.HardDisk:Capacity">
      <BIDI_INT>20</BIDI_INT>
    </Schema>
    <Schema name="\Printer.Configuration.HardDisk:FreeSpace">
      <BIDI_INT>10</BIDI_INT>
    </Schema>
  </Query>
</bidi:Get>

Exemplos de consulta adicionais

Veja a seguir uma lista de tarefas típicas e consultas associadas:

Determine se uma unidade duplex está instalada.

\Printer.Configuration.DuplexUnit:Installed

Determine quais compartimentos de entrada estão presentes.

\Printer.Layout.InputBins

Determine todas as informações sobre o compartimento de entrada Tray1.

\Printer.Layout.InputBins.Tray1

Determine se o compartimento de entrada Tray1 está instalado.

\Printer.Layout.InputBins.Tray1:Installed

Determine o nível de toner preto identificado por [Nome] Blk3E.

\Printer.Consumables.Blk3E:Level

Determinar o nível de óleo de fundidor.

\Printer.Consumables.FuserOil:Level