共用方式為


INDEX 子句

INDEX 子句會指定要在純量或數據表集合中選取唯一數據列的索引鍵。 SNMP 提供者會根據SNMP裝置所使用的數據表類型,對應至不同類型的 CIM 類別。 因為索引鍵可以是一種以上的物件類型,提供者會根據索引鍵內的物件類型,使用不同的對應規則。 如需詳細資訊,請參閱 INDEX 子句數據類型。

注意

如需安裝提供者的詳細資訊,請參閱 設定 WMI SNMP 環境

 

純量集合會對應至 CIM 單一類別:也就是只能有一個實例的類別。 因為不需要從另一個實例唯一識別一個實例,單一類別不會將一或多個屬性指定為索引鍵。 從純量集合產生的類別:

  • 不包含 金鑰 屬性限定符。
  • 請包含標準 CIM 類別限定符 Singleton,其 類型為 bool類型。

數據表集合對應至可以有多個實例的 CIM 類別。 因此,CIM 類別定義必須包含至少一個定義物件索引鍵的屬性;也就是說,可唯一識別 類別實例的屬性。 數據表集合 OBJECT-TYPE 巨集的 INDEX 子句會指定集合的索引鍵屬性集。 適用下列對應規則:

  • CIM 限定符 Key類型 Bool定義索引鍵屬性。

  • 數據表集合中 INDEX 資訊的排序會定義 CIM 類別定義中索引鍵的順序。

    CIM 限定符 Key_Order 會定義索引鍵的順序。 這個限定符是一個不帶正負號的 32 位整數值,基於 MOF 限定符語法的目的,必須使用雙補碼運算轉換成帶正負號的 32 位整數值。

目前,SNMPv2C INDEX 子句的對應不會處理使用 IMPLIED 限定符。 在此情況下,不會產生 CIM 類別定義。

INDEX 子句數據類型

由於 OBJECT-TYPE 巨集中 INDEX 子句的彈性,因此索引鍵屬性的規格並不簡單。 相反地,您應該考慮 INDEX 子句可能包含下列一或多個資料類型的可能性:

  • 可內部存取的 indexobject

    indexobject 值是一個具名值,這個值是指出現在包含 INDEX 子句之相同數據表的概念數據列中的 MIB 物件定義。 INDEX 子句中參考的 MIB 物件定義會對應至 CIM 類別定義的索引鍵屬性。

  • 外部可存取 indexobject

    在此情況下,indexobject 是一個具名值,這個值是指出現在不同數據表概念數據列中的 MIB 物件定義。

  • 可存取 indextype

    indextype 值是參考下列其中一個數據類型的具名類型:INTEGEROCTET STRINGOBJECT IDENTIFIERNetworkAddressIpAddress。 如果 INDEX 子句包含 MIB 類型參考,則適用下列對應規則:

    • 參考的 MIB 物件會對應至 CIM 類別定義的索引鍵屬性。 其類型語法是以指定的 indextype 值為基礎,其會使用標準 SYNTAX 子句 對應至 CIM 屬性限定符。
    • 對應程式會串連MIB數據表物件描述元、底線 (_) 和INDEX子句的排名順序,indextype 值,以產生唯一的屬性名稱。 例如,enterpriseIfTable 之 MIB 資料表的第三個元件屬性名稱 indextypeenterpriseIfTable_3
    • CIM 屬性會以 Virtual_Key 限定符標註。 此限定元指定 SNMP 提供者應該根據類別定義中所有可存取 MIB 物件定義相關聯的實例資訊超集來計算 屬性的值。
    • CIM 類別定義必須至少包含一個沒有相關聯 Virtual_Key 限定符的屬性;無法指定這個屬性會使類別定義失效。
  • 固定長度子類型

    當 SNMP 資料表集合的 INDEX 子句包含 SNMP 支援的型別為固定長度 OCTET STRING 時,必須使用 CIM 屬性限定符 Fixed_Length 來指定此值。