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


Сброс оборудования драйвера miniport

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

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

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

MiniportResetEx должен:

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

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

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

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

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

  • Сетевой пакет фильтрует по запросу набора 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 , должны быть восстановлены драйвером мини-порта.

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

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

Функции сброса и остановки драйвера miniport