Запросы к фильтрам получения объединения пакетов
Избыточные драйверы и приложения могут запрашивать фильтры получения объединения пакетов, скачанные в драйвер мини-порта, выполнив следующие действия:
Запросите перечисляемый список фильтров получения в драйвере мини-порта, выполнив запрос метода OID OID_RECEIVE_FILTER_ENUM_FILTERS. Дополнительные сведения см. в разделе Перечисление фильтров получения в драйвере miniport.
Запросите параметры критерия теста для фильтра получения в драйвере мини-порта, выполнив запрос метода OID OID_RECEIVE_FILTER_PARAMETERS. Дополнительные сведения см. в разделе Запросы к фильтрам получения в драйвере miniport.
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 структур, указывающий критерий проверки фильтра для одного поля в заголовке сетевого пакета.