Поделиться через


Квалификаторы 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

Применимо к: экземпляры

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

ИДЕНТИФИКАТОР

Тип данных: VT_I4

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

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

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

Реализовано

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

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

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

InstanceContext

Тип данных: VT_BSTR

Применимо к: экземпляры

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

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

локали

Тип данных: VT_BSTR

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

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

NamespaceSecuritySDDL

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

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

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

Необязательный

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

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

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

Привилегии

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

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

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

PropertyContext

Тип данных: VT_BSTR

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

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

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

поставщика

Тип данных: VT_BSTR

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

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

ТребуетсяEncryption

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

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

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

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

Одиночка

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

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

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

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

Статический

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

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

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

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

Подтип

Тип данных: VT_BSTR

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

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

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

UUID

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

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

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

ClassVersion

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

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

Номер версии объекта класса. Значение по умолчанию — 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' является кругом; и выполняет реализацию Circleв DrawIt. Однако если вы используете квалификатор Bypass_GetObject в DrawIt, WMI не вызывает GetObject, не обнаруживает, что "Shape.Name='MyCircle' является кругом, и выполняет реализацию Фигуры DrawItвместо реализации " Круг " DrawIt.

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент
Windows Vista
Минимальный поддерживаемый сервер
Windows Server 2008

См. также

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

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

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