структура FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)

Структура FWPS_STREAM_CALLOUT_IO_PACKET0 описывает данные, передаваемые подсистемой фильтров в функцию выноски classifyFn выноски при фильтрации потока данных.

ПримечаниеFWPS_STREAM_CALLOUT_IO_PACKET0 — это определенная версия FWPS_STREAM_CALLOUT_IO_PACKET. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .
 

Синтаксис

typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
  FWPS_STREAM_DATA0       *streamData;
  SIZE_T                  missedBytes;
  UINT32                  countBytesRequired;
  SIZE_T                  countBytesEnforced;
  FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;

Члены

streamData

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

missedBytes

Число байтов в потоке данных, отсутствующих с момента последнего вызова функции выноски classifyFn драйвера выноски. Этот элемент является ненулевым, если более высокий весовой фильтр в подсистеме фильтров не позволяет функции выноски classifyFn драйвера выноски обрабатывать часть потока данных.

countBytesRequired

Значение, заданное функцией выноски classifyFn выноски. Это значение указывает, сколько дополнительных байт потоковых данных требуется функции выноски, если она задает члену streamActionзначение FWPS_STREAM_ACTION_NEED_MORE_DATA. Подсистема фильтров ожидает получения по крайней мере этого количества дополнительных байт потоковых данных, прежде чем снова вызвать функцию выноски classifyFn драйвера выноски.

Если функция выноски classifyFn присваивает члену streamAction значение, отличное от FWPS_STREAM_ACTION_NEED_MORE_DATA, то для этого элемента должно быть задано значение 0.

countBytesEnforced

Значение, заданное функцией выноски classifyFn выноски. Это значение указывает количество байтов данных в той части потока данных, к которой применяется действие, заданное членом streamAction или действием, возвращаемым функцией выноски. Все оставшиеся данные в буфере потока будут снова переданы драйверу выноски при следующем вызове подсистемой фильтрации функции выноски classifyFn драйвера выноски.

streamAction

Значение FWPS_STREAM_ACTION_TYPE , заданное функцией выноски classifyFn выноски, которая указывает действие, которое будет применено к потоку данных. Это действие не зависит от действия, возвращаемого функцией выноски. Функция выноски classifyFn присваивает этому члену одно из следующих элементов:

FWPS_STREAM_ACTION_NONE

Не требуется никаких действий, зависящих от потока.

FWPS_STREAM_ACTION_ALLOW_CONNECTION

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

FWPS_STREAM_ACTION_NEED_MORE_DATA

Функция выноски требует больше потоковой передачи данных.

FWPS_STREAM_ACTION_DROP_CONNECTION

Подключение к потоку должно быть удалено. Функция выноски classifyFn в выноске должна задавать этому значению член streamAction только в том случае, если элемент action.typeFWPS_FILTER0 структуры, переданной подсистемой фильтрации функции выноски classifyFn драйвера выноски, содержит значение FWP_ACTION_CALLOUT_UNKNOWN. Если функция выноски classifyFn присваивает члену streamAction это значение, если элемент action.type структуры FWPS_FILTER0 содержит значение FWP_ACTION_CALLOUT_INSPECTION, соединение не будет удалено.

FWPS_STREAM_ACTION_DEFER

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

Отсрочка входящего потока данных приведет к тому, что сетевой стек перестанет получать данные, полученные от отправителя. Это приведет к уменьшению размера скользящего окна TCP. Драйвер выноски может использовать это поведение для реализации управления потоком, чтобы замедлить скорость входящих данных.

Значение FWPS_STREAM_ACTION_TYPE_MAX является максимальным значением для целей тестирования.

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

Комментарии

Модуль фильтрации передает указатель на структуру FWPS_STREAM_CALLOUT_IO_PACKET0 на функцию выноски classifyFn выноски в качестве параметра layerData при фильтрации потока данных.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows Vista.
Верхняя часть fwpsk.h (включая Fwpsk.h)

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

FWPS_STREAM_DATA0

FwpsStreamContinue0

Типы выносок

classifyFn