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

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

Поправка

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

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

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

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

Bypass_GetObject

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

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

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

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

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

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

CIM_Key

Тип данных: CIM_BOOLEAN

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

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

CIMType

Тип данных: VT_BSTR

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

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

ClassContext

Тип данных: VT_BSTR

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

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

Устаревшие

Тип данных: CIM_BOOLEAN

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

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

Отображения

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

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

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

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

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

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

DynProps

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

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

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

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

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

Тип данных: CIM_BOOLEAN

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

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

ID

Тип данных: VT_I4

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

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

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

Реализованы

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

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

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

Instancecontext

Тип данных: VT_BSTR

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

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

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

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

Тип данных: VT_BSTR

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

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

NamespaceSecuritySDDL

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

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

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

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

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

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

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

Привилегии

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

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

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

PropertyContext

Тип данных: VT_BSTR

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

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

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

Поставщика

Тип данных: VT_BSTR

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

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

RequiresEncryption

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

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

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

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

Синглтон

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

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

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

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

Статический

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

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

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

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

Подтип

Тип данных: VT_BSTR

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

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

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

UUID

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

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

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

ClassVersion

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

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

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

WritePrivileges

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

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

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

Remarks

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

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

Язык Идентификатор языка (шестнадцатеричный)
Арабский 401
Португальский (Бразилия) 416
Китайский (упрощенное письмо) 804
Китайский (традиционное письмо) 404
Чешский 405
Датский 406
Нидерландский 413
Английский (по умолчанию) 409
Финский 40б
Французский 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'" является кругом; и выполняет реализацию ОбъектаDrawIt circle. Однако если вы используете квалификатор Bypass_GetObject в DrawIt, WMI не вызывает GetObject, не обнаруживает, что Shape.Name='MyCircle'" является кругом и выполняет реализацию Shape DrawIt вместо реализации " Круг " DrawIt.

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

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

Требования

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

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

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

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

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