Доступ к данным из драйверов устройств

Поставщик модели драйверов Windows (WDM) предоставляет доступ к классам, экземплярам, методам и событиям аппаратных драйверов, соответствующих модели WDM. Классы для драйверов оборудования находятся в пространстве имен \\root\wmi.

Поставщик WDM представляет интерес для тех, кто пишет драйверы устройств, и администраторов, заинтересованных в данных драйверов устройств.

В этом разделе рассматриваются следующие разделы:

Сведения о записи драйверов устройств

Классы WMI, связанные с определенным драйвером устройства, создаются, когда поставщик WDM извлекает двоичный MOF-файл из исполняемого файла драйвера устройства. Это происходит при каждом запуске инструментария WMI, установке нового драйвера устройства или удалении экземпляра WMIBinaryMofResource для определенного драйвера. Проверив Wmiprov.log, можно определить, произошла ли ошибка, приводившая к сбою при извлечении двоичного MOF-файла. Подробные сведения об ошибках mofcomp отображаются в mofcomp.log. Дополнительные сведения см. в разделе Файлы журналов WMI. Из соображений производительности поставщик WDM не создает события при создании или удалении классов из-за запуска или остановки поставщика WDM.

Поставщик WDM преобразует все данные WNODE в сведения о классах. Если при преобразовании данных из WNODE в данные класса возникает ошибка, она отображается в Wmiprov.log с заголовком в формате и байтами, отображаемыми в том же виде, что и дамп памяти.

Изменения, внесенные в параметры безопасности драйвера, не вступают в силу до тех пор, пока поставщик WDM не будет выгружен и перезагружен. Дополнительные сведения см. в разделе Выгрузка поставщика.

WMI также может сделать высокопроизводительные счетчики для аппаратных драйверов доступными. Дополнительные сведения о создании высокопроизводительных классов и отображении данных в системном мониторе Perfmon см. в статье Повышение эффективности поставщика экземпляров. Дополнительные сведения о написании драйверов устройств с поддержкой WMI см. в разделе https://www.microsoft.com/ddk. Дополнительные сведения о квалификаторах WDM в MOF-файле см. в разделе Квалификаторы, относящиеся к поставщику WDM.

Сведения для администраторов и пользователей данных драйвера

Список экземпляров класса WMIBinaryMofResource содержит список драйверов в системе и сведения о том, удалось ли поставщику WDM скомпилировать MOF для каждого драйвера. Вы можете принудить поставщика выполнить повторную компиляцию и повторно создать классы для драйвера, удалив экземпляр WMIBinaryMofResource, представляющий этот драйвер. Подробные сведения об ошибках mofcomp отображаются в журнале Mofcomp.log.

Если пространство имен WMI повреждено, его можно удалить и повторно открыть, чтобы принудить WDM перестроить классы драйверов. Дополнительные сведения об открытии пространства имен см. в статье Создание иерархий в WMI.

Классы драйверов иногда могут "застрять", если загрузка драйвера прерывается или происходят другие аномальные операции. Поставщик WDM будет искать и очищать "нераздельные" классы только при установке нового драйвера или если для раздела реестра Software\Microsoft\WBEM\WDMProviderзадано значение TRUE. Если задать для этого значения значение TRUE , производительность при запуске WMI снижается из-за операции очистки. Значение по умолчанию — FALSE. Поставщик WDM проверяет это значение реестра только при первом открытии пространства имен Root\Wmi.

Если в драйвер устройства WDM внесены изменения безопасности, эти изменения не встанут в силу до тех пор, пока поставщик WDM не будет выгружен и перезагружен. Для этого необходимо остановить и перезапустить службу управления Windows.

Использование WMI