Описание квалификатора со вкусом квалификатора
Вариант квалификатора — это флаг, описывающий дополнительные сведения о квалификаторе. Например, ограниченный вкус квалификатора указывает, что WMI не должен распространять связанный квалификатор на производные классы или экземпляры. Вы можете задать варианты с помощью MOF-кода или программно. Хотя вы можете описать различные эффекты с помощью вкусов, main целей флагов вкуса заключается в том, чтобы определить, как WMI распространяет квалификаторы через наследование.
WMI определяет несколько вариантов квалификатора, которые можно присоединить к любому квалификатору, независимо от его происхождения. Однако некоторые варианты подходят не для всех типов квалификатора. Например, вариант ToSubClass подходит только для квалификаторов, определенных для класса. Нельзя присоединить ToSubClass к квалификатору, используемому для описания экземпляра.
Вы можете использовать варианты для описания различных эффектов для квалификаторов. Например, flavor может указывать, можно ли локализовать квалификатор. Однако одной из main целей квалификатора является описание того, может ли родительский класс передавать квалификаторы в подкласс или экземпляр класса. Вы также можете использовать варианты, чтобы определить, передает ли свойство класса квалификатор в свойство экземпляра. Наконец, используйте варианты, чтобы указать, может ли подкласс переопределить исходное значение наследуемого квалификатора. Однако квалификаторы, объявленные для класса или экземпляра, не распространяются на свойства этого класса или экземпляра. Кроме того, варианты, устанавливающие разрешения на переопределение, действительны только в том случае, если также заданы варианты ToInstance или ToSubClass .
Вкус можно глобально назначить квалификатору для всего MOF-файла с помощью следующего синтаксиса, в котором пробел выступает в качестве разделителя при указании нескольких вариантов.
Qualifier QualifierName : flavor1 <flavor2...>;
Глобальные варианты применяются ко всем последующим использованию квалификатора в MOF-файле. Глобальные операторы flavor могут выполняться в любом месте файла за пределами блока объявления объекта. Варианты, переопределенные на уровне класса, экземпляра или свойства, переопределяют глобальные объявления вкуса для область этого объекта.
Вы не можете определить новый вкус. Хотя вы можете создать новый квалификатор, для описания нового квалификатора используйте только существующие варианты квалификатора .
Определение вариантов квалификатора в MOF
Объявите варианты, описывающие заданный квалификатор после имени квалификатора, в квадратных скобках квалификатора. Используйте пробелы в качестве разделителя между несколькими вкусами.
В следующем примере показан шаблон для присоединения предопределенных квалификаторов.
[qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
Добавлять квалификаторы можно программным способом только в C++. Эта операция недоступна в API скриптов для WMI, хотя можно добавить новый квалификатор, вызвав SWbemQualifierSet.Add.
Назначение вкуса с помощью C++
- Вызовите метод IWbemQualifierSet::P ut с параметром lFlavor, заданным для одной из констант, определенных для метода .