FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0回调函数 (fwpsk.h)
筛选器引擎调用 vSwitchLifetimeNotifyFn (FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0) 标注函数,以通知标注驱动程序为虚拟交换机创建和删除事件。
语法
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 结构的指针。
[in, optional] vSwitchPorts
指向指定端口配置参数数组的 NDIS_SWITCH_PORT_ARRAY 结构的指针。 数组中的每个元素指定虚拟交换机上的端口的参数。
[in, optional] vSwitchInterfaces
指向指定微型端口适配器配置参数数组的 NDIS_SWITCH_NIC_ARRAY 结构的指针。 数组中的每个元素指定附加到虚拟交换机上的端口的虚拟或物理微型端口适配器的参数。
返回值
标注的
FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 描述 |
---|---|
|
标注驱动程序接受来自筛选器引擎的通知。 |
|
发生错误。 |
言论
标注驱动程序通过调用注册 vSwitchLifetimeNotifyFn 回调函数
FwpsvSwitchEventsSubscribe0 函数。
如果注册了 vSwitchLifetimeNotifyFn 回调,则 WFP 筛选器驱动程序会在创建虚拟交换机实例时通知标注驱动程序。 虚拟交换机的多个实例可以同时存在于 Hyper-V 主机中。
WFP 筛选器驱动程序在 FilterRestart 函数中查询 OID_SWITCH_PARAMETERS OID,以获取与虚拟交换机的当前实例关联的虚拟交换机标识符。 WFP 筛选器驱动程序还会查询 OID_SWITCH_NIC_ARRAY 和 OID_SWITCH_PORT_ARRAY OID 以获取初始配置的虚拟 NIC 和虚拟端口集。 WFP 筛选器驱动程序将 OID 中的 NDIS_SWITCH_PORT_ARRAY 和 NDIS_SWITCH_NIC_ARRAY 结构信息传递给 vSwitchLifetimeNotifyFn,并在 eventType 参数中设置FWPS_VSWITCH_EVENT_VSWITCH_CREATE。
在 WFP 筛选器驱动程序的 FilterDetach中,筛选器调用在 eventTypevSwitchLifetimeNotifyFn 参数中设置FWPS_VSWITCH_EVENT_VSWITCH_DELETE。
标注驱动程序无法从 vSwitchLifetimeNotifyFn返回STATUS_PENDING。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始可用。 |
目标平台 | 窗户 |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |