структура FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
Структура FWPS_STREAM_CALLOUT_IO_PACKET0 описывает данные, передаваемые подсистемой фильтров в функцию выноски classifyFn выноски при фильтрации потока данных.
Синтаксис
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) |