Предложение INDEX
Предложение INDEX указывает ключ для выбора уникальной строки в скалярной или табличной коллекции. Поставщик SNMP сопоставляется с другим типом класса CIM в зависимости от типа таблицы, используемой устройством SNMP. Так как ключ может быть несколькими типами объектов, поставщик использует разные правила сопоставления в зависимости от типа объекта в ключе. Дополнительные сведения см. в типах данных предложения INDEX.
Заметка
Дополнительные сведения об установке поставщика см. в настройке среды WMI SNMP.
Скалярная коллекция сопоставляется с одноэлементным классом CIM: то есть классом, который может иметь только один экземпляр. Так как нет необходимости однозначно определять один экземпляр из другого, одинтонный класс не назначает один или несколько свойств в качестве ключа. Классы, созданные из скалярных коллекций:
- Не содержат квалификаторы свойств Key.
- Содержит квалификатор класса CIM стандарта Singleton, который имеет тип bool.
Коллекция таблиц сопоставляется с классом CIM, который может иметь несколько экземпляров. В результате определение класса CIM должно содержать по крайней мере одно свойство, определяющее ключ объекта; т. е. свойство, однозначно определяющее экземпляр класса. Предложение INDEX коллекции таблиц object-TYPE указывает набор свойств ключа коллекции. Применяются следующие правила сопоставления:
Квалификатор CIM Key, тип boolопределяет свойство ключа.
Порядок сведений INDEX в коллекции таблиц определяет порядок ключей в определении класса CIM.
Квалификатор CIM Key_Order определяет порядок ключей. Этот квалификатор является 32-разрядным целочисленным значением без знака, которое в целях синтаксиса квалификатора MOF должно быть преобразовано в 32-разрядное целое число со знаком с помощью операции с двумя дополнениями.
В настоящее время сопоставление предложения SNMPv2C INDEX не обрабатывает использование квалификатора IMPLIED. Определение класса CIM не создается в этом случае.
Типы данных предложения INDEX
Из-за гибкости предложения INDEX в макросе OBJECT-TYPE спецификация ключевых свойств не является простой. Вместо этого следует учитывать возможности, которые предложение INDEX может содержать один или несколько следующих типов данных:
Значение indexobject
Значение индекса — это именованное значение, которое ссылается на определение объекта MIB, отображаемое в концептуальной строке той же таблицы, содержащей предложение INDEX. Определение объекта MIB, указанное в предложении INDEX, сопоставляется с ключевым свойством определения класса CIM.
Значение indexobject с внешним доступом
В этом случае indexobject — это именованное значение, которое ссылается на определение объекта MIB, отображаемое в концептуальной строке другой таблицы.
Доступное значение индекса
значение индекса — это именованный тип, который ссылается на один из следующих типов данных: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddressили IpAddress. Если предложение INDEX содержит ссылку на тип MIB, применяются следующие правила сопоставления:
- Объект MIB, ссылающийся на сопоставление с ключевым свойством определения класса CIM. Синтаксис типа основан на указанном значении индекса, который сопоставляется с квалификаторами свойств CIM с помощью стандартного предложения СИНТАКСИСа процедур сопоставления.
- Процесс сопоставления создает уникальное имя свойства, объединяя дескриптор объекта таблицы MIB, символ подчеркивания (_), а также порядок ранжирования предложения INDEX тип индекса значение. Например, имя свойства для третьего компонента индексатора таблицы MIB enterpriseIfTableenterpriseIfTable_3.
- Свойство CIM аннотировано с помощью квалификатора Virtual_Key. Этот квалификатор указывает, что поставщик SNMP должен вычислять значение свойства на основе супермножества сведений об экземпляре, связанных со всеми определениями объектов MIB в определении класса.
- Определение класса CIM должно содержать по крайней мере одно свойство, которое не имеет связанного квалификатора Virtual_Key; Не указать это свойство недействительно определяет определение класса.
Подтип фиксированной длины
Если предложение INDEX коллекции таблиц SNMP содержит поддерживаемый SNMP тип, который является подтипом в виде фиксированной длины OCTET STRING, квалификатор свойств CIM Fixed_Length необходимо использовать для указания этого значения.