Поделиться через


Обработка событий PnP и событий управления питанием в промежуточном драйвере

Промежуточный драйвер должен иметь возможность обрабатывать события Plug and Play (PnP) и события управления питанием. Конкретно:

  • Промежуточный драйвер должен задать флаг NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND в элементе AttributeFlags структуры NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, которая передаётся NdisMSetMiniportAttributes. Дополнительные подробности см. в разделе Инициализация в качестве минипорта.

  • Виртуальный минипорт промежуточного драйвера должен обрабатывать запросы OID_PNP_XXX.

  • Раздел протокола промежуточного драйвера должен распространять соответствующие запросы OID_PNP_xxx на базовые минипорт-драйверы. Виртуальный минипорт промежуточного драйвера должен пересылать ответы нижестоящего минипорт драйвера на эти запросы обратно в драйвер протокола, который инициировал запросы. Промежуточный драйвер не должен передавать запросы, которые не требуются в конструкторе. Например, если отсутствует соотношение один-к-одному между виртуальными минипортами и базовыми минипорт-адаптерами, как в приложениях Load Balancing Failover (LBFO).

  • Часть протокола промежуточного драйвера должна предоставить функцию ProtocolNetPnPEvent.

Протокол промежуточного драйвера и обработчики событий мини-порта не вызываются в определенном порядке. Обработчики событий для промежуточных драйверов должны быть реализованы соответствующим образом.

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

инициализация промежуточных драйверов для обработки событий управления питанием и PnP

Обработка запросов и установок OID_PNP_Xxx

Реализация обработчика ProtocolNetPnPEvent в промежуточном драйвере

обработка запроса на установку мощности