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:
A consulta deve começar com a
Printer
propriedade , que deve ser precedida por um caractere de barra invertida (\
).Todas as propriedades na consulta devem ser separadas por um caractere de ponto (
.
).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