Регистрация в качестве поставщика данных WMI
Драйвер, поддерживающий WMI, должен зарегистрировать в качестве поставщика данных WMI, чтобы сделать свои данные и блоки событий доступными для клиентов WMI. Драйвер обычно регистрируется в WMI при запуске устройства после того, как устройство было инициализировано до такой степени, что драйвер может обрабатывать WMI IRPs. Во время процесса регистрации драйвер передает WMI указатель на объект своего устройства, а также сведения о данных и блоках событий, которые поддерживает.
Драйвер регистрируется в WMI на двух этапах:
Драйвер вызывает IoWMIRegistrationControl с действием WMIREG_ACTION_REGISTER и указателем на объект устройства, переданный в подпрограмму AddDevice драйвера.
Драйвер обрабатывает запрос 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 для регистрации блоков.