Стандартные квалификаторы 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.
Тип данных: 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 |