构造双向通信架构查询

构造 bidi 通信架构查询时,需要记住三点:

  1. 查询必须以 Printer 属性开头,该属性前面必须有反斜杠字符 (\) 。

  2. 查询中的任何属性都必须用句点字符分隔 (.) 。

  3. 如果查询包含值,则必须用冒号 (:) 将值与其父属性分开。

示例请求和响应

下面是 bidi 通信接口(特别是 IBidiSpl2 COM 接口)所需的 XML 查询和响应格式的示例。 第一个示例是包含两个架构的请求。 第一个架构确定是否安装了双工单元。 第二个架构确定与硬盘关联的值。

<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 MB,其中 10 MB 未使用。

<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