Поделиться через


Запросы к фильтрам получения объединения пакетов

Избыточные драйверы и приложения могут запрашивать фильтры получения объединения пакетов, скачанные в драйвер мини-порта, выполнив следующие действия:

NDIS обрабатывает запросы OID OID_RECEIVE_FILTER_ENUM_FILTERS и метода OID_RECEIVE_FILTER_PARAMETERS для драйверов мини-портов. NDIS получил информацию из внутреннего кэша данных, полученных из запроса OID OID_RECEIVE_FILTER_SET_FILTER .

Перечисление фильтров получения в драйвере miniport

Чтобы получить список всех фильтров получения, объединенных в пакеты, которые были загружены в драйвер мини-порта, вышещие драйверы и приложения выдают запрос метода OID OID_RECEIVE_FILTER_ENUM_FILTERS. Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на NDIS_RECEIVE_FILTER_INFO_ARRAY структуру.

Примечание Когда драйвер или приложение инициализирует структуру NDIS_RECEIVE_FILTER_INFO_ARRAY , необходимо задать для элемента QueueId значение NDIS_DEFAULT_RECEIVE_QUEUE_ID.

После успешного возврата из запроса метода OID элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер. Этот буфер имеет следующий формат:

  • Структура NDIS_RECEIVE_FILTER_INFO_ARRAY , указывающая список фильтров получения, настроенных в настоящее время в драйвере мини-порта.

  • Массив NDIS_RECEIVE_FILTER_INFO структур о фильтре получения, настроенном в настоящее время в драйвере мини-порта.

Запрос параметров фильтров получения в драйвере miniport

Чтобы получить параметры определенного фильтра получения объединения пакетов, который был загружен в драйвер мини-порта, более уравноженные драйверы или приложения выдают запрос метода OID OID_RECEIVE_FILTER_PARAMETERS. Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на NDIS_RECEIVE_FILTER_PARAMETERS структуру. Драйвер или приложение инициализирует структуру NDIS_RECEIVE_FILTER_PARAMETERS , присваивая члену FilterId значение ненулевого идентификатора фильтра, параметры которого должны быть возвращены.

Примечание Избыточный драйвер получил идентификатор фильтра из предыдущего запроса метода OID OID_RECEIVE_FILTER_SET_FILTER или OID_RECEIVE_FILTER_ENUM_FILTERS. Приложение может получить идентификатор фильтра только из предыдущего запроса метода OID OID_RECEIVE_FILTER_ENUM_FILTERS.

После успешного возврата из запроса метода OID элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер. Этот буфер имеет следующий формат:

  • Структура NDIS_RECEIVE_FILTER_PARAMETERS , указывающая параметры для фильтра получения NDIS.

  • Массив NDIS_RECEIVE_FILTER_FIELD_PARAMETERS структур, указывающий критерий проверки фильтра для одного поля в заголовке сетевого пакета.