OID_GEN_CURRENT_PACKET_FILTER

В качестве запроса OID_GEN_CURRENT_PACKET_FILTER OID сообщает типы сетевых пакетов, которые находятся в состоянии получения показаний от драйвера мини-порта.

В качестве набора идентификатор OID OID_GEN_CURRENT_PACKET_FILTER указывает типы сетевых пакетов, для которых протокол получает указания от драйвера мини-порта.

Сведения о версии

Windows Vista и более поздние версии Windows
Поддерживается.

Драйверы мини-портов NDIS 6.0 и более поздних версий
Mandatory. (см. раздел "Примечания")

Драйверы минипорта NDIS 5.1
Mandatory.

Windows XP
Поддерживается.

Драйверы минипорта NDIS 5.1
Mandatory.

Комментарии

Для драйверов NDIS 6.0 и более поздних версий мини-порта запрос не запрашивается, а набор является обязательным. NDIS обрабатывает запрос для драйверов мини-портов. Драйвер мини-порта сообщает сведения о фильтре пакетов во время инициализации.

Драйвер мини-порта сообщает о своем среднем типе как о типе, для которого система предоставляет библиотеку фильтров. Фильтр пакетов использует операцию OR для объединения следующих типов:

NDIS_PACKET_TYPE_DIRECTED
Направленные пакеты. Направленные пакеты содержат адрес назначения, равный адресу станции сетевого адаптера.

NDIS_PACKET_TYPE_MULTICAST
Пакеты адресов многоадресной рассылки, отправленные адресам в списке адресов многоадресной рассылки.

Драйвер протокола может получать многоадресные пакеты Ethernet (802.3), указав тип пакета многоадресной рассылки или функционального адреса. Настройка списка адресов многоадресной рассылки или функционального адреса определяет, какие группы адресов многоадресной рассылки включает драйвер сетевой карты.

NDIS_PACKET_TYPE_ALL_MULTICAST
Все пакеты адресов многоадресной рассылки, а не только те, которые перечислены в списке адресов многоадресной рассылки.

NDIS_PACKET_TYPE_BROADCAST
Широковещательные пакеты.

NDIS_PACKET_TYPE_PROMISCUOUS
Указывает все пакеты независимо от того, включена ли фильтрация виртуальных ЛС и совпадает ли идентификатор виртуальной ЛС.

NDIS_PACKET_TYPE_ALL_FUNCTIONAL
Все пакеты функциональных адресов, а не только те, которые находятся в текущем функциональном адресе.

NDIS_PACKET_TYPE_ALL_LOCAL
Все пакеты, отправленные установленными протоколами, и все пакеты, указанные сетевым адаптером, который идентифицируется заданным NdisBindingHandle .

NDIS_PACKET_TYPE_FUNCTIONAL
Пакеты функциональных адресов, отправленные на адреса, включенные в текущий функциональный адрес.

NDIS_PACKET_TYPE_GROUP
Пакеты, отправленные на текущий адрес группы.

NDIS_PACKET_TYPE_MAC_FRAME
Кадры драйвера сетевой карты, которые получает сетевой адаптер кольца токенов.

NDIS_PACKET_TYPE_SMT
Пакеты SMT, которые получает сетевой адаптер FDDI.

NDIS_PACKET_TYPE_SOURCE_ROUTING
Все пакеты маршрутизации источника. Если драйвер протокола задает этот бит, библиотека NDIS пытается выступать в качестве моста маршрутизации источника.

Для мини-адаптеров, тип носителя которых NdisMedium802_3 илиNdisMedium802_5, NDIS отключает прием пакетов, а также многоадресную рассылку и функциональные адреса во время вызова функции NdisOpenAdapterEx .

Для адаптеров мини-порта со всеми другими типами мультимедиа драйвер протокола может начать получать пакеты в любое время во время вызова NdisOpenAdapterEx . Обратите внимание, что протокол может даже получать пакеты до возврата NdisOpenAdapterEx . Как правило, фильтрация пакетов — это лучшие усилия, и драйверы протоколов должны быть готовы к обработке признаков получения, даже если фильтр пакетов равен нулю.

Для запроса NDIS возвращает фильтры привязки, объединенные с помощью оператора OR.

Для набора указанный фильтр пакетов заменяет предыдущий фильтр пакетов для привязки. Если драйвер мини-порта ранее включил тип пакета, но драйвер протокола не указал этот тип в новом фильтре, драйвер протокола не будет получать пакеты этого типа.

Для адаптеров мини-порта с типом мультимедиа NdisMedium802_3 или NdisMedium802_5, если драйвер мини-порта не задает бит для определенного типа пакетов в ответ на этот запрос, драйвер протокола не будет получать пакеты этого типа. Следовательно, драйвер протокола может отключить прием пакетов, вызвав функцию NdisOidRequest или NdisCoOidRequest с помощью нулевого фильтра.

Для адаптеров miniport со всеми другими типами мультимедиа NDIS не проверка тип пакета. Для этих типов носителей драйвер протокола не может отключить прием пакетов, указав нулевой фильтр.

При вызове функции MiniportInitializeEx драйвера miniport необходимо задать нулевое значение фильтра пакетов драйвера miniport. Если фильтр пакетов равен нулю, признаки получения отключаются. После возврата функции MiniportInitializeEx драйвера мини-порта драйвер протокола может задать OID_GEN_CURRENT_PACKET_FILTER ненулевое значение, тем самым позволяя драйверу минипорта указывать полученные пакеты для этого протокола.

Если неразборчивый режим включен с NDIS_PACKET_TYPE_PROMISCUOUS битом, драйвер протокола продолжает получать пакеты, даже если отправляя сетевой узел не направляет их в него. Затем NDIS отправляет драйверу протокола все пакеты, получаемые сетевой картой.

Установка определенного фильтра пакетов не изменяет фильтр пакетов для других драйверов протокола, привязанных к той же сетевой адаптеру или выше. Например, если один связанный протокол включает неразборчивый режим, другие связанные драйверы протокола не получают пакеты, которые они специально не запрашивали с помощью собственных фильтров пакетов.

Собственные фильтры пакетов 802.11

Драйвер мини-порта Native 802.11 должен поддерживать только следующие стандартные типы фильтров пакетов:

  • NDIS_PACKET_TYPE_DIRECTED

  • NDIS_PACKET_TYPE_MULTICAST

  • NDIS_PACKET_TYPE_BROADCAST

  • NDIS_PACKET_TYPE_PROMISCUOUS

Если этот параметр включен, эти стандартные фильтры пакетов применимы только к пакетам данных 802.11.

Кроме того, собственный драйвер мини-порта 802.11 должен поддерживать следующие типы фильтров пакетов, относящиеся к носителю Native 802.11:

NDIS_PACKET_TYPE_802_11_RAW_DATA
Кадр mpdu (802.11) управления доступом к мультимедиа (MAC), который содержит все данные в формате, полученном станцией 802.11. Если этот фильтр задан, драйвер должен указать каждый неизмененные фрагменты MPDU, прежде чем он указывает, что пакет службы MAC (MSDU) будет повторно сбран из фрагментов MPDU.

Если фрагмент MPDU зашифрован, он не должен расшифровывать его, прежде чем он будет указан. Однако драйвер мини-порта должен расшифровать каждый фрагмент MPDU перед повторной сборкой и указанием пакета MSDU.

Если этот параметр включен, этот тип фильтра влияет только на другие стандартные фильтры пакетов, такие как NDIS_PACKET_TYPE_DIRECTED или NDIS_PACKET_TYPE_BROADCAST.

Дополнительные сведения о методе указания необработанных пакетов данных 802.11 см. в разделе Указание необработанных пакетов 802.11.

NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
Направлены пакеты управления 802.11. Направленные пакеты содержат адрес назначения, равный адресу станции сетевого адаптера.

NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
Пакеты управления многоадресной рассылки 802.11, отправленные на адреса в списке адресов многоадресной рассылки.

NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
Все пакеты управления многоадресной рассылки 802.11, полученные станцией 802.11, независимо от того, находится ли целевой адрес в заголовке MAC 802.11 в списке адресов многоадресной рассылки.

NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
Широковещательная передача пакетов управления 802.11, полученных станцией 802.11.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
Все пакеты управления 802.11, полученные станцией 802.11.

NDIS_PACKET_TYPE_802_11_RAW_MGMT
Кадр управления MPDU 802.11, который содержит все данные в формате, полученном станцией 802.11. Если этот фильтр задан, драйвер должен указать каждый неизмененные фрагменты MPDU, прежде чем он указывает на пакет MMPDU, повторно собираемый из фрагментов MPDU.

Если этот параметр включен, этот тип фильтра влияет только на другие фильтры пакетов управления 802.11, такие как NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT или NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT.

Дополнительные сведения о методе указания необработанных пакетов управления 802.11 см. в разделе Указание необработанных пакетов 802.11.

NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
Направлены управляющие пакеты 802.11. Направленные пакеты содержат адрес назначения, равный адресу станции сетевого адаптера.

NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
Трансляция контрольных пакетов 802.11, полученных станцией 802.11.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
Все управляющие пакеты 802.11, полученные станцией 802.11.

Если драйвер мини-порта работает в режиме собственного сетевого монитора 802.11 (NetMon) или точки доступа (AP), драйвер должен включить следующие фильтры пакетов с помощью запроса набора OID_GEN_CURRENT_PACKET_FILTER.

  • NDIS_PACKET_TYPE_PROMISCUOUS

  • NDIS_PACKET_TYPE_802_11_RAW_DATA

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT

  • NDIS_PACKET_TYPE_802_11_RAW_MGMT

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL

Драйвер мини-порта, работающий в других режимах Native 802.11, помимо NetMon, не должен включать эти параметры фильтра пакетов, за исключением NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL. Драйвер мини-порта, который не работает в режиме NetMon, может дополнительно включить NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL с помощью запроса набора OID_GEN_CURRENT_PACKET_FILTER.

Примечание Если драйвер мини-порта находится в режиме Native 802.11, отличном от NetMon, и OID_GEN_CURRENT_PACKET_FILTER задано, драйвер не должен завершить запрос на установку, если в данных OID включены какие-либо неразборчивые или необработанные параметры фильтра.

Дополнительные сведения о режимах работы NetMon и ExtAP см. в следующих разделах:

Режим работы сетевого монитора

Режим работы расширяемой точки доступа

Требования

Заголовок

Ntddndis.h (включая Ndis.h)

См. также раздел

MiniportInitializeEx

NdisCoOidRequest

NdisOidRequest

NdisOpenAdapterEx