структура 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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по