Converter (TCP/IP)
TCP/IP Converter コンストラクトを使用すると、特定の MIB (SNMP 管理情報ベース) オブジェクトからデータを取得するクエリを使用して bidi 通信スキーマを拡張し、Conversion 要素で指定された値ペアのリストに基づく文字列値にデータを変換できます。 Converter コンストラクトは、Tcpbidi.xsd で定義されています。
属性 | 説明 |
---|---|
deviceIndex | (省略可能) TRUE の場合、ブール値は、関連するアルゴリズムが指定された OID にデバイス インデックスを含まなければならないことを意味します。この属性が FALSE の場合、OID の末尾に 0 が付加されます。 既定値は FALSE です。 詳細については、この表の下にある注意書きを参照してください。 |
drvPrinterEvent | (オプション)ポートモニターがドライバに通知を送信するかどうかを示すブール値。 TRUE 値は、ポート モニターがドライバーに通知を送信することを示します。 FALSE は、ポート モニターがドライバーに通知を送信しないことを示します。 |
name | プロパティの名前を表す文字列値。 |
oid | MIB オブジェクトのアドレスをオブジェクト ID (OID) として表す文字列値。 |
refreshInterval | (省略可能) ポーリング間隔の整数値 (秒単位)。 既定値は 600 秒です。 |
useFirstIndex | (省略可能) MIB テーブルの最初のエントリを読み取るために設定できるブール値。 この属性は、Converter コンストラクトが Property インスタンス内にある場合にのみ使用されます。 |
Note
SNMP プロトコルをサポートするネットワーク デバイスは、プロセッサー、ネットワーク、プリンター、ディスク ストレージなど、さまざまなサブデバイスのホストになることができます。 ネットワーク プリンターに実装されている MIB テーブルには、デバイス インデックスでインデックスされたエントリーがあります。 MIB テーブルからデータ (入力ビンの名前など) を取得するには、クエリにサブデバイスを正しく識別するデバイス インデックスが必要です。 標準TCP/IPポート・モニターでは、ポート設定UIを通じてデバイス・インデックスを手動で設定することができる。 deviceIndex 属性が TRUE に設定されている bidi 拡張は、ポート構成 UI から得た適切なデバイス インデックスを持つ OID を生成します。 さらに、Converter コンストラクトが Property インスタンスに含まれていて、deviceIndex 属性が存在しないか、FALSE に設定されている場合、OID の末尾にゼロ インデックスが付加されます。
変換ルーチンでは、次の MIB データ型がサポートされています。
INTEGER
Integer32
Gauge32
Counter32
TimeTicks
Unsigned32
Counter64
非透過的
OCTET STRING
OBJECT IDENTIFIER
Conversion 要素
各 Converter コンストラクトには、MIB 要素から Bidi スキーマ値に読み取られた値のマッピングを定義する 1 つ以上の Conversion 要素が含まれます。
属性 | 説明 |
---|---|
mibValue | (省略可能) MIB から読み取ることができる 1 つの可能なデータ値を表す文字列値。 |
bidiValue | (省略可能) データがこの Conversion 要素の mibValue 属性と一致する場合に返される bidi 値を表す文字列値。 |
コードの例
次のコード例では、新しいプロパティと Converter コンストラクトを追加することで、bidi 通信スキーマを拡張します。
<Property name="Printer">
<Property name="Layout">
<Property name="InputBins">
<IndexedProperty name="Bin">
<Converter name="BinType" oid="1.3.6.1.2.1.43.8.2.1.2" deviceIndex="true">
<Conversion mibValue="2" bidiValue="Unknown"/>
<Conversion mibValue="3" bidiValue="SheetFeedAutoRemovableTray"/>
<Conversion mibValue="4" bidiValue="SheetFeedAutoNonRemovableTray"/>
<Conversion mibValue="5" bidiValue="SheetFeedManual"/>
<Conversion mibValue="6" bidiValue="ContinuousRoll"/>
<Conversion mibValue="7" bidiValue="ContinuousFanFold"/>
</Converter>
</IndexedProperty>
</Property>
<Property name="Orientation">
<Converter name="CurrentValue" oid="1.3.6.1.2.1.43.15.1.1.7" deviceIndex="true" useFirstIndex="true">
<Conversion mibValue="3" bidiValue="Portrait"/>
<Conversion mibValue="4" bidiValue="Landscape"/>
</Converter>
</Property>
</Property>
<Property name="Custom">
<Property name="HostResourceMIB">
<Converter name="InterfaceName" oid="1.3.6.1.2.1.2.1">
<Conversion mibValue="1" bidiValue="InterfaceOne"/>
<Conversion mibValue="2" bidiValue="InterfaceTwo"/>
</Converter>
</Property>
</Property
</Property>
上記の例では、次のようなクエリになります。
\Printer.Layout.InputBins.Bin###:BinType
\Printer.Layout.Orientation:CurrentValue
\Printer.Custom.HostResourceMIB:InterfaceName
BinType
の Converter コンストラクトは、IndexedProperty インスタンスに含まれており、その結果、現在の MIB テーブル行エントリは OID に自動的に付加されます。
CurrentValue
の Converter コンストラクトは Property インスタンスに含まれており、useFirstIndex 属性が "true" に設定されているため、末尾の "1" が OID に自動的に付加されます。
InterfaceName
の Converter コンストラクトは Property インスタンスに含まれているため、末尾の 0 が OID に自動的に付加されます。