структура NDIS_FILTER_INTERFACE (ndis.h)

Структура NDIS_FILTER_INTERFACE определяет атрибуты для фильтра NDIS.

Синтаксис

typedef struct _NDIS_FILTER_INTERFACE {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              FilterType;
  ULONG              FilterRunType;
  NET_IFINDEX        IfIndex;
  NET_LUID           NetLuid;
  NDIS_STRING        FilterClass;
  NDIS_STRING        FilterInstanceName;
} NDIS_FILTER_INTERFACE, *PNDIS_FILTER_INTERFACE;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры интерфейса фильтра.

NDIS задает элемент Type структуры, указанной заголовком , NDIS_OBJECT_TYPE_DEFAULT.

Если дескриптор, передаваемый в NdisEnumerateFilterModules , принадлежит объекту NDIS 6.30 или более поздней версии, то NDIS задает для параметра Revision значение NDIS_FILTER_INTERFACE_REVISION_2, а для параметра Size — значение NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2.

Если дескриптор, передаваемый в NdisEnumerateFilterModules , принадлежит объекту NDIS 6.20 или более ранней версии, то NDIS задает для параметра Revision значение NDIS_FILTER_INTERFACE_REVISION_1, а для параметра Size — значение NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1.

Flags

Битовое поле, определяющее тип драйвера NDIS, реализующего фильтр. Для этого элемента необходимо задать один из следующих типов драйверов:

NDIS_FILTER_INTERFACE_IM_FILTER

Фильтр реализован в промежуточном драйвере фильтра NDIS 5.1 или более ранней версии.

NDIS_FILTER_INTERFACE_LW_FILTER

Фильтр реализован в драйвере фильтра NDIS 6.0 или более поздней версии.

NDIS_FILTER_INTERFACE_SEND_BYPASS

В настоящее время фильтр не подключен к пути отправки. Этот флаг устанавливается только в том случае, если значение Header.Revision больше или равно NDIS_FILTER_INTERFACE_REVISION_2.

NDIS_FILTER_INTERFACE_RECEIVE_BYPASS

В настоящее время фильтр не подключен к пути получения. Этот флаг устанавливается только в том случае, если значение Header.Revision больше или равно NDIS_FILTER_INTERFACE_REVISION_2.

FilterType

Тип поведения для фильтра. Этот тип должен иметь одно из следующих значений:

NdisFilterTypeMonitoring = 1

Фильтр мониторинга.

NdisFilterTypeModifying = 2

Изменяющийся фильтр.

FilterRunType

Тип приоритета вложений среды выполнения для фильтра. Этот тип должен иметь одно из следующих значений:

NdisFilterRunTypeMandatory = 1

Обязательный фильтр. Если фильтр не подключается к стеку драйверов, NDIS удаляет остальную часть стека.

NdisFilterRunTypeOptional = 2

Необязательный фильтр. Если фильтр не присоединяется к стеку драйверов, NDIS не будет удалять остальную часть стека.

IfIndex

Индекс интерфейса NDIS модуля фильтра.

NetLuid

Значение NET_LUID , назначенное модулю фильтра. NET_LUID эквивалентен имени интерфейса (ifName в RFC 2863).

FilterClass

Строка ЮНИКОДа, задающая класс фильтра. Эта строка совпадает с записью INF-файла FilterClass .

FilterInstanceName

Имя экземпляра фильтра.

Комментарии

TheФункция NdisEnumerateFilterModules возвращает одну NDIS_FILTER_INTERFACE структуру для каждого фильтра в стеке драйверов. Элемент Flags определяет фильтр как промежуточный драйвер фильтра NDIS 5.1 или более ранней версии или модуль фильтра NDIS 6.0 или более поздней версии.

Легкий фильтр может динамически вставлять или удалять себя из пути отправки или получения путем вызова NdisFRestartFilter и предоставления структуры NDIS_FILTER_PARTIAL_CHARACTERISTICS для NdisSetOptionalHandlers.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

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

NDIS_OBJECT_HEADER

NET_LUID

NdisEnumerateFilterModules