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

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

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

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

 

Примечание

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

 

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

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

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

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

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

Чаще всего используется квалификатор PropertyContext. Поэтому WMI предоставляет квалификатор DynProps в качестве ярлыка. WMI считает, что каждое свойство в экземпляре, помеченном DynProps , также имеет квалификаторы Dynamic, Provider и PropertyContext .