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


Перезапуск стека драйверов

NDIS перезапускает стек драйверов после операций, таких как вставка модуля фильтра или добавление привязки. Операция перезапуска стека драйверов выполняется следующим образом:

  1. NDIS перезапускает минипорт-адаптер.

    Когда NDIS вызывает функцию MiniportRestart драйвера, адаптер минипорта входит в состояние Перезапуска. Минипорт-драйвер готовится возобновить операции передачи и приема данных. Если подготовка завершается ошибкой, минипорт-адаптер возвращается в состояние "Приостановлено". После того как драйвер будет готов возобновить отправку и получение данных, минипорт-адаптер входит в состояние "Выполнение".

  2. NDIS перезапускает модули фильтров, начиная с нижней части стека драйверов и продвигаясь вверх к драйверу протокола.

    После вызова функции драйвера фильтра FilterRestart модуль фильтра переходит в режим перезапуска. Драйвер фильтра готовится к возобновлению операций отправки и получения. Если подготовка завершается ошибкой, модуль возвращается в состояние "Приостановлено". После того как драйвер будет готов возобновить операции отправки и получения, модуль фильтра переходит в состояние "Выполнение".

  3. NDIS отправляет событие перезапуска PnP драйверу протокола.

    Привязка вводит состояние перезапуска. Драйвер протокола готовится к возобновлению операций отправки и получения. Если происходит ошибка, привязка возвращается в состояние "Приостановлено". После того как драйвер протокола будет готов к возобновлению операций отправки и получения, привязка переходит в состояние "Выполнение".