FWPS_VSWITCH_POLICY_EVENT_CALLBACK0回调函数 (fwpsk.h)
筛选器引擎调用 vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 标注函数,以通知标注驱动程序虚拟交换机策略事件。
语法
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 FwpsVswitchPolicyEventCallback0;
NTSTATUS FwpsVswitchPolicyEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_PARAMETERS *vSwitchPortProperty,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS *vSwitchPortPropertyDelete
)
{...}
参数
[in, optional] notifyContext
指向标注驱动程序提供的上下文的指针。 驱动程序将此指针传递给 FwpsvSwitchEventsSubscribe0 函数的 notifyContext 参数。 此参数是可选的,可以是 NULL。
[in] completionContext
指向标注驱动程序提供的完成上下文的指针。 此参数是可选的,可以是 NULL。
[in] eventType
指定为 FWPS_VSWITCH_EVENT_TYPE 枚举值之一的虚拟交换机事件的类型。 有关详细信息,请参阅“备注”。
[in] vSwitch
指向包含虚拟交换机信息的 NDIS_SWITCH_PARAMETERS 结构的指针。
[in, optional] vSwitchPortProperty
指向 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构的指针。 虚拟交换机端口属性。
[in, optional] vSwitchPortPropertyDelete
指向 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 结构的指针。 虚拟交换机端口属性。
返回值
标注的
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 描述 |
---|---|
|
标注驱动程序接受来自筛选器引擎的通知。 |
|
该作处于挂起状态,稍后将完成。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的作。 |
|
发生错误。 |
言论
标注驱动程序通过调用 FwpsvSwitchEventSubscribe0 函数注册 vSwitchPolicyEventNotifyFn 函数。
如果注册了 vSwitchPolicyEventNotifyFn 回调,则会在实时迁移期间通知目标主机上针对虚拟交换机端口配置的策略以及迁移 VM 可以在新主机上运行之前发出的标注。
如果没有实时迁移,vSwitchPolicyEventNotifyFn 也将为 VM 保存作调用。
通过 VMMS WMI 接口配置的供应商筛选策略的更改会通过 OID 请求传递到 WFP 虚拟交换机扩展。 这些 OID 具有 PropertyType 成员设置为 NdisSwitchPortPropertyTypeCustom 类型的 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_ADD OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn,并在 eventType 参数中设置FWPS_VSWITCH_EVENT_POLICY_ADD类型,以通知标注驱动程序添加虚拟交换机端口的策略属性。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_UPDATE OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn,并在 eventType 参数中设置FWPS_VSWITCH_EVENT_POLICY_UPDATE类型,以通知标注筛选器驱动程序有关虚拟交换机端口策略属性更新的信息。
这些 OID 还包括一个属性标识符 GUID,用于唯一标识策略所属的 WFP 提供程序。 当供应商通过 VMMS 配置其策略时,提供属性标识符 GUID,并且供应商用来向 WFP 注册其提供程序的 GUID 必须相同。
WFP 尝试将属性标识符 GUID 与从 FwpsvSwitchEventsSubscribe0 函数指定的提供程序 GUID 匹配。 如果有匹配项,则 WFP 将调用相应的 vSwitchPolicyEventNotifyFn,并将 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构传递给标注。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_DELETE OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn,并在 eventType 参数中设置FWPS_VSWITCH_EVENT_POLICY_DELETE类型,以通知标注筛选器驱动程序删除虚拟交换机端口的策略属性。 删除属性在 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 结构中指定。
如果标注从 vSwitchPolicyEventNotifyFn返回STATUS_PENDING,则 WFP 会将STATUS_PENDING返回到 FilterOidRequest 处理程序。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的作。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始可用。 |
目标平台 | 窗户 |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
另请参阅
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS