Поделиться через


Создание запроса схемы связи Bidi

При создании запроса схемы обмена данными в биди необходимо помнить три пункта:

  1. Запрос должен начинаться со Printer свойства, которое должно предшествовать символу обратной косой черты (\).

  2. Все свойства в запросе должны быть разделены символом периода (.).

  3. Если запрос содержит значение, значение должно быть разделено его родительским свойством двоеточием (:).

Пример запроса и ответа

Ниже приведены примеры формата XML-запроса и ответа, который требуется интерфейсам связи bidi и, в частности, интерфейсом COM IBidiSpl2. Первый пример — это запрос, содержащий две схемы. Первая схема определяет, установлен ли дуплексный блок. Вторая схема определяет значения, связанные с жестким диском.

<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>

Следующий пример — это набор типичных ответов из схем в первом примере. Первый ответ указывает на установку дуплексного блока. Остальные ответы указывают на то, что жесткий диск установлен и что его емкость составляет 20 МБ, из которых не используется 10 МБ.

<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>

Дополнительные примеры запросов

Ниже приведен список типичных задач и связанных запросов:

Определите, установлен ли дуплексный блок.

\Printer.Configuration.DuplexUnit:Installed

Определите, какие входные ячейки присутствуют.

\Printer.Layout.InputBins

Определите все сведения о входной ячейке Tray1.

\Printer.Layout.InputBins.Tray1

Определите, установлен ли входной контейнер Tray1.

\Printer.Layout.InputBins.Tray1:Installed

Определите уровень черного тонера, идентифицированного [Name] Blk3E.

\Printer.Consumables.Blk3E:Level

Определите уровень фузерного масла.

\Printer.Consumables.FuserOil:Level