Стандартные квалификаторы

Все реализации, совместимые с CIM, должны обрабатывать стандартный набор квалификаторов. Любой конкретный объект не содержит всех квалификаторов в списке. Как правило, классы расширений предоставляют дополнительные квалификаторы для упрощения подготовки экземпляров классов и других операций с классом.

Поставщик отвечает за принудительное применение квалификаторов. WMI не применяет квалификаторы, но использует их только для информирования пользователя о том, как используется свойство.

Примечание

WMI соответствует спецификации CIM 2.5.

Квалификаторы имеют следующие ограничения:

  • Не все стандартные квалификаторы можно использовать вместе.
  • Не все квалификаторы можно применять ко всем конструкциям, таким как связь или ссылка. Эти ограничения определены в списке "Область применения".
  • Для конкретной конструкции, например ассоциации или ссылки, использование юридических квалификаторов может быть дополнительно ограничено, поскольку некоторые квалификаторы являются взаимоисключающими, использование одного квалификатора может подразумевать некоторые ограничения на значение другого и т. д. Эти правила использования описаны.
  • Юридические квалификаторы наследуются такими сущностями, как свойства, методы, экземпляры или подклассы, а не ассоциации или ссылки. Например, квалификатор MaxLen , который применяется к свойствам, не наследуется ссылками.

Ниже перечислены стандартные квалификаторы WMI.

Абстрактный

Тип данных: логическое значение

Область применения: классы, связи, признаки

Указывает, является ли класс абстрактным и служит только основой для новых классов. Значение по умолчанию — FALSE. Нельзя создавать экземпляры абстрактных классов. Отсутствие этого квалификатора указывает, что класс не является абстрактным; таким образом, этот квалификатор необходим для всех абстрактных классов.

Агрегат

Тип данных: логическое значение

Область применения: ссылки

Указывает, является ли ссылка родительским компонентом ассоциации агрегирования. Значение по умолчанию — FALSE.

Использование: квалификаторы агрегирования и агрегирования используются вместе агрегирование, а агрегат задает родительскую ссылку.

Агрегации

Тип данных: логическое значение

Область применения: связи

Указывает, является ли связь агрегатом. Значение по умолчанию — FALSE. Используется с агрегатом. Этот квалификатор необходим для всех связей агрегирования.

Псевдоним

Тип данных: строка

Область применения: свойства, ссылки, методы

Альтернативное имя свойства или метода в схеме. Значение по умолчанию — NULL.

ArrayType

Тип данных: строка

Область применения: свойства, параметры

Тип квалифицированного массива.

Допустимые значения:

  • контейнер (по умолчанию)
  • индексированные
  • упорядоченного

Использование: примените этот тип квалификатора только к свойствам и параметрам, которые являются массивами (определяется с помощью синтаксиса квадратных скобок).

Растрового изображения

Тип данных: строковый массив

Область применения: свойства, методы, параметры

Карта значительных битовых позиций, где каждая значимая позиция может быть включена или отключена. Каждый бит on сопоставляется с соответствующим значением в массиве BitValues . При наличии нескольких битов "on" указывается несколько параллельных значений в массиве BitValues . Значение по умолчанию — NULL.

Дополнительные сведения см. в разделе BitMap и BitValues.

BitValues

Тип данных: строковый массив

Область применения: свойства, методы, параметры

Преобразование битового значения позиции в связанную строку. Значение по умолчанию — NULL.

Дополнительные сведения см. в разделе BitMap и BitValues.

Конструктор

Тип данных: логическое значение

Область применения: методы

Указывает, создает ли метод экземпляры. Эти методы не ограничены действием для одного экземпляра или одного класса. Например, конструктор может создавать экземпляры ассоциации, а также экземпляры класса, определяющего конструктор.

Квалификатор конструктора предназначен только для сведений и не ожидается, что он действует диспетчером объектов. Диспетчер объектов не должен вызывать методы конструктора при создании объекта. Кроме того, при вызове конструктора диспетчер объектов не должен вызывать какие-либо методы конструктора, определенные для любого родительского класса исходного класса. Значение по умолчанию — FALSE.

CreateBy

Тип данных: строка

Область применения: классы

Имя метода, с помощью которого создаются экземпляры этого класса. Значением является "PutInstance" или имя другого метода, создающего экземпляры. Значение по умолчанию — NULL.

Использование: этот квалификатор можно использовать только в том случае, если имеется квалификатор SupportsCreate .

DeleteBy

Тип данных: строка

Область применения: классы

Имя метода, с помощью которого удаляются экземпляры этого класса. Значением является "DeleteInstance" или имя другого метода, удаляющего экземпляры. Значение по умолчанию — NULL.

Использование: этот квалификатор можно использовать только в том случае, если имеется квалификатор SupportsDelete .

Описание

Тип данных: строка

Применимо к: any

Описание именованного элемента. Значение по умолчанию — NULL.

Деструктор

Тип данных: логическое значение

Область применения: методы

Указывает, удаляет ли метод экземпляры. Методы, использующие квалификатор деструктора , удаляют экземпляры, к которым применяется деструктор, и не ограничиваются действием на одном экземпляре или классе. Например, деструктор может удалять экземпляры ассоциаций, а также экземпляры класса, определяющего деструктор.

Квалификатор деструктора предназначен только для информации и не ожидается, что он действует диспетчером объектов. Диспетчер объектов не обязан вызывать метод, имеющий квалификатор деструктора при удалении экземпляра. Кроме того, при вызове деструктора диспетчер объектов не должен вызывать методы деструктора, определенные для любого родительского класса исходного класса. Значение по умолчанию — FALSE.

Displayname

Тип данных: строка

Применимо к: any

Имя, отображаемое в пользовательском интерфейсе вместо фактического имени элемента. Значение по умолчанию — NULL.

EmbeddedInstance

Тип данных: строка

Применимо к: any

Элемент полного строкового типа содержит внедренный экземпляр. Значение квалификатора указывает имя класса CIM в том же пространстве имен, что и класс, владеющий квалифицированным элементом. Внедренный экземпляр является экземпляром указанного класса, включая экземпляры его подклассов. Значение по умолчанию — NULL.

Датчика

Тип данных: логическое значение

Применимо к: any

Указывает, представляет ли свойство неотрицательное целое число, которое может увеличиваться или уменьшаться, но никогда не превышает максимальное значение. Значение по умолчанию — FALSE.

Максимальное значение свойства не может быть больше 2^n – 1. N может иметь значение 8, 16, 32 или 64 в зависимости от типа данных свойства, к которому применяется этот квалификатор. Значение датчика имеет максимальное значение всякий раз, когда моделироваемая информация больше или равна максимальному значению. Если сведения, моделироваемые впоследствии, уменьшаются ниже максимального значения, датчик также уменьшается. Этот квалификатор применим только к свойствам с целочисленным типом данных без знака.

В

Тип данных: логическое значение

Область применения: параметры

Указывает, используется ли параметр для передачи значений методу. Значение по умолчанию — TRUE.

In, Out

Тип данных: логическое значение

Область применения: параметры

Указывает, является ли параметр входным и выходным.

Ключ

Тип данных: логическое значение

Область применения: свойства, ссылки

Указывает, является ли свойство частью дескриптора пространства имен. Если несколько свойств имеют квалификатор ключа , все эти свойства вместе образуют ключ (составной ключ). При объединяемом наборе свойств ключа необходимо указать уникальную ссылку для каждого экземпляра класса. Если этот квалификатор помещается в свойство, допускается только значение TRUE .

Ленивый

Область применения: свойства

Указывает, что свойство является ресурсоемким для возврата и требует много времени процессора и памяти. WMI повышает производительность запросов, не пытаясь вернуть свойства, помеченные квалификатором Lazy .

MappingStrings

Тип данных: строковый массив

Область применения: классы, свойства, связи, признаки, ссылки

Набор значений, указывающий путь к расположению, где можно найти дополнительные сведения о происхождении свойства, класса, связи, указания или ссылки. Строка сопоставления может быть путем к каталогу, URL-адресом, разделом реестра, файлом включения, ссылкой на класс CIM или другим форматом. Значение по умолчанию — NULL.

Макс

Тип данных: int

Область применения: ссылки

Максимальное количество значений данной ссылки может иметь для каждого набора других ссылочных значений в ассоциации. Значение по умолчанию — NULL. Например, если связь связывает экземпляры A с экземплярами B и должна быть не более одного экземпляра A для каждого экземпляра B, то ссылка на A должна иметь не более одного квалификатора.

MaxLen

Тип данных: int

Область применения: свойства, методы, параметры

Максимальная длина (в символах) элемента строковых данных и указывает на поддержку массивов фиксированной длины.

При обнаружении массива фиксированной длины квалификатор MaxLen содержит фиксированную длину, найденную во время синтаксического анализа. Если обнаружен массив переменной длины, этот квалификатор не используется. MaxLen используется для предложения максимального количества элементов, которые должны храниться в массиве. При переопределении значения по умолчанию можно указать любое целое число без знака (uint32). Значение NULL (по умолчанию) подразумевает неограниченную длину.

Maxvalue

Тип данных: int

Область применения: свойства, методы, параметры

Максимальное значение объекта. Значение по умолчанию — NULL.

Мин

Тип данных: int

Область применения: ссылки

Минимальная кратность ссылки (минимальное количество значений данной ссылки может иметь для каждого набора других ссылочных значений в ассоциации). Значение по умолчанию равно 0.

Например, если связь связывает экземпляры A с экземплярами B и должна быть по крайней мере один экземпляр A для каждого экземпляра B, то ссылка на A должна иметь как минимум один квалификатор.

Minvalue

Тип данных: int

Область применения: свойства, методы, параметры

Указывает минимальное значение объекта. Значение по умолчанию — NULL.

ModelCorrespondence

Тип данных: строковый массив

Область применения: свойства

Набор значений, указывающих на соответствие свойству объекта и другим свойствам в схеме CIM. Значение по умолчанию — NULL.

Свойства объекта идентифицируются с помощью следующего синтаксиса.

"_" "."

Нелокальные

Тип данных: строка

Область применения: ссылки

Расположение экземпляра, значение которого равно <namespacetype>://<namespacehandle> , по умолчанию — NULL.

Использование: этот квалификатор нельзя использовать с квалификатором NonlocalType .

NonlocalType

Тип данных: строка

Область применения: ссылки

Тип расположения экземпляра. Его значением является <namespacetype>. Значение по умолчанию — NULL.

Использование: этот квалификатор нельзя использовать с нелокальным квалификатором.

Nullvalue

Тип данных: строка

Область применения: свойства

Значение, указывающее, что связанное свойство имеет значение NULL (свойство не имеет допустимого или понятного значения). Значение по умолчанию — NULL.

Соглашения и ограничения, используемые для определения значений NULL , совпадают с теми, которые применяются к квалификатору ValueMap . Обратите внимание, что этот квалификатор нельзя переопределить. Невозможно разрешить подклассу возвращать значение NULL, отличное от значения NULL родительского класса.

Выход

Тип данных: логическое значение

Область применения: параметры

Указывает, возвращает ли параметр значения из метода. Значение по умолчанию — FALSE.

Переопределить

Тип данных: строка

Область применения: свойства, методы, ссылки

Родительский класс или подчиненная конструкция (свойство, метод или ссылка), переопределенная свойством, методом или ссылкой на то же имя в производном классе. Значение по умолчанию — NULL.

Формат будет следующим:

[<класс>.]<подчиненная конструкция>

Если имя класса опущено, переопределение применяется к подчиненной конструкции родительского класса в иерархии классов.

Использование: квалификатор переопределения может ссылаться на конструкции, основанные только на одной метамодели. Во время операции переопределения нельзя изменить имя или подпись конструкции.

OverrideValue

Область применения: классы

Указывает, переопределяет ли значение свойства в подклассе значение в родительском классе. Функциональное влияние заключается в том, что при выполнении запроса к родительскому классу и если предложение WHERE включает это свойство, родительский объект должен вернуть экземпляр с переопределенным значением. В результате Windows Management корректирует предложение WHERE запроса, отправленного в родительский класс, чтобы исключить ссылки на это свойство.

Распространяются

Тип данных: строка

Область применения: свойства

Имя распространяемого ключа. Значение по умолчанию — NULL.

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

[<класс>.]<подчиненная конструкция>

Использование: если используется квалификатор распространения , квалификатор ключа должен быть указан со значением TRUE.

Прочитать

Тип данных: логическое значение

Область применения: свойства

Указывает, доступно ли свойство для чтения. Значение по умолчанию — TRUE.

Обязательно

Тип данных: логическое значение

Область применения: свойства

Указывает, требуется ли для свойства значение, отличное от NULL. Значение по умолчанию — FALSE.

Revision

Тип данных: строка

Область применения: классы, связи, признаки, схемы

Дополнительный номер редакции объекта схемы. Значение по умолчанию — NULL.

Использование: квалификатор версии должен присутствовать, чтобы указать основной номер версии при использовании квалификатора редакции .

Схемы

Тип данных: строка

Область применения: свойства, методы

Имя схемы, в которой определен компонент. Значение по умолчанию — NULL.

Источник

Тип данных: строка

Область применения: классы, ассоциации, признаки, ссылки

Расположение экземпляра. Значение по умолчанию — NULL.

Значение квалификатора — <namespacetype>://<namespacehandle>.

Использование: квалификатор источника нельзя использовать с квалификатором SourceType .

Sourcetype

Тип данных: строка

Область применения: классы, ассоциации, признаки, ссылки

Тип расположения экземпляра. Значение этого квалификатора — <namespacetype>. Значение по умолчанию — NULL.

Использование: квалификатор SourceType нельзя использовать с квалификатором Source .

SupportsCreate

Тип данных: логическое значение

Область применения: классы

Указывает, поддерживает ли класс создание экземпляров. Значение по умолчанию — FALSE.

SupportsDelete

Тип данных: логическое значение

Область применения: классы

Указывает, поддерживает ли класс удаление экземпляров. Значение по умолчанию — FALSE.

SupportsUpdate

Тип данных: логическое значение

Область применения: классы

Указывает, поддерживает ли класс изменение (обновление) экземпляров. Значение по умолчанию — FALSE.

Терминал

Тип данных: логическое значение

Область применения: классы

Указывает, может ли класс иметь подклассы. Значение по умолчанию — FALSE.

Если подкласс объявлен, компилятор создает ошибку.

Использование: этот квалификатор не может сосуществовать с абстрактным квалификатором. Если указаны квалификаторы Terminal и Abstract , компилятор создает ошибку.

Единиц

Тип данных: строка

Область применения: свойства, методы, параметры

Тип единицы, в которой выражается связанный элемент данных. Значение по умолчанию — NULL.

Например, элемент данных размера может иметь значение "байт" для единиц.

ValueMap

Тип данных: строковый массив

Область применения: свойства, методы, параметры

Набор допустимых значений для свойства, типа возвращаемого значения метода или параметра метода. Значение по умолчанию — NULL.

Использование: этот квалификатор можно использовать отдельно или в сочетании с квалификатором значений . При использовании в сочетании с квалификатором значений расположение значения в массиве ValueMap предоставляет расположение соответствующей записи в массиве значений . Используйте квалификатор ValueMap только со строковыми и целыми значениями. Синтаксис для представления целочисленного значения в массиве карты значений — [+|=]digit[*digit]. Содержимое, максимальное число цифр и представленное значение ограничены типом связанного свойства. Например, uint8 не может быть подписан, должен быть меньше четырех цифр и должен представлять значение меньше 256.

Значения

Тип данных: строковый массив

Область применения: свойства, методы, параметры

Набор значений, превратив целочисленное значение в связанную строку. Значение по умолчанию — NULL.

Это свойство также указывает массив строковых значений, сопоставленных со свойством перечисления. Этот квалификатор можно применить к целочисленным или строковым свойствам, а сопоставление может быть неявным или явным. Если сопоставление неявно, целочисленные или строковые значения свойств представляют порядковые позиции в массиве значений . Если сопоставление явно, свойство должно быть целым числом, а допустимые значения свойств перечислены в массиве, определяемом квалификатором ValueMap . Дополнительные сведения см. в разделе "Карта значений".

Если квалификатор ValueMap отсутствует, массив значений индексируется (отсчитывается от нуля) с помощью значения в связанном свойстве, типе возврата метода или параметре метода. Если квалификатор ValueMap присутствует, индекс значений определяется расположением значения свойства на карте значений.

Версия

Тип данных: строка

Область применения: классы, схемы, связи, признаки

Основной номер версии объекта схемы. Значение по умолчанию — NULL. Номер версии увеличивается при внесении изменений в схему, которая изменяет интерфейс.

Слабым

Тип данных: логическое значение

Область применения: ссылки

Указывает, включают ли ключи указанного класса ключи других участников ассоциации. Значение по умолчанию — FALSE.

Этот квалификатор используется, когда удостоверение класса, на который указывает ссылка, зависит от удостоверения других участников ассоциации. Не более одной ссылки на любой заданный класс может быть слабым. Другие классы в ассоциации должны определять ключ. Ключи других классов в ассоциации повторяются в упоминаемом классе и помечены квалификатором Распространения .

Написать

Тип данных: логическое значение

Область применения: свойства

Указывает, что приложения или скрипты могут изменить значение свойства. Учетная запись, запускающая приложение, должна иметь доступ к пространству имен, содержа содержащее экземпляры класса. Реализация поставщика также может ограничить доступ к данным поставщика. Значение TRUE указывает, что свойство доступно для чтения и записи потребителями, которым разрешен доступ wMI и поставщиком. Значение по умолчанию — FALSE.

Свойство, которое не имеет квалификатора записи , по-прежнему может быть записываемым. Реализация поставщика может разрешить изменение любых свойств в классах поставщика, независимо от того, присутствует ли квалификатор записи .

WriteAtCreate

Тип данных: логическое значение

Область применения: свойства

Указывает, доступно ли свойство для записи при создании экземпляра. Этот квалификатор можно использовать совместно с квалификатором WriteAtCreate . Значение по умолчанию — FALSE.

WriteAtUpdate

Тип данных: логическое значение

Область применения: свойства

Указывает, доступно ли свойство для записи при обновлении экземпляра. Этот квалификатор можно использовать совместно с квалификатором WriteAtCreate . Значение по умолчанию — FALSE.

Примеры

Дополнительные сведения о получении квалификаторов см. в примере кода PowerShell Get-WmiClassMethodsAndWritableWmiProperties в коллекции TechNet.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008

См. также

Квалификаторы WMI

Добавление квалификатора