FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0回调函数 (fwpsk.h)

筛选器引擎调用 vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) 标注函数,以通知标注驱动程序与虚拟交换机筛选器引擎重新排序相关的事件。

注意FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0特定版本的 FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK。 有关详细信息 ,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows

语法

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

参数

[in, optional] notifyContext

指向标注驱动程序提供的上下文的指针。 驱动程序将此指针传递给 FwpsvSwitchEventsSubscribe0 函数的 notifyContext 参数。 此参数是可选的,可以为 NULL。

[in] completionContext

指向标注驱动程序提供的完成上下文的指针。 此参数是可选的,可以为 NULL。

[in] isInRequiredPosition

一个 BOOLEAN 值,如果筛选器位于筛选器堆栈中的所需位置,则设置为 TRUE;否则设置为 FALSE。

[in] vSwitchExtensionLwfList

指定虚拟交换机扩展 NDIS 筛选器驱动程序列表的 NDIS_ENUM_FILTERS 结构。

返回值

标注的

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 函数返回以下 NTSTATUS 代码之一。

返回代码 说明
STATUS_SUCCESS
标注驱动程序接受来自筛选器引擎的通知。
其他状态代码
出现了错误。

注解

标注驱动程序注册

vSwitchFilterEngineReorderNotifyRn 函数通过调用
FwpsvSwitchEventsSubscribe0 函数。

默认情况下,WFP 虚拟交换机扩展定位为虚拟交换机入口处的第一个筛选扩展。 (因此,它也是虚拟交换机出口) 的最后一个扩展。 这通常是最佳位置,因为 WFP 扩展可以在任何其他扩展在入口处修改数据包之前截获数据包。 此外,在出口处完成所有数据包修改后,WFP 扩展可以截获数据包。

但是,由于管理员可以对同一类的任何虚拟交换机扩展重新排序,因此 WFP 扩展可以从默认位置重新排序。 重新排序发生后,可能会绕过 WFP 客户端的筛选器,并且可能需要进行调整。

如果注册了 vSwitchFilterEngineReorderNotifyRn 回调,则会在发生虚拟交换机重新排序时通知标注驱动程序。 标注驱动程序接收 NDIS_ENUM_FILTERS 结构,其中包含 vSwitchExtensionLwfList 参数中当前虚拟交换机扩展的有序列表。

如果虚拟交换机扩展已重新排序,则 WFP 扩展暂停 (请参阅 FilterPause) 并重启 (请参阅 FilterRestart) 。 从 WFP 筛选器 FilterRestart 调用中,WFP 筛选器驱动程序调用 NdisEnumerateFilterModules 函数以获取虚拟交换机扩展筛选器的有序列表。 如果 WFP 扩展不在默认位置,则筛选器驱动程序会通知标注驱动程序。

标注驱动程序无法从 vSwitchFilterEngineReorderNotifyRn 返回STATUS_PENDING。

要求

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

另请参阅

标注驱动程序标注函数

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete