Регистрация в качестве поставщика данных WMI

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

Драйвер регистрируется с помощью WMI в два этапа:

  1. Драйвер вызывает IoWMIRegistrationControl с действием WMIREG_ACTION_REGISTER и указателем на объект устройства, переданный в подпрограмму AddDevice драйвера.

  2. Драйвер обрабатывает запрос IRP_MN_REGINFO или IRP_MN_REGINFO_EX , который WMI отправляет в ответ на вызов IoWMIRegistrationControl драйвера. Элемент Parameters.WMI.DataPath IRP имеет значение WMIREGISTER, а Parameters.WMI.ProviderId — в качестве указателя на объект устройства драйвера. Драйвер предоставляет WMI с регистрационными сведениями о своих данных и блоках событий, используя библиотеку WMI, как описано в разделе Использование библиотеки WMI для регистрации блоков, или обрабатывая запросы IRP_MN_REGINFO или IRP_MN_REGINFO_EX , как описано в разделе Обработка IRP_MN_REGINFO и IRP_MN_REGINFO_EX в блоки регистрации.