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

Для каждого управляемого адаптера драйвер NDIS 6.0 или более поздней версии должен поддерживать следующий набор рабочих состояний:

Остановился
Состояние Остановлено — это начальное состояние всех адаптеров. Если адаптер находится в состоянии Остановлено, NDIS может вызвать функцию MiniportInitializeEx драйвера для инициализации адаптера.

Завершить работу
В состоянии Завершение работы должно произойти завершение работы и перезагрузка системы, прежде чем система сможет снова использовать адаптер.

Инициализация
В состоянии Инициализация драйвер мини-порта завершает все операции, необходимые для инициализации адаптера.

Пауза
В состоянии Приостановлено адаптер не указывает на полученные сетевые данные и не принимает запросы на отправку.

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

Запущена
В состоянии Выполняется драйвер мини-порта выполняет обработку отправки и получения адаптера.

Приостановка
В состоянии Приостановка драйвер минипорта завершает все операции, необходимые для остановки операций отправки и получения для адаптера.

В следующей таблице заголовки являются состояниями адаптера. Основные события перечислены в первом столбце. Остальные записи в таблице указывают следующее состояние, которое адаптер вводит после возникновения события в состоянии . Пустые записи представляют недопустимые сочетания событий и состояний.

Событие \ Состояние Остановился Завершить работу Инициализация Пауза перезапуск; Запущен Приостановка

MiniportInitializeEx

Инициализация

Инициализация завершена

Пауза

MiniportShutdownEx

Завершить работу

Завершить работу

Завершить работу

Завершить работу

MiniportHaltEx

Остановился

MiniportRestart

перезапуск;

Перезапуск завершен

Запущен

MiniportPause

Приостановка

Приостановка завершена

Пауза

Сбой инициализации

Остановился

Сбой перезапуска

Пауза

Операции отправки и получения

Запущен

Приостановка

Запросы OID

Пауза

перезапуск;

Запущен

Приостановка

Примечание События, перечисленные в предыдущей таблице, являются основными событиями для адаптера NDIS 6.0 или более поздней версии.

Примечание Операция сброса не влияет на рабочие состояния адаптера мини-порта. Состояние адаптера может измениться во время выполнения операции сброса. Например, NDIS может вызывать обработчик приостановки драйвера при выполнении операции сброса. В этом случае драйвер может выполнить операцию сброса или приостановки в любом порядке, следуя обычным требованиям для каждой операции. Для операции сброса драйвер может не передать пакеты запросов или оставить их в очереди и завершить их позже. Однако следует отметить, что драйвер с превышением состояния не может завершить операцию приостановки, пока его пакеты передачи находятся в состоянии ожидания.

Основные события драйвера минипорта определяются следующим образом:

MiniportInitializeEx
NDIS вызвал функцию MiniportInitializeEx драйвера для инициализации адаптера. Дополнительные сведения об инициализации адаптера см. в разделе Инициализация адаптера miniport.

Инициализация завершена
После успешного возврата MiniportInitializeEx операция инициализации завершается, а адаптер находится в состоянии Приостановлено.

MiniportShutdownEx
NDIS вызвал функцию MiniportShutdownEx драйвера для завершения работы адаптера. Дополнительные сведения см. в разделе Завершение работы адаптера Miniport.

MiniportHaltEx
NDIS вызвал функцию MiniportHaltEx драйвера для остановки адаптера. Дополнительные сведения см. в разделе Остановка адаптера miniport.

MiniportRestart
NDIS вызвал функцию MiniportRestart драйвера для перезапуска приостановленного адаптера. Так как адаптер находится в состоянии Приостановлено после инициализации, это событие также требуется для запуска адаптера после завершения инициализации адаптера. Дополнительные сведения см. в разделе Запуск адаптера.

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

MiniportPause
NDIS вызвал функцию MiniportPause драйвера для приостановки адаптера. Дополнительные сведения см. в разделе Приостановка адаптера.

Приостановка завершена
После завершения драйвером всех операций, необходимых для остановки операций отправки и получения, операция приостановки завершается, а адаптер находится в состоянии Приостановлено.

Примечание Драйвер должен дождаться, пока NDIS возвратит все оставшиеся признаки получения, прежде чем операция приостановки будет завершена.

Сбой инициализации
Если NDIS вызывает функцию MiniportInitializeEx драйвера и попытка инициализации завершается ошибкой, адаптер возвращается в состояние Остановлено.

Сбой перезапуска
Если NDIS вызывает функцию MiniportRestart драйвера и попытка перезагрузки завершается сбоем, адаптер остается в состоянии Приостановлено.

Операции отправки и получения
Драйвер должен обрабатывать операции отправки и получения в состояниях Выполнение и Приостановка. Дополнительные сведения об операциях отправки и получения см. в разделе Miniport Driver Send and Receive Operations.

Запросы OID
Драйвер должен обрабатывать запросы OID в состояниях Выполнение, Перезапуск, Приостановлено и Приостановка. Дополнительные сведения о запросах OID см. в разделе Запросы OID для адаптера.

Остановка адаптера miniport

Инициализация адаптера miniport

Завершение работы адаптера miniport

Операции отправки и получения драйвера miniport

Приостановка адаптера

Запуск адаптера