共用方式為


INDEX 子句

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

注意

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

 

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

  • 不包含 Key 屬性限定詞。
  • 請包含標準 CIM 類別限定詞 Singleton,其類型為 Bool

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

  • CIM 限定詞 金鑰類型 Bool會定義索引鍵屬性。

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

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

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

INDEX 子句資料類型

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

  • 可存取內部 存取的 indexobject

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

  • 外部可存取 的 indexobject

    在此情況下, indexobject 是一個具名值,會參考出現在不同資料表概念資料列中的 MIB 物件定義。

  • 可存取 的索引類型

    indextype值是參考下列其中一種資料類型的具名類型:INTEGEROCTET STRINGOBJECT IDENTIFIERNetworkAddress 或 IpAddress 如果 INDEX 子句包含 MIB 類型參考,則適用下列對應規則:

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

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