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

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

Поправка

Тип данных: boolean

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

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

Связанный класс можно перевести. Чтобы получить доступ к переведенной версии, используйте идентификатор языкового стандарта для создания имени пространства имен.

Bypass_GetObject

Тип данных: boolean

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

Указывает, что вызов метода должен передаваться непосредственно в вызов ExecMethodAsync поставщика, а не поставщик, выполняющий вызов GetObject для проверки пути к объекту. Значение по умолчанию — FALSE. Использование Bypass_GetObject может значительно повысить производительность.

Перед использованием Bypass_GetObject убедитесь, что не предпринять ни следующих действий:

  • Наследуйте класс от класса .
  • Переопределите метод, имеющий квалификатор Bypass_GetObject .

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

CIM_Key

Тип данных: CIM_BOOLEAN

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

Указывает, что связанное свойство является ключевым свойством в CIM, но не является WMI.

CIMType

Тип данных: VT_BSTR

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

Содержит текст, описывающий тип свойства.

ClassContext

Тип данных: VT_BSTR

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

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

Устаревшие

Тип данных: CIM_BOOLEAN

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

Указывает, что свойство заменено другим свойством.

Отображения

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

UUID связанного класса.

Динамический

Тип данных: boolean

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

Указывает класс, экземпляры которого создаются динамически. Значение этого квалификатора должно иметь значение TRUE.

DynProps

Тип данных: boolean

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

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

Этот квалификатор необходимо указать для такого экземпляра. Допускается только значение TRUE .

Фиксированной

Тип данных: CIM_BOOLEAN

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

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

ID

Тип данных: VT_I4

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

Уникально идентифицирует и последовательно определяет параметр свойства или метода при автоматическом создании инструкций MOF.

Этот квалификатор необходим только для параметров метода. При создании параметров для метода конструкторы классов должны начинаться с id(0) для первого параметра и использовать каждое последующее целое число для каждого последующего параметра. Если квалификаторы идентификаторов непреднамеренно опущены, компилятор MOF автоматически создает квалификаторы идентификаторов .

Реализованы

Тип данных: boolean

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

Указывает, что метод имеет реализацию, предоставленную поставщиком.

Instancecontext

Тип данных: VT_BSTR

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

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

Значение передается поставщику свойств в качестве аргумента метода IWbemPropertyProvider::GetProperty .

Языкового стандарта

Тип данных: VT_BSTR

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

Указывает язык источника для класса или экземпляра. Дополнительные сведения о значениях языкового стандарта см. в разделе Коды языкового стандарта.

Пространство именБезопасностьSDDL

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

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

Задает дескриптор безопасности для пространства имен в формате SDDL . Дополнительные сведения см. в разделе Настройка безопасности пространства имен при создании пространства имен. Строка SDDL обрабатывается WMI для установления безопасности пространства имен, но не хранится в виде строки. Если дескриптор безопасности не указан, используется безопасность по умолчанию. Дополнительные сведения см. в разделе Настройка дескрипторов безопасности для платформы имен.

Дополнительные

Тип данных: boolean

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

Указывает, что параметр не является обязательным и имеет правильное значение по умолчанию.

Привилегии

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

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

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

PropertyContext

Тип данных: VT_BSTR

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

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

Этот квалификатор необходимо указать для такого свойства. Значение передается поставщику свойств в качестве аргумента для IWbemPropertyProvider::GetProperty.

Поставщика

Тип данных: VT_BSTR

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

Значение этого квалификатора — это имя динамического поставщика, который предоставляет экземпляры класса и обновляет данные экземпляров. Это имя должно быть зарегистрировано в WMI путем создания экземпляра класса __Win32Provider со свойством Name , содержащим это имя. Если этот квалификатор указан в классе, экземпляры которого предоставляются динамически, необходимо также указать динамический квалификатор .

RequiresEncryption

Тип данных: boolean

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

Если задано значение TRUE, Параметр RequiresEncryption помечает пространство имен, чтобы клиентские приложения и скрипты подключались с помощью зашифрованной проверки подлинности. Уровень проверки подлинности должен быть установлен в RPC_C_AUTHN_LEVEL_PKT_PRIVACY в C++. В скриптах или Visual Basic уровень проверки подлинности должен иметь значение WbemAuthenticationLevelPktPrivacy. Дополнительные сведения см. в разделе Настройка дескрипторов безопасности среды имен. Квалификатор используется в MOF с командой препроцессора пространства имен pragma.

Дополнительные сведения см. в разделах Настройка уровня безопасности процесса по умолчанию с помощью C++ или Настройка уровня безопасности процесса по умолчанию с помощью VBScript. Уровни проверки подлинности скриптов определяются в WbemAuthenticationLevelEnum.

Синглтон

Тип данных: boolean

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

Обозначает класс, который может иметь только один экземпляр и не содержит ключевых свойств.

Допускается только значение TRUE (по умолчанию).

Статический

Тип данных: boolean

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

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

Метод не может быть вызван из экземпляра .

Подтип

Тип данных: VT_BSTR

Применимо к: свойствам

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

Чтобы определить свойство как интервал, значение этого квалификатора должно быть "interval". Все остальные значения этого квалификатора зарезервированы для использования в будущем.

UUID

Тип данных: string

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

Универсальный уникальный идентификатор, применяемый к классу .

ClassVersion

Тип данных: string

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

Номер версии объекта класса. По умолчанию имеет значение NULL. Номер версии увеличивается при внесении изменений в класс .

WritePrivileges

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

Применимо к: свойствам

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

Комментарии

Коды языкового стандарта

Код языкового стандарта имеет вид "MS_<Three Digit Language ID>". Например, английский языковой стандарт MS_409. В следующей таблице перечислены идентификаторы языков.

Язык Идентификатор языка (шестнадцатеричный)
Арабский 401
Португальский (Бразилия) 416
Китайский (упрощенное письмо) 804
Китайский (традиционное письмо) 404
Чешский 405
Датский 406
Нидерландский 413
Английский (по умолчанию) 409
Финский 40b
Французский 40c
Немецкий 407
Греческий 408
Иврит 40d
Венгерский 40e
Итальянский 410
Японский 411
Корейский 412
Норвежский 414
Польский 415
Португальский (Португалия) 816
Русский 419
Испанский c0a
Шведский 41D
Турецкий 41f

Использование квалификатора Bypass_GetObject

Использование квалификатора Bypass_GetObject в методе может привести к путанице.

В следующем примере определяются классы Shape и Circle . Обратите внимание, что класс Circle является производным от класса Shape .

class Shape
{
   string Name;
   uint32 DrawIt();  // - draws an irregular geometric shape
};

class Circle : Shape
{
   uint32 DrawIt();  // - draws a circle
};

В следующем вызове ExecMethod для рисования круга используется объект Circle с именем MyCircle.

ExecMethod("Shape.Name='MyCircle'","DrawIt");

В предыдущем сценарии WMI вызывает GetObject; обнаруживает, что Shape.Name='MyCircle'" является кругом; и выполняет реализацию CircledrawIt. Однако если вы используете квалификатор Bypass_GetObject в DrawIt, WMI не вызывает GetObject, не обнаруживает, что "Shape.Name='MyCircle'" является кругом, и выполняет реализацию ФигурыDrawIt вместо реализации CircleDrawIt.

Следующий вызов ExecMethod всегда вызывает правильную реализацию DrawIt.

ExecMethod("Circle.Name='MyCircle'","DrawIt");

Требования

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

См. также раздел

Настройка дескрипторов безопасности в среде имен

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

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