структура FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
Структура FWPS_STREAM_CALLOUT_IO_PACKET0 описывает данные, передаваемые обработчиком фильтров в функцию выноски классифицироватьFn при фильтрации потока данных.
Синтаксис
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, описывающую часть потока данных, доступную драйвера выноски, классифицируемую функцию выноскиFn для обработки.
missedBytes
Число байтов в потоке данных, отсутствующих с момента последнего вызова функции выноски драйвера классифицироватьFn. Этот элемент является ненулевой, если более высокий весовый фильтр в обработчике фильтров не позволил функции выноски драйвера классифицироватьFn от обработки части потока данных.
countBytesRequired
Значение, заданное функцией выноски классифицироватьFn. Это значение указывает, сколько дополнительных байтов данных потока требуется функции выноски, если она задает элемент streamAction streamAction значение FWPS_STREAM_ACTION_NEED_MORE_DATA. Модуль фильтров ожидает, пока он не получит по крайней мере это много дополнительных байт данных потока перед вызовом функции выноски драйвера classifyFn.
Если функция выноски классифицируетFn выноску, то элемент streamAction streamAction имеет значение, отличное от FWPS_STREAM_ACTION_NEED_MORE_DATA, то этот член должен иметь нулевое значение.
countBytesEnforced
Значение, заданное функцией выноски классифицироватьFn. Это значение указывает количество ведущих байт данных в части обрабатываемого потока данных, к которому применяется действие, указанное элементом streamAction StreamAction или действием, возвращаемым функцией выноски. Все оставшиеся данные в буфере потока будут переданы драйверу выноски снова при следующем вызове подсистемы фильтрации функции выноски драйвера classifyFn.
streamAction
Значение FWPS_STREAM_ACTION_TYPE, заданное функцией выноски классифицироватьFn, указывающую действие, применяемое к потоку данных. Это действие не зависит от действия, возвращаемого функцией выноски. Функция выноски классифицирует выноскуFn, задав этому члену одно из следующих элементов:
FWPS_STREAM_ACTION_NONE
Никаких действий, относящихся к потоку, не требуется.
FWPS_STREAM_ACTION_ALLOW_CONNECTION
Указывает, что разрешены все будущие сегменты данных, принадлежащие потоку. В этом случае МПП перестает классифицировать сегменты данных на выноску и пытается выгрузить поток на оборудование таким образом, чтобы больше не было накладных расходов на проверку.
FWPS_STREAM_ACTION_NEED_MORE_DATA
Дополнительные потоковые данные требуются функцией выноски.
FWPS_STREAM_ACTION_DROP_CONNECTION
Необходимо удалить подключение потока. Функцию выноски классифицироватьFn следует задать только элементу streamAction streamAction это значение, если action.type член структуры FWPS_FILTER0, переданной подсистеме фильтрации в функцию выноски драйвера классаifyFn, содержит значение FWP_ACTION_CALLOUT_UNKNOWN. Если функция выноски классаifyFn задает элемент streamAction streamAction этому значению, если элемент action.type структуры FWPS_FILTER0 содержит значение FWP_ACTION_CALLOUT_INSPECTION, подключение не будет удалено.
FWPS_STREAM_ACTION_DEFER
Обработка потоковых данных будет отложена до тех пор, пока драйвер выноски не вызовет функцию FwpsStreamContinue0. Это действие можно задать только для входящего потока данных.
Отложение входящего потока данных приведет к остановке сетевого стека подтверждения данных, полученных от отправителя. Это приведет к сокращению размера скользящего окна TCP. Драйвер выноски может использовать это поведение для реализации управления потоком для замедления скорости входящих данных.
Значение FWPS_STREAM_ACTION_TYPE_MAX является максимальным значением для тестирования.
Если функция выноски классифицируетFn выноску, задает этому члену значение, отличное от FWPS_STREAM_ACTION_NONE, то действие, возвращаемое функцией выноски, игнорируется обработчиком фильтров.
Замечания
Модуль фильтрации передает указатель на структуру FWPS_STREAM_CALLOUT_IO_PACKET0 в функцию выноски классифицироватьFn в качестве параметра layerData при фильтрации потока данных.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Vista. |
заголовка | fwpsk.h (include Fwpsk.h) |