Написание поставщика экземпляров
Поставщик экземпляров предоставляет экземпляры одного или нескольких классов. Например, поставщик экземпляров может предоставлять сведения о ЦП или другом типе оборудования. Поскольку объекты, управляемые поставщиком экземпляров, как правило, изменяются регулярно, все экземплярные поставщики считаются поставщиками, осуществляющими выборку данных; то есть, поставщиками, которые динамически извлекают сведения об управляемом объекте, когда WMI отправляет запрос на получение информации. Название происходит от идеи, что WMI "извлекает" сведения от поставщика от имени клиента по запросу. С использованием технологии pull, поставщик экземпляров может поддерживать извлечение, перечисление, изменение, удаление и обработку запросов конкретного экземпляра.
Поставщики с высокой производительностью могут повысить эффективность поставщика экземпляров или программно получить доступ к данным, отображаемым в Системном мониторе. Дополнительные сведения см. в статье Превращение поставщика экземпляров в High-Performance поставщика.
В следующей процедуре описывается, как написать поставщика экземпляров.
Создание поставщика экземпляров
Зарегистрируйте вашего поставщика с помощью WMI.
Поставщики экземпляров регистрируются в WMI путем создания экземпляра __Win32Provider и класса __InstanceProviderRegistration.
Инициализируйте вашегопоставщика.
WMI использует IWbemProviderInit для загрузки и инициализации поставщика. Это задача, распространенная для всех поставщиков.
Заметка
Поставщикам экземпляров настоятельно рекомендуется использовать многопоточную модель «Both».
Реализуйте интерфейс IWbemServices для поставщика.
Интерфейс IWbemServices является основным интерфейсом для поставщика объектов.
Добавьте дополнительный код, необходимый для вашего поставщика.
При проектировании вашего поставщика, скорее всего, вам потребуется использовать интерфейсы WMI. Дополнительные сведения см. в разделе вызовы wMI.
При получении сведений для клиента может потребоваться доступ к уровням безопасности для этого клиента. Для получения дополнительной информации см. Самозванство в отношении клиента.
При необходимости реализовать высокопроизводительный интерфейс.
Интерфейс высокой производительности увеличивает скорость реагирования поставщика на запросы от WMI.
При необходимости реализовать поддержку обновления частичных экземпляров.
Как подразумевает имя, обновление частичного экземпляра — это метод, используемый для обновления только части экземпляра. Дополнительные сведения о вызове частичного экземпляра из клиента см. в обновлении части экземпляра и получения части экземпляра WMI.
Замените существующего провайдера вашим новым кодом.
Этот шаг не нужно выполнять, если у вас нет заранее существующего провайдера, чтобы скопировать. Дополнительные сведения см. по разделу об обновлении поставщика.