FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0回调函数 (fwpsk.h)

筛选器引擎调用 vSwitchLifetimeNotifyFn (FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0) 标注函数,以通知标注驱动程序有关创建和删除虚拟交换机的事件。

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

语法

FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0 FwpsVswitchLifetimeEventCallback0;

NTSTATUS FwpsVswitchLifetimeEventCallback0(
  [in, optional] void *notifyContext,
  [in]           FWPS_VSWITCH_EVENT_TYPE eventType,
  [in]           const NDIS_SWITCH_PARAMETERS *vSwitch,
  [in, optional] const NDIS_SWITCH_PORT_ARRAY *vSwitchPorts,
  [in, optional] const NDIS_SWITCH_NIC_ARRAY *vSwitchInterfaces
)
{...}

参数

[in, optional] notifyContext

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

[in] eventType

指定为 FWPS_VSWITCH_EVENT_TYPE 枚举值之一的虚拟交换机事件的类型。 有关详细信息,请参阅“备注”。

[in] vSwitch

指向包含虚拟交换机相关信息 的NDIS_SWITCH_PARAMETERS 结构的指针。

注意NDIS_SWITCH_PARAMETERS结构中的信息反映虚拟交换机的初始状态,不一定反映其当前状态。 具体而言,除非已触发虚拟交换机 PnP 事件, 否则 NumSwitchPortsIsActive 成员的初始值可能仍为零。 可在此回调函数的其他参数中找到当前状态信息。
 

[in, optional] vSwitchPorts

指向指定端口配置参数数组 的NDIS_SWITCH_PORT_ARRAY 结构的指针。 数组中的每个元素指定虚拟交换机上的端口的参数。

[in, optional] vSwitchInterfaces

指向 NDIS_SWITCH_NIC_ARRAY 结构的指针,该结构指定微型端口适配器配置参数的数组。 数组中的每个元素指定附加到虚拟交换机上的端口的虚拟或物理微型端口适配器的参数。

返回值

标注的

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

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

注解

标注驱动程序通过调用注册 vSwitchLifetimeNotifyFn 回调函数
FwpsvSwitchEventsSubscribe0 函数。

如果注册了 vSwitchLifetimeNotifyFn 回调,则 WFP 筛选器驱动程序在创建虚拟交换机实例时通知标注驱动程序。 一个虚拟交换机的多个实例可以同时存在于 Hyper-V 主机中。

WFP 筛选器驱动程序在 FilterRestart 函数中查询OID_SWITCH_PARAMETERS OID 以获取与虚拟交换机的当前实例关联的虚拟交换机标识符。 WFP 筛选器驱动程序还会查询 OID_SWITCH_NIC_ARRAYOID_SWITCH_PORT_ARRAY OID,以获取已配置虚拟 NIC 和虚拟端口的初始集。 WFP 筛选器驱动程序将 NDIS_SWITCH_PORT_ARRAYNDIS_SWITCH_NIC_ARRAY 结构信息从 OID 传递到 vSwitchLifetimeNotifyFn ,并在 eventType 参数中设置了FWPS_VSWITCH_EVENT_VSWITCH_CREATE。

在 WFP 筛选器驱动程序的 FilterDetach 中,筛选器调用在 eventTypevSwitchLifetimeNotifyFn 参数中设置FWPS_VSWITCH_EVENT_VSWITCH_DELETE。

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

要求

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

另请参阅

标注驱动程序标注函数

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_PORT_EVENT_CALLBACK0

FilterDetach

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_NIC_ARRAY

NDIS_SWITCH_PARAMETERS

NDIS_SWITCH_PORT_ARRAY

NdisFRestartComplete

OID_SWITCH_NIC_ARRAY

OID_SWITCH_PARAMETERS

OID_SWITCH_PORT_ARRAY