Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы запустить приостановленный модуль фильтрации, NDIS вызывает функцию FilterSetModuleOptions драйвера фильтра, а затем — функцию FilterRestart. Модуль фильтра переходит в состояние перезапуска в начале выполнения функции FilterRestart.
Если драйвер предоставил точку входа для FilterSetModuleOptions, драйвер может изменить частичную характеристику модуля фильтра. Дополнительные сведения, см. в разделе Режим обхода данных.
При вызове функции FilterRestart драйвера фильтра, NDIS передает указатель на структуру NDIS_RESTART_ATTRIBUTES драйверу фильтра в качестве члена RestartAttributes структуры NDIS_FILTER_RESTART_PARAMETERS. Драйверы фильтров могут изменять атрибуты перезапуска, указанные базовыми драйверами. Дополнительные сведения об изменении атрибутов перезапуска см. в разделе FilterRestart.
Примечание NDIS вызывает FilterSetModuleOptions для всех модулей фильтров в стеке, прежде чем NDIS вызывает функцию FilterRestart для любого модуля фильтра в стеке.
NDIS запускает модуль фильтра в рамках операции Plug and Play для перезапуска стека драйверов. Общие сведения о перезапуске стека драйверов см. в разделе Перезапуск стека драйверов.
От имени модуля фильтра, который находится в состоянии Перезапуск, драйвер фильтра:
Завершает все операции, необходимые для перезапуска обычных операций отправки и получения.
Дополнительные сведения об операциях отправки и получения см. в разделе Модуль фильтра: операции отправки и получения.
Может читать или записывать настраиваемые параметры для модуля фильтра.
Может получать сведения о сетевых данных. Драйвер может копировать и ставить такие данные в очередь, указывать их выше стоящим драйверам позже или удалить данные.
Не следует инициировать новые сигналы получения.
Следует немедленно отклонять все новые запросы отправки, сделанные в функции FilterSendNetBufferLists, вызвав функцию NdisFSendNetBufferListsComplete. Он должен установить статус завершенности в каждом NET_BUFFER_LIST на NDIS_STATUS_PAUSED.
Может предоставлять сведения о состоянии с помощью функции NdisFIndicateStatus.
Дополнительные сведения о признаках состояния см. в разделе Индикаторы состояния модуля фильтра.
Должен обрабатывать запросы OID в функции FilterOidRequest.
Для получения дополнительной информации о запросах OID см. Запросы OID модуля фильтрации.
Не следует инициировать новые запросы на отправку данных.
Должен немедленно возвращать новые индикаторы получения в NDIS, вызвав функцию NdisFReturnNetBufferLists. При необходимости драйвер может скопировать такие индикации получения, прежде чем возвращает их.
Может выполнять запросы OID к базовым драйверам, чтобы задать или запросить обновленные сведения о конфигурации.
Должен обрабатывать индикаторы состояния в функции FilterStatus.
Должно указывать NDIS_STATUS_SUCCESS или статус ошибки. Если модуль фильтра не перезапускается, NDIS отсоединит его и если он является обязательным фильтром, NDIS завершает весь стек драйверов.
После успешного перезапуска операций отправки и получения драйвер фильтра должен завершить операцию перезапуска. Драйвер фильтра может выполнять операцию перезапуска синхронно или асинхронно, возвращая NDIS_STATUS_SUCCESS или NDIS_STATUS_PENDING соответственно из FilterRestart.
Если драйвер возвращает NDIS_STATUS_PENDING, он должен вызвать функцию NdisFRestartComplete после завершения операции перезапуска. В этом случае драйвер передает окончательное состояние операции перезапуска NdisFRestartComplete.
После завершения операции перезапуска модуль фильтра находится в работающем состоянии. Драйвер возобновляет обработку отправки и получения в обычном режиме.
NDIS не запускает другие процессы Plug and Play, такие как подключение, отключение или приостановка запросов, в то время как драйвер фильтра находится в состоянии перезапуска. NDIS может инициировать приостановку запросов после того, как драйвер фильтра находится в состоянии запуска. Дополнительные сведения о приостановке работы модуля фильтра см. в статье Приостановкамодуля фильтра.