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


Сброс аппаратного обеспечения минипорт-драйвера

Для регистрации функции MiniportResetEx драйвер минипорта должен использовать NdisMRegisterMiniportDriver.

MiniportResetEx может выполняться синхронно или асинхронно с вызовом NdisMResetComplete(см. следующий рисунок).

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

MiniportResetEx должно:

  • Отключите дальнейшие прерывания.

  • Удалите данные, связанные с любыми выполняемыми отправками. Например, на кольцевом буфере для устройства прямого доступа к памяти (DMA) шины необходимо очистить указатели на отправку буферов. Десериализированные и ориентированные на подключения минипорт-драйверы должны возвращать NDIS_STATUS_REQUEST_ABORTED для любых запросов отправки в очереди.

  • Восстановите состояние оборудования и внутреннее состояние драйвера минипорта до состояния, которое существовало до операции сброса.

Минипорт-драйвер отвечает за восстановление состояния оборудования устройства, за исключением адресов многоадресной рассылки, фильтров пакетов, параметров разгрузки задач и шаблонов пробуждения. Эти параметры восстанавливаются минипорт-драйвером или NDIS. Драйвер минипорта определяет, кто отвечает за восстановление этих параметров, возвращая логическое значение в параметре AddressingReset.

Если драйвер минипорта возвращает FALSE в параметре AddressingReset, драйвер минипорта восстанавливает свои многоадресные адреса, фильтры пакетов, параметры разгрузки задач и шаблоны пробуждения до исходного состояния. Если драйвер минипорта возвращает TRUE в AddressingReset, NDIS вызывает функцию минипорта MiniportOidRequest или функцию драйвера минипорта MiniportCoOidRequest, чтобы задать следующие параметры конфигурации:

  • Фильтр сетевого пакета через запрос набора OID_GEN_CURRENT_PACKET_FILTER.

  • Список адресов многоадресной рассылки с помощью запроса набора OID_802_3_MULTICAST_LIST.

  • Параметры инкапсуляции задачи с помощью запроса набора OID_OFFLOAD_ENCAPSULATION.

  • Шаблоны пробуждения управления питанием с помощью заданного запроса OID_PNP_ADD_WAKE_UP_PATTERN. Примечание начиная с NDIS 6.20, шаблоны пробуждения, настроенные с помощью OID_PM_ADD_WOL_PATTERN, должны быть восстановлены драйвером мини-порта.

Состояния адаптера драйвера минипорта

Состояния и операции минипорт-адаптера

функции сброса и остановки минипорт-драйвера