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


COM API для WMI

API компонента WMI (COM) можно использовать для записи клиентских приложений управления или созданияпоставщика WMI. Справочник по COM API предоставляет сведения для расширенных системных администраторов, а также разработчиков, которые пишут клиентские и поставщики приложений.

Дополнительные сведения о написании корпоративных приложений управления WMI см. в создании приложения WMI с помощьюC++. Дополнительные сведения о написании поставщика WMI см. в предоставлении данныхWMI.

Заметка

WMI поддерживает только разработку C++ с помощью систем разработки Microsoft Visual C++ версии 6.0 и более поздних версий. Однако вы также можете использовать другие компиляторы, такие как Борланд и Watcom.

 

Каждый из различных объектов WMI наследуется от интерфейса в конечном счете наследуется от интерфейса IUnknown. COM определяет способ реализации объектов или интерфейсов, обрабатывать такие задачи, как управление памятью, управление параметрами и многопоточность. В соответствии с COM API COM для WMI обеспечивает поддержку функциональных возможностей, предоставляемых интерфейсами каждого объекта WMI.

Доступ к WMI осуществляется через следующие интерфейсы COM для определенных WMI.

Интерфейс Описание
IEnumWbemClassObject Перечислитель, который работает с объектами типа IWbemClassObject. Он аналогичен стандартным перечислителям COM, таким как IEnumVariant.
IMofCompiler Реализован Mofd.dll, этот интерфейс предоставляет COM-интерфейс, используемый компилятором MOF и другими приложениями, которые компилируют MOF-файлы.
IUnsecuredApartment Используется для упрощения процесса асинхронных вызовов из клиентского процесса.
IWbemBackupRestore Резервное копирование и восстановление содержимого репозитория WMI.
IWbemCallResult Используется для полусинхронных вызовов интерфейса IWbemServices. При выполнении таких вызовов вызываемый метод IWbemServices возвращается немедленно, а также объект IWbemCallResult.
IWbemCausalityAnalysis Отслеживает дочерние запросы, созданные из родительского запроса.
IWbemClassObject Содержит и управляет определениями классов и экземплярами объектов класса. Разработчикам не нужно реализовать этот интерфейс; WMI предоставляет свою реализацию.
IWbemConfigureRefresher Используется клиентским кодом для добавления или удаления перечислителей, объектов и вложенных обновлений в средство обновления.
IWbemContext При необходимости используется для передачи дополнительных сведений о контексте поставщикам при отправке IWbemServices вызовы управления Windows.
IWbemDecoupledBasicEventProvider Регистрирует развязанные поставщики с помощью WMI.
IWbemDecoupledRegistrar Связывает поставщиков, разделенных с WMI. Этот интерфейс позволяет поставщику, размещенного в процессе, определить время существования интерфейса и сосуществовать с другими поставщиками.
IWbemEventConsumerProvider Предоставляет основной интерфейс для поставщика потребителей событий. Через этот интерфейс и метод FindConsumer поставщик событий может указать, какие потребители событий должны получать данное событие.
IWbemEventProvider Используется для запуска связи с поставщиком событий.
IWbemEventProviderQuerySink При необходимости реализованы поставщиками событий, которые хотят знать, какие типы фильтров запросов событий в настоящее время активны для оптимизации производительности.
IWbemEventProviderSecurity При необходимости реализуется поставщиками событий, которые хотят ограничить доступ потребителей к их событию.
IWbemEventSink Инициирует взаимодействие с поставщиком событий с помощью ограниченного набора запросов. Этот интерфейс расширяет IWbemObjectSink, предоставляя новые методы, связанные с безопасностью и производительностью.
IWbemHiPerfProvider Позволяет поставщикам предоставлять обновляемые объекты и перечислители.
IWbemHiPerfEnum Используется в операциях обновления для быстрого доступа к перечислениям объектов экземпляров.
IWbemLocator Получает начальный указатель пространства имен на интерфейс IWbemServices для WMI на определенном хост-компьютере.
IWbemObjectAccess Предоставляет доступ к методам и свойствам объекта. Объект IWbemObjectAccess — это контейнер для экземпляра, обновляемогообновления.
IWbemObjectSink Используется для получения результатов IWbemServices и определенных типов уведомлений о событиях.
IWbemObjectTextSrc Используется для перевода экземпляров IWbemClassObject и от разных текстовых форматов.
IWbemPropertyProvider Поддерживает получение и обновление отдельных свойств в экземпляре класса WMI.
IWbemProviderIdentity Реализуется поставщиком событий, если поставщик регистрируется с помощью нескольких name (несколько экземпляров __Win32Provider) с одинаковым значением CLSID. Класс предоставляет механизм для различения именованного поставщика.
IWbemProviderInit Используется для инициализации поставщиков.
IWbemProviderInitSink Реализуется WMI и вызывается поставщиками, чтобы сообщить о состоянии инициализации.
IWbemQualifierSet Выступает в качестве контейнера для всего набора именованных квалификаторов для одного свойства или всего объекта (класса или экземпляра).
IWbemQuery Предоставляет точку входа, с помощью которой можно проанализировать язык запросов WMI (WQL).
IWbemRefresher Предоставляет точку входа, с помощью которой можно обновить объекты, такие как перечислители или объекты обновления, можно обновить.
IWbemServices Используется клиентами и поставщиками для доступа к службам WMI. Интерфейс реализуется только WMI и является основным интерфейсом WMI.
IWbemStatusCodeText Извлекает текстовое описание кодов ошибок или имя подсистемы, в которой произошла ошибка.
IWbemUnboundObjectSink Реализовано всеми потребителями логических событий. Это простой интерфейс приемника, который принимает доставку объектов событий.

 

Заметка

Многие функции COM WMI возвращают числовые коды ошибок, которые документируются как именованные константы. Эти константы определены в Wbemcli.h в папке WMI\Include PSDK. Дополнительные сведения см. в кодов возврата WMI.

 

Дополнительные сведения о следующих разделах программирования COM см. в разделе Разработка компонентов:

  • Интерфейсы и конструктор объектов.
  • Реализация IUnknown.
  • Управление памятью
  • Обработка подсчета ссылок.

Справочник по WMI