FWPS_CALLOUT0结构(fwpsk.h)
FWPS_CALLOUT0 结构定义标注驱动程序向筛选器引擎注册标注所需的数据。
语法
typedef struct FWPS_CALLOUT0_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN0 classifyFn;
FWPS_CALLOUT_NOTIFY_FN0 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT0;
成员
calloutKey
标注驱动程序定义的 GUID,用于唯一标识标注。
flags
指定标注特定参数的标志。 可能的标志包括:
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
标注驱动程序可以在注册将在支持数据流的层中添加的标注时指定此标志。 如果指定了此标志,筛选器引擎仅当存在与数据流关联的上下文时,筛选器引擎才会调用标注驱动程序的 分类Fn0 标注函数。 标注驱动程序通过调用 FwpsFlowAssociateContext0 函数将上下文与数据流相关联。
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
标注驱动程序指定此标志,以指示标注驱动程序的 分类Fn0 标注函数不受影响,方法是将网络数据处理卸载到支持卸载的网络接口卡(NIC)。 如果未指定此标志,则会禁用网络数据处理的卸载,所有由指定筛选器作标注的筛选器处理的所有流量都会禁用。
classifyFn
指向标注驱动程序的 分类Fn0 标注函数的指针。 每当标注要处理网络数据时,筛选器引擎都会调用此函数。
notifyFn
指向标注驱动程序 notifyFn0 函数的指针。 筛选器引擎调用此函数,以通知标注驱动程序与标注关联的事件。
flowDeleteFn
指向标注驱动程序的 flowDeleteFn 标注函数的指针。 每当调用正在处理的数据流终止时,筛选器引擎就会调用此函数。
如果标注驱动程序未将上下文与标注处理的数据流相关联,则应将此成员设置为 NULL。
言论
标注驱动程序在向筛选器引擎注册标注时,将指向初始化的 FWPS_CALLOUT0 结构的指针传递给 FwpsCalloutRegister0 函数。
标注只能为驱动程序有兴趣执行流检查的连接设置 FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 标志。 所有其他连接上将忽略此标注。 性能将得到改进,驱动程序无需维护不必要的状态数据。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
标头 | fwpsk.h (包括 Fwpsk.h) |