fwpsk.h) (FWPS_STREAM_CALLOUT_IO_PACKET0 结构
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 以外的值,则它应将此成员设置为零。
countBytesEnforced
由标注的 classifyFn 标注函数设置的值。 此值指定由 streamAction 成员指定的操作或标注函数返回的操作所应用到的数据流中正在处理的部分中数据的前导字节数。 下次筛选器引擎调用标注驱动程序的 classifyFn 标注函数时,流缓冲区中的任何剩余数据都将再次传递到标注驱动程序。
streamAction
FWPS_STREAM_ACTION_TYPE由标注的 classifyFn 标注函数设置的值,该值指定要应用于数据流的操作。 此操作独立于标注函数返回的操作。 标注的 classifyFn 标注函数将此成员设置为下列值之一:
FWPS_STREAM_ACTION_NONE
不需要特定于流的操作。
FWPS_STREAM_ACTION_ALLOW_CONNECTION
指示允许属于某个流的所有未来数据段。 在这种情况下,WFP 停止对任何数据段进行标注分类,并尝试将流卸载到硬件,这样就不会产生更多的检查开销。
FWPS_STREAM_ACTION_NEED_MORE_DATA
标注函数需要更多的流数据。
FWPS_STREAM_ACTION_DROP_CONNECTION
应删除流连接。 如果筛选器引擎传递给标注驱动程序的 classifyFn 标注函数的FWPS_FILTER0结构的 action.type 成员包含值FWP_ACTION_CALLOUT_UNKNOWN,则标注的 classifyFn 标注函数应仅将 streamAction 成员设置为此值。 如果在FWPS_FILTER0结构的 action.type 成员包含值FWP_ACTION_CALLOUT_INSPECTION时,标注的 classifyFn 标注函数将 streamAction 成员设置为此值,则不会断开连接。
FWPS_STREAM_ACTION_DEFER
流数据的处理将延迟到标注驱动程序调用 FwpsStreamContinue0 函数。 只能为入站数据流设置此操作。
延迟入站数据流将导致网络堆栈停止确认从发送方收到的数据。 这将导致滑动 TCP 窗口的大小减小。 标注驱动程序可以使用此行为来实现流控制,以降低传入数据速率。
FWPS_STREAM_ACTION_TYPE_MAX值是用于测试的最大值。
如果标注的 classifyFn 标注函数将此成员设置为 除 FWPS_STREAM_ACTION_NONE 以外的值,则筛选器引擎将忽略标注函数返回的操作。
注解
筛选数据流时,筛选器引擎将指向FWPS_STREAM_CALLOUT_IO_PACKET0结构的指针作为 layerData 参数传递给标注的 classifyFn 标注函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows Vista 开始可用。 |
标头 | fwpsk.h (包括 Fwpsk.h) |