Поделиться через


Предложение INDEX

Предложение INDEX указывает ключ для выбора уникальной строки в скалярной или табличной коллекции. Поставщик SNMP сопоставляется с другим типом класса CIM в зависимости от типа таблицы, используемой устройством SNMP. Так как ключ может быть нескольких типов объектов, поставщик использует различные правила сопоставления в зависимости от типа объекта в ключе. Дополнительные сведения см. в разделе Типы данных предложения INDEX.

Примечание

Дополнительные сведения об установке поставщика см. в разделе Настройка среды SNMP WMI.

 

Скалярная коллекция сопоставляется с одноэлементным классом CIM, то есть классом, который может иметь только один экземпляр. Так как нет необходимости однозначно идентифицировать один экземпляр из другого, одноэлементный класс не назначает одно или несколько свойств в качестве ключа. Классы, созданные из скалярных коллекций:

  • Не содержат квалификаторы свойств Key .
  • Содержат стандартный квалификатор класса CIM Singleton, который имеет тип Bool.

Коллекция таблиц сопоставляется с классом CIM, который может иметь несколько экземпляров. В результате определение класса CIM должно содержать по крайней мере одно свойство, определяющее ключ объекта; то есть свойство, однозначно определяющее экземпляр класса . Предложение INDEX макроса OBJECT-TYPE коллекции таблиц указывает набор ключевых свойств коллекции. Применяются следующие правила сопоставления:

  • Ключ квалификатора CIM типа Bool определяет свойство ключа.

  • Порядок сведений INDEX в коллекции таблиц определяет порядок ключей в определении класса CIM.

    Квалификатор CIM Key_Order определяет порядок ключей. Этот квалификатор представляет собой 32-разрядное целочисленное значение без знака, которое в целях синтаксиса квалификатора MOF должно быть преобразовано в 32-разрядное целочисленное значение со знаком с помощью операции двойного дополнения.

В настоящее время сопоставление предложения SNMPv2C INDEX не обрабатывает использование квалификатора IMPLIED . В этом случае определение класса CIM не создается.

Типы данных предложения INDEX

Из-за гибкости предложения INDEX в макросе OBJECT-TYPE спецификация ключевых свойств не является простой. Вместо этого следует рассмотреть возможность того, что предложение INDEX может содержать один или несколько из следующих типов данных:

  • Внутренне доступное значение indexobject

    Значение indexobject — это именованное значение, которое ссылается на определение объекта MIB, которое отображается в концептуальной строке той же таблицы, содержащей предложение INDEX. Определение объекта MIB, упоминаемое в предложении INDEX, сопоставляется со свойством ключа определения класса CIM.

  • Значение объекта indexobject , доступного извне

    В этом случае indexobject — это именованное значение, которое ссылается на определение объекта MIB, которое отображается в концептуальной строке другой таблицы.

  • Доступное значение индекса

    Значение indextype — это именованный тип, который ссылается на один из следующих типов данных: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddress или IpAddress. Если предложение INDEX содержит ссылку типа MIB, применяются следующие правила сопоставления:

    • Объект MIB, на который ссылается, сопоставляется со свойством ключа определения класса CIM. Синтаксис его типа основан на указанном значении indextype , которое сопоставляется с квалификаторами свойств CIM с помощью стандартных процедур сопоставления предложений SYNTAX .
    • Процесс сопоставления создает уникальное имя свойства путем объединения дескриптора табличного объекта MIB, символа подчеркивания (_) и порядка ранжирования значения indextype предложения INDEX. Например, имя свойства для типа индекса третьего компонента таблицы MIB enterpriseIfTableenterpriseIfTable_3.
    • Свойство CIM аннотировано квалификатором Virtual_Key . Этот квалификатор указывает, что поставщик SNMP должен вычислять значение свойства на основе надмножества сведений об экземпляре, связанных со всеми доступными определениями объектов MIB в определении класса.
    • Определение класса CIM должно содержать по крайней мере одно свойство, которое не имеет связанного Virtual_Key квалификатора; если не указать это свойство, определение класса является недействительным.
  • Подтип фиксированной длины

    Если предложение INDEX коллекции таблиц SNMP содержит поддерживаемый SNMP тип, который является подтипом строки OCTET фиксированной длины, для указания этого значения необходимо использовать квалификатор свойств CIM Fixed_Length .