Обработка событий 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 в промежуточном драйвере