FWPS_CALLOUT_CLASSIFY_FN0回调函数 (fwpsk.h)

每当标注处理数据时,筛选器引擎都会调用标注的 分类Fn0 标注函数。

注意分类Fn0 是 Windows Vista 及更高版本中使用的特定 分类Fn 版本。 有关详细信息 ,请参阅粮食计划署Version-Independent名称和面向特定版本的 Windows 。 对于Windows 8,可以使用分类Fn2。 对于 Windows 7,可以使用 分类Fn1
 

语法

FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;

void FwpsCalloutClassifyFn0(
  [in]      const FWPS_INCOMING_VALUES0 *inFixedValues,
  [in]      const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  [in, out] void *layerData,
  [in]      const FWPS_FILTER0 *filter,
  [in]      UINT64 flowContext,
  [in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

参数

[in] inFixedValues

指向 FWPS_INCOMING_VALUES0 结构的指针。 此结构包含所筛选层中每个数据字段的值。

[in] inMetaValues

指向 a FWPS_INCOMING_METADATA_VALUES0 结构。 此结构包含所筛选层中每个元数据字段的值。

[in, out] layerData

指向描述正在筛选层的原始数据的结构的指针。 此参数可能是 NULL,具体取决于要筛选的层以及调用 分类Fn0 标注函数的条件。 对于流层,此参数指向 FWPS_STREAM_CALLOUT_IO_PACKET0 结构。 对于所有其他层,如果参数不是 NULL,则指向NET_BUFFER_LIST结构。

[in] filter

指向 FWPS_FILTER0 结构的指针。 此结构描述指定筛选器操作标注的筛选器。

[in] flowContext

包含与数据流关联的上下文的 UINT64 类型变量。 如果没有与数据流关联的上下文,则此参数为零。 如果在不支持数据流的筛选层上将标注添加到筛选器引擎, 则分类Fn0 标注函数应忽略此参数。

[in, out] classifyOut

指向 FWPS_CLASSIFY_OUT0 结构的指针,该结构接收 分类Fn0 标注函数返回给调用方的任何数据。

返回值

备注

标注驱动程序通过调用 FwpsCalloutRegister0 函数向筛选器引擎注册标注函数。

筛选器引擎调用标注的 分类Fn0 标注函数,每当筛选引擎中指定筛选器操作标注的筛选器的所有测试条件为 true 时,都要处理数据。

标注的 分类Fn0 标注函数应清除以下任一情况下FWPS_CLASSIFY_OUT0结构 的权限 成员中的 FWPS_RIGHT_ACTION_WRITE 标志:

要求

   
最低受支持的客户端 从 Windows Vista 开始可用。
目标平台 Windows
标头 fwpsk.h (包括 Fwpsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

将上下文与数据流相关联

标注驱动程序标注函数

数据日志记录

FWPS_CALLOUT0

FWPS_CLASSIFY_OUT0

FWPS_FILTER0

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

数据包修改示例

将标注注册到筛选器引擎

使用标注进行流数据深度检测

使用标注进行深度检测

classifyFn

classifyFn1

classifyFn2