OID_RECEIVE_FILTER_CLEAR_FILTER
Чрезмерные драйверы выдают запросы на настройку OID OID_RECEIVE_FILTER_CLEAR_FILTER для очистки фильтра получения в сетевом адаптере.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на структуру NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS .
Комментарии
Фильтры получения NDIS используются в следующих интерфейсах NDIS:
Объединение пакетов NDIS. Дополнительные сведения об использовании фильтров получения в этом интерфейсе см. в разделе Управление фильтрами получения объединения пакетов.
Виртуализация однокорневого ввода-вывода (SR-IOV). Дополнительные сведения об использовании фильтров получения в этом интерфейсе см. в статье Настройка фильтра получения для виртуального порта.
Очередь виртуальных машин (VMQ). Дополнительные сведения об использовании фильтров получения в этом интерфейсе см. в разделе Настройка и очистка фильтров VMQ.
Запрос набора OID OID_RECEIVE_FILTER_CLEAR_FILTER является обязательным для драйверов мини-портов, поддерживающих объединение пакетов NDIS, SR-IOV или VMQ.
Для очистки ранее заданного фильтра драйвер, например драйвер протокола NDIS или фильтра, использует запрос OID_RECEIVE_FILTER_CLEAR_FILTER set. Очистить его может только драйвер, задал фильтр получения.
Драйвер overlying очищает фильтр получения, задавая для элемента FilterId структуры NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS идентификатор фильтра. Драйвер получил идентификатор фильтра из предыдущего запроса метода OID OID_RECEIVE_FILTER_SET_FILTER.
Дополнительные инструкции для объединения пакетов NDIS
Следующий момент относится к драйверам miniport и overlying, поддерживающим объединение пакетов NDIS:
- Перед отменой привязки или отсоединения от него драйвер должен очистить все фильтры получения, заданные в драйвере мини-порта.
Дополнительные рекомендации по интерфейсу SR-IOV
Следующие моменты относятся к мини-портам и драйверам overlying, поддерживающим интерфейс SR-IOV.
Прежде чем освободить VPort, драйвер должен очистить все фильтры, заданные в SR-IOV VPort. Прежде чем закрыть привязку к сетевому адаптеру, драйвер должен очистить все фильтры, заданные в VPort по умолчанию.
Драйвер мини-порта не должен указывать пакеты в неразрушаемом VPort, если он завершил запрос OID OID_RECEIVE_FILTER_CLEAR_FILTER для очистки последнего фильтра в VPort.
Примечание Драйвер мини-порта также не должен указывать пакеты в нестандартном VPort, если он завершил запрос OID OID_NIC_SWITCH_DELETE_VPORT для освобождения VPort.
Дополнительные рекомендации по интерфейсу VMQ
Следующие моменты относятся к мини-портам и драйверам, поддерживающим интерфейс VMQ.
Прежде чем освободить очередь, драйвер должен очистить все фильтры, заданные в очереди получения VMQ. Прежде чем закрыть привязку к сетевому адаптеру, драйвер должен очистить все фильтры, заданные в очереди по умолчанию.
Драйвер мини-порта не должен указывать пакеты в очереди получения, если он завершил запрос OID OID_RECEIVE_FILTER_CLEAR_FILTER для очистки последнего фильтра в очереди получения.
Примечание Драйвер мини-порта также не должен указывать пакеты в очереди получения, если он завершил запрос OID OID_RECEIVE_FILTER_FREE_QUEUE для освобождения очереди получения.
Коды состояния возврата
Функция MiniportOidRequest драйвера miniport возвращает одно из следующих значений для этого запроса:
Термин | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Драйвер мини-порта успешно выполнил запрос. |
NDIS_STATUS_PENDING |
Драйвер мини-порта выполнит запрос асинхронно. После того как драйвер мини-порта завершит всю обработку, он должен выполнить запрос, вызвав функцию NdisMOidRequestComplete , передав NDIS_STATUS_SUCCESS для параметра Status . |
NDIS_STATUS_NOT_ACCEPTED |
Адаптер мини-порта был неожиданно удален. |
NDIS возвращает один из следующих кодов состояния для этого запроса:
NDIS_STATUS_SUCCESS
Указанный фильтр успешно очищен.
NDIS_STATUS_PENDING
Запрос ожидает завершения. NDIS передает окончательный код состояния и результаты обработчику завершения запроса OID вызывающего объекта после завершения запроса.
NDIS_STATUS_FILE_NOT_FOUND
Недопустимый идентификатор фильтра.
NDIS_STATUS_INVALID_LENGTH
Буфер информации слишком мал. NDIS задает DATA. SET_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера.
Требования
Версия |
Поддерживается в NDIS 6.20 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |