FWPS_CALLOUT_NOTIFY_FN0回调函数 (fwpsu.h)
筛选器引擎调用标注的 notifyFn0 标注函数,以通知标注驱动程序与标注关联的事件。
注意
notifyFn0 是 Windows Vista 及更高版本中使用的 notifyFn 的特定版本。 有关详细信息,请参阅 WFP 版本无关的名称和面向特定版本的 Windows。 对于 Windows 8, 可以使用 notifyFn2 。 对于 Windows 7, 可以使用 notifyFn1 。
语法
FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;
NTSTATUS FwpsCalloutNotifyFn0(
FWPS_CALLOUT_NOTIFY_TYPE notifyType,
const GUID *filterKey,
FWPS_FILTER0 *filter
)
{...}
参数
notifyType
一个 值,该值指示筛选器引擎向标注发送的通知的类型。 此参数的有效值是:
FWPS_CALLOUT_NOTIFY_ADD_FILTER。 正在向筛选器引擎添加一个筛选器,该引擎指定筛选器操作的标注。
FWPS_CALLOUT_NOTIFY_DELETE_FILTER。 正在从筛选器引擎中删除筛选器,该引擎指定筛选器操作的标注。
FWPS_CALLOUT_NOTIFY_TYPE_MAX。 用于测试的最大值。
filterKey
指向筛选器的管理标识符的指针,由添加或删除筛选器的应用程序或驱动程序指定。 如果 notifyType 参数设置为 FWPS_CALLOUT_NOTIFY_DELETE_FILTER,则必须为 NULL。 有关详细信息,请参阅“备注”。
filter
指向 FWPS_FILTER0 结构的指针。 此结构描述要添加到筛选器引擎或从筛选器引擎中删除的筛选器。
将筛选器添加到筛选器引擎时,标注的 notifyFn0 标注函数可以将此结构的 上下文 成员设置为指向标注驱动程序提供的上下文结构。 此上下文结构对筛选器引擎不透明,标注驱动程序的 classifyFn0 标注函数可用于保留筛选器引擎调用到标注驱动程序的 classifyFn0 标注函数之间的任何特定于驱动程序的数据或状态信息。
从筛选器引擎中删除筛选器时,标注的 notifyFn0 标注函数可以清理与筛选器关联的任何上下文。
返回值
标注的 notifyFn0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 说明 |
---|---|
STATUS_SUCCESS | 标注驱动程序接受来自筛选器引擎的通知。 |
其他状态代码 | 出现了错误。 如果 notifyType 参数 FWPS_CALLOUT_NOTIFY_ADD_FILTER,筛选器将不会添加到筛选器引擎。 如果 notifyType 参数 FWPS_CALLOUT_NOTIFY_DELETE_FILTER,筛选器仍将从筛选器引擎中删除。 |
注解
标注驱动程序通过调用 FwpsCalloutRegister0 函数将标注的标注函数注册到筛选器引擎。
筛选器引擎调用标注的 notifyFn0 标注函数,以通知标注驱动程序与标注关联的事件。 如果标注驱动程序的 notifyFn0 标注函数无法识别在 notifyType 参数中传递的通知类型,它将忽略通知并返回 STATUS_SUCCESS。
如果在为筛选器操作指定标注的筛选器已添加到筛选器引擎后,标注驱动程序向筛选器引擎注册标注,则筛选器引擎不会调用标注驱动程序的 notifyFn0 标注函数来通知标注任何现有筛选器。 筛选器引擎调用标注驱动程序的 notifyFn0 标注函数,以便在为筛选器操作指定标注的新筛选器添加到筛选器引擎时通知标注。 在这种情况下,对于指定筛选器操作的标注的筛选器引擎中的每个筛选器,可能无法调用标注的 notifyFn0 标注函数。 如果标注驱动程序在启动筛选器引擎后注册了标注,并且标注需要了解筛选器引擎中指定筛选器操作标注的每个筛选器,则标注驱动程序必须调用相应的管理功能来枚举筛选器引擎中的所有筛选器,并在生成的筛选器列表中排序,以查找为筛选器操作指定标注的筛选器。 有关 调用这些函数的详细信息,请参阅调用其他 Windows 筛选平台 函数。
从筛选器引擎中删除指定筛选器操作标注的筛选器时,筛选器引擎将调用标注驱动程序的 notifyFn0 标注函数,并在 notifyType 参数中传递FWP_CALLOUT_NOTIFY_DELETE_FILTER,在 filterKey 参数中传递 NULL 。 有关详细信息,请参阅 处理通知标注。
要求
要求 | 值 |
---|---|
Header | fwpsu.h |