Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер протокола NDIS должен поддерживать следующие операционные состояния для каждой привязки, управляемой этим драйвером.
Несвязанный
Открытие
Бег
Закрытие
Приостановка
Приостановлено
Перезагрузка
На следующих рисунках показана связь между этими состояниями.
Ниже определены состояния привязки драйвера протокола:
Состояние Unbound — это начальное состояние привязки. В этом состоянии драйвер протокола ожидает, когда NDIS вызовет функцию ProtocolBindAdapterEx. После вызова NDIS ProtocolBindAdapterExпривязка переходит в состояние открытия. После завершения операции отмены привязки связь возвращается в Непривязанное состояние из состояния Закрытие.
В открытом состоянии драйвер протокола выделяет ресурсы для привязки и пытается открыть минипорт-адаптер. После вызова функции ProtocolBindAdapterEx NDIS привязка переходит в состояние открытия. Если драйвер протокола не привязывается к минипорт-адаптеру, привязка возвращается в состояние "Не привязан". Если драйвер успешно привязывается к минипорт-адаптеру, привязка переходит в состояние "Приостановлено".
В активном состоянии драйвер протокола выполняет обычную отправку и получение для привязки. Когда привязка находится в состоянии перезапуска и драйвер готов выполнять операции отправки и получения, привязка переходит в состояние "Работа".
В состоянии закрытия драйвер протокола закрывает привязку к адаптеру минипорта, а затем освобождает связанные с привязкой ресурсы. После того, как NDIS вызовет функцию ProtocolUnbindAdapterEx драйвера протокола, привязка переходит в состояние закрытия. После завершения операций отмены привязки драйвером протокола привязка входит в состояние "Непривязанный".
В состоянии приостановки, драйвер протокола завершает все операции, необходимые для прекращения отправки и получения в рамках привязки. Если привязка находится в рабочем состоянии и NDIS отправляет драйвер протокола уведомление о приостановке PnP, привязка переходит в состояние приостановки. Драйвер протокола должен ждать завершения всех невыполненных запросов на отправку. Драйвер протокола не может выйти из строя при операции приостановки. После завершения операции приостановки привязка переходит в состояние "Приостановлено".
В состоянии Приостановлено драйвер протокола не выполняет операции отправки или получения для привязки. Когда привязка находится в состоянии приостановки и операция приостановки завершена, привязка переходит в состояние приостановки. Когда привязка находится в процессе открытия, и операция открытия завершается успешно, привязка переходит в состояние паузы. Если NDIS отправляет драйверу протокола уведомление о перезапуске PnP для привязки, привязка переходит в состояние перезапуска. Если NDIS вызывает функцию драйвера ProtocolUnbindAdapterEx, привязка переходит в состояние закрытия.
В состоянии перезапуска драйвер протокола завершает все операции, необходимые для перезапуска операций отправки и получения привязки. Если привязка находится в приостановленном состоянии и NDIS отправляет драйвер протокола уведомление о перезапуске PnP, привязка вводит состояние перезапуска. Если перезапуск завершается сбоем, привязка возвращается в состояние "Приостановлено". Если перезагрузка выполнена успешно, привязка переходит в состояние выполнения.