Реализация основного интерфейса для поставщика свойств

Поставщик свойств использует методы IWbemPropertyProvider в качестве основного интерфейса для WMI. С помощью IWbemPropertyProvider можно реализовать код для получения и изменения свойств класса и экземпляра.

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

Метод Компонент
Getproperty Извлечения
PutProperty Изменение

 

Примечание

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

 

Если вы решили не поддерживать один из этих методов, поставщик может предоставить реализацию заглушки, возвращающую WBEM_E_PROVIDER_NOT_CAPABLE.

Поставщик свойств определяет управляемый класс или экземпляр по набору из трех квалификаторов: PropertyContext, InstanceContext и ClassContext. WMI передает строковые константы, описывающие эти три квалификаторы поставщику свойств.

Поставщик свойств должен быть готов к обработке следующих типов квалификаторов контекста:

  • Квалификатор InstanceContext присоединяется к экземпляру и содержит сведения, применимые к каждому свойству экземпляра.
  • Квалификатор ClassContext присоединяется к классу и содержит сведения, которые применяются к каждому экземпляру класса. Например, в классе, используемом для хранения данных, предоставленных поставщиком реестра, ClassContext может быть путем к разделу реестра, который содержит сообщаемые свойства.
  • Квалификатор PropertyContext указывает сведения о контексте, относящиеся к свойству. Например, в классе, используемом для хранения данных, предоставленных поставщиком реестра, PropertyContext указывает имя значения реестра, которое будет храниться свойством.

Эти квалификаторы могут работать вместе. Можно назначить значение InstanceContext и PropertyContext , чтобы сообщить поставщику, как обрабатывать определенные типы экземпляров. Например, может потребоваться пометить экземпляры, которые поставщик распознает как доступный для чтения, но имеющий только одно свойство, доступное для записи.

Наиболее распространенным квалификатором является PropertyContext. Таким образом, WMI предоставляет квалификатор DynProps в качестве ярлыка. WMI рассматривает каждое свойство в экземпляре, помеченном с помощью DynProps , для использования квалификаторов Dynamic, Provider и PropertyContext .