Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Все драйверы должны задать точку входа в таблицу отправки для подпрограммы DispatchSystemControl для обработки запросов WMI. Если драйвер регистрируется в качестве поставщика данных WMI, он должен обрабатывать все запросы WMI. В противном случае драйвер должен перенаправить все запросы WMI на следующий нижний драйвер.
Все ip-адреса WMI имеют основной код IRP_MJ_SYSTEM_CONTROL и один из следующих дополнительных кодов:
IRP_MN_REGINFO, IRP_MN_REGINFO_EX — запросы или обновление сведений о регистрации драйвера после вызова IoWMIRegistrationControl.
IRP_MN_QUERY_ALL_DATA, IRP_MN_QUERY_SINGLE_INSTANCE — запросы ко всем экземплярам или одному экземпляру заданного блока данных.
IRP_MN_CHANGE_SINGLE_ITEM, IRP_MN_CHANGE_SINGLE_INSTANCE— запрашивает драйвер для изменения одного или нескольких элементов в экземпляре блока данных.
IRP_MN_ENABLE_COLLECTION, IRP_MN_DISABLE_COLLECTION — запросить драйвер начать сбор данных для блока, который был зарегистрирован как трудоемкий для сбора, или прекратить сбор данных для такого блока.
IRP_MN_ENABLE_EVENTS, IRP_MN_DISABLE_EVENTS. Запрашивает драйвер начать отправку уведомления о заданном событии, если событие происходит во время его включения или прекратить отправку уведомления об этом событии.
IRP_MN_EXECUTE_METHOD— запрашивает драйвер для выполнения метода, связанного с блоком данных.
Компонент режима ядра WMI отправляет запросы IRP WMI в любое время после успешной регистрации драйвера в качестве поставщика данных WMI, обычно когда потребитель данных в пользовательском режиме запрашивает информацию WMI для устройства драйвера. Если драйвер регистрируется в качестве поставщика данных WMI путем вызова IoWMIRegistrationControl, он должен обрабатывать каждый последующий запрос WMI одним из следующих способов:
Вызовите подпрограмму библиотеки в режиме ядра WMI WmiSystemControl. Драйвер может вызывать WmiSystemControl для обработки запросов, касающихся только тех блоков, которые не используют динамические имена экземпляров, и которые используют для имён статических экземпляров либо единую строку базового имени, либо идентификатор экземпляра устройства для PDO. Дополнительные сведения см. в статье Вызов WmiSystemControl для обработки WMI IRPs.
В подпрограмме DispatchSystemControl обработайте и завершите выполнение любого такого запроса, помеченного указателем на объект устройства, который драйвер передал в вызове IoWMIRegistrationControl, а также перенаправьте другие запросы IRP_MJ_SYSTEM_CONTROL следующему нижележащему драйверу. Дополнительные сведения см. в разделе Об обработке IRPs WMI в подпрограмме DispatchSystemControl.
Список дополнительных IRPs WMI см. в разделе WMI Minor IRPs.