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

Поставщик свойств использует методы 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.