共用方式為


TCP/IP 索引屬性和裝置索引

索引屬性可讓數值索引附加至架構屬性名稱,藉此讓多個相關屬性共用相同的名稱,但每個屬性都有數值索引來識別個別屬性。 索引值必須是正整數,但其大小沒有上限。 架構查詢會決定應該與特定專案相關聯的索引值。 此機制可讓您存取 MIB 資料表中的資料。

IndexedProperty 建構會定義索引屬性。 下列限制適用于此建構。

  • IndexedProperty 建構不能是 Property 建構的父代。 NonIndexedProperty 建構是在 IndexedProperty 建構下定義沒有索引的屬性。

  • IndexedProperty 建構和 NonIndexedProperty 建構都不能是 Installed 建構的父代。

查詢也可以涉及另一個索引:裝置索引。 支援 SNMP 的網路裝置可以是各種子裝置的主機,包括印表機。 網路印表機中的 MIB 資料表具有根據裝置類型編制索引的專案, (裝置索引) 。 為了讓查詢從 MIB 資料表擷取資料,查詢必須有正確的裝置索引。 標準 TCP/IP 埠監視器可讓埠設定 UI 設定裝置索引。 deviceIndex設定為TRUE的 bidi 延伸模組, (請參閱ValueInstalled建構) 導致 OID 與裝置索引串連至原始 OID。 索引屬性的索引會串連到裝置索引之後的 OID,如果使用的話。

程式碼範例

下列程式碼範例會將 Display 屬性新增至 Printer 屬性,以擴充 TCP/IP bidi 通訊架構。 此外, Display 屬性具有索引屬性 Row,且 deviceIndex 設定為 TRUE。 這裡顯示的架構會產生查詢,以從印表機顯示的特定資料列擷取文字。

<Property name="Printer">
  <Property name="Display">
    <IndexedProperty name="Row">
      <Value name="Text" type="BIDI_TEXT" 
             oid="1.3.6.1.2.1.43.16.5.1.2" deviceIndex="true"/>
    </IndexedProperty>
  </Property>
</Property>

上述範例會產生下列查詢:

\Printer.Display.Row1:Text

從這個範例產生的 OID 開始與Value屬性中的oid屬性相同,但已附加兩個索引。 範例中附加的索引是由 deviceIndex 屬性設定為 TRUERow 為索引屬性所產生。 假設埠組態 UI 將裝置索引定義為 111,而且印表機顯示器第 1 列的文字是感興趣的,產生的 OID 會是 1.3.6.1.2.1.43.16.5.1.1.1.2.111.1。 這個 OID 與原始的相同,但裝置索引 (111) 和屬性索引 (結尾為 1) 。 如果 deviceIndex 已設定為 FALSE 或已省略,則產生的 OID 會是 1.3.6.1.2.1.43.16.5.1.2.1。 若要顯示第 n 列的文字,請使用 n的屬性索引。