Требования WMI для драйверов WDM

Драйвер, который регистрируется в WMI для обработки IRP в качестве поставщика данных. Системные драйверы портов хранения, драйверы классов и драйверы протокола NDIS попадают в эту категорию. Сведения о регистрации в качестве поставщика данных WMI см. в разделе "Регистрация в качестве поставщика данных WMI".

Драйвер, который не обрабатывает irPs, должен просто пересылать запросы WMI на следующий нижний драйвер в стеке драйверов. Затем следующий нижний драйвер регистрируется в WMI и обрабатывает запросы WMI от имени первого драйвера. Например, драйверы минипорта SCSI и мини-порты NDIS могут регистрироваться в качестве поставщиков WMI и предоставлять данные WMI соответствующим драйверам класса.

Драйвер, предоставляющий данные WMI классу или драйверу портов, должен поддерживать интерфейсы WMI для конкретного типа драйвера, определенные классом или драйвером портов. Например, драйвер минипорта SCSI должен установить WmiDataProvider в TRUE в структуре PORT_CONFIGURATION_INFORMATION и обрабатывать запросы SRB_FUNCTION_WMI от драйвера порта SCSI.

Аналогичным образом, драйвер минипорта, ориентированный на подключение NDIS, определяющий настраиваемые блоки данных, должен поддерживать OID_GEN_CO_SUPPORTED_GUIDS; в противном случае NDIS сопоставляет эти идентификаторы OID и признаки состояния, возвращаемые из OID_GEN_SUPPORTED_LIST, которые являются общими и известными для NDIS идентификаторами GUID, определенными NDIS.

В следующих разделах описывается, как поддерживать WMI в драйвере, обрабатывающем IRPs.