FWPS_CALLOUT_NOTIFY_FN1回调函数 (fwpsk.h)

筛选器引擎调用标注的 notifyFn1 标注函数,以通知标注驱动程序与标注关联的事件。

注意,notifyFn1 是 Windows 7 及更高版本中使用的特定版本的 notifyFn。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows。 对于 Windows 8,notifyFn2 可用。 对于 Windows Vista,notifyFn0 可用。
 

语法

FWPS_CALLOUT_NOTIFY_FN1 FwpsCalloutNotifyFn1;

NTSTATUS FwpsCalloutNotifyFn1(
  [in] FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in] const GUID *filterKey,
  [in] FWPS_FILTER1 *filter
)
{...}

参数

[in] notifyType

一个值,该值指示筛选器引擎发送到标注的通知类型。 此参数的有效值为:

FWPS_CALLOUT_NOTIFY_ADD_FILTER

正在将筛选器添加到筛选器引擎,该筛选器指定筛选器作的标注。

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

正在从筛选器引擎中删除筛选器,该筛选器指定筛选器作的标注。

FWPS_CALLOUT_NOTIFY_TYPE_MAX

用于测试目的的最大值。

[in] filterKey

指向筛选器的管理标识符的指针,由添加或删除筛选器的应用程序或驱动程序指定。 如果 notifyType 参数设置为FWPS_CALLOUT_NOTIFY_DELETE_FILTER,则必须 NULL。 有关详细信息,请参阅“备注”。

[in] filter

指向 FWPS_FILTER1 结构的指针。 此结构描述在筛选引擎中添加或删除的筛选器。

标注驱动程序的 notifyFn1 函数可以将此结构的 上下文 成员设置为将筛选器添加到筛选器引擎时指向标注驱动程序提供的上下文结构。 此上下文结构对筛选器引擎不透明,标注驱动程序的 分类Fn1 标注函数可以使用它来保留筛选器引擎对标注驱动程序的调用之间的任何特定于驱动程序的数据或状态信息
分类Fn1 标注函数。

标注驱动程序的 notifyFn1 函数可以在从筛选器引擎中删除筛选器时清除与筛选器关联的任何上下文。

返回值

标注的 notifyFn1 函数返回以下 NTSTATUS 代码之一。

返回代码 描述
STATUS_SUCCESS
标注驱动程序接受来自筛选器引擎的通知。
其他状态代码
发生错误。 如果 notifyType 参数FWPS_CALLOUT_NOTIFY_ADD_FILTER,则筛选器将不会添加到筛选器引擎。 如果FWPS_CALLOUT_NOTIFY_DELETE_FILTER notifyType 参数,则筛选器仍将从筛选器引擎中删除。

言论

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

筛选器引擎调用标注驱动程序的 notifyFn1 函数,以通知标注驱动程序与标注关联的事件。 如果标注驱动程序的 notifyFn1 函数无法识别在 notifyType 参数中传递的通知类型,则应忽略通知并返回STATUS_SUCCESS。

如果标注驱动程序在筛选器指定筛选器作标注的筛选器已添加到筛选器引擎后向筛选器引擎注册标注,则筛选器引擎不会调用标注驱动程序的 notifyFn1 函数来通知标注是否有任何现有筛选器。 筛选器引擎调用标注驱动程序的 notifyFn1 函数,以便在将指定筛选器作标注的新筛选器添加到筛选器引擎时通知标注。 在这种情况下,标注的 notifyFn1 函数可能不会为筛选器引擎中的每个筛选器调用,该筛选器引擎指定筛选器作的标注。 如果标注驱动程序在启动筛选器引擎后注册标注,并且标注需要知道筛选器引擎中指定筛选器作标注的每个筛选器,则标注驱动程序必须调用相应的管理功能来枚举筛选器引擎中的所有筛选器并排序生成的筛选器列表,以查找为筛选器作指定标注的筛选器。 有关调用这些函数的详细信息,请参阅 调用其他 Windows 筛选平台函数

当从筛选器引擎中删除指定筛选器作标注的筛选器时,筛选器引擎将调用标注驱动程序的 notifyFn1 函数,并在 notifyType 参数中传递FWP_CALLOUT_NOTIFY_DELETE_FILTER,并在 filterKey 参数中 NULL。 有关详细信息,请参阅 处理通知标注

要求

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

另请参阅

标注驱动程序标注函数

FWPS_CALLOUT0

FWPS_FILTER1

FwpsCalloutRegister1

notifyFn

notifyFn0

notifyFn2