Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда сетевое устройство становится доступным, система загружает необходимый мини-драйвер NDIS, если он еще не загружен. Впоследствии менеджер Plug and Play (PnP) отправляет NDIS запрос на ввод-вывод Plug and Play (IRP) для запуска устройства. NDIS вызывает функцию "MiniportInitializeEx" у минипорт-драйвера для инициализации адаптера для сетевых операций ввода-вывода. NDIS может вызывать MiniportInitializeEx в любое время после инициализации драйвера. Дополнительные сведения о инициализации драйвера минипорта см. в разделе Инициализация минипорта драйвера.
Пока MiniportInitializeEx возвращается, NDIS не отправляет никаких запросов на инициализацию адаптера. Адаптер находится в состоянии инициализации.
Минипорт-драйвер обычно выполняет следующие задачи в MiniportInitializeEx:
Получает сведения о конфигурации адаптера.
Получает сведения о аппаратных ресурсах адаптера.
Вызывает NdisMSetMiniportAttributes и предоставляет следующие атрибуты, связанные с адаптером:
- Указатель на область контекста, выделенную драйвером.
- Флаги соответствующих атрибутов.
- Интервал времени ожидания для вызова функции MiniportCheckForHangEx.
- Тип интерфейса.
Инициализирует ресурсы, относящиеся к адаптеру.
Драйвер минипорта указывает атрибуты адаптера в структуре NDIS_MINIPORT_ADAPTER_ATTRIBUTES, которая MiniportInitializeEx передается в NdisMSetMiniportAttributes.
Как правило, MiniportInitializeEx выделяет ресурсы, относящиеся к адаптеру, в следующем порядке:
Непагированная память пула.
NET_BUFFER и пулы NET_BUFFER_LIST (см. операции отправки и получения драйвера Miniport).
Спин-блокировки.
Таймеры.
Порты ввода-вывода.
DMA (см. точечная и сборнаяDMA).
Общая память.
Прерывания (см. управление прерываниями).
После успешного возврата MiniportInitializeEx адаптер находится в состоянии "Приостановлено". NDIS может вызывать функцию MiniportRestart для перехода адаптера в состояние "Рабочее". Дополнительные сведения см. в разделе Запуск минипорт адаптера.
Если MiniportInitializeEx возвращает NDIS_STATUS_SUCCESS, драйвер должен освободить все ресурсы адаптера в функции MiniportHaltEx. Дополнительные сведения см. в разделе Остановка адаптера минипорта.
Драйвер должен вызвать NdisMSetMiniportAttributes и установить GeneralAttributes в структуре NDIS_MINIPORT_ADAPTER_ATTRIBUTES, если он возвращает NDIS_STATUS_SUCCESS.
Если MiniportInitializeEx произошел сбой, MiniportInitializeEx должен освободить все ресурсы, выделенные перед возвратом, и адаптер возвращается в состояние "Остановленный".
Связанные разделы
Состояния минипорт-адаптера и операции минипорта